Tunglies
09f14c23e4
fix: update required service version to 1.1.1
2025-08-30 11:02:58 +08:00
Tunglies
355a18e5eb
refactor(async): migrate from sync-blocking async execution to true async with unified AsyncHandler::spawn ( #4502 )
...
* feat: replace all tokio::spawn with unified AsyncHandler::spawn
- 🚀 Core Improvements:
* Replace all tokio::spawn calls with AsyncHandler::spawn for unified Tauri async task management
* Prioritize converting sync functions to async functions to reduce spawn usage
* Use .await directly in async contexts instead of spawn
- 🔧 Major Changes:
* core/hotkey.rs: Use AsyncHandler::spawn for hotkey callback functions
* module/lightweight.rs: Async lightweight mode switching
* feat/window.rs: Convert window operation functions to async, use .await internally
* feat/proxy.rs, feat/clash.rs: Async proxy and mode switching functions
* lib.rs: Window focus handling with AsyncHandler::spawn
* core/tray/mod.rs: Complete async tray event handling
- ✨ Technical Advantages:
* Unified task tracking and debugging capabilities (via tokio-trace feature)
* Better error handling and task management
* Consistency with Tauri runtime
* Reduced async boundaries for better performance
- 🧪 Verification:
* Compilation successful with 0 errors, 0 warnings
* Maintains complete original functionality
* Optimized async execution flow
* feat: complete tokio fs migration and replace tokio::spawn with AsyncHandler
🚀 Major achievements:
- Migrate 8 core modules from std::fs to tokio::fs
- Create 6 Send-safe wrapper functions using spawn_blocking pattern
- Replace all tokio::spawn calls with AsyncHandler::spawn for unified async task management
- Solve all 19 Send trait compilation errors through innovative spawn_blocking architecture
🔧 Core changes:
- config/profiles.rs: Add profiles_*_safe functions to handle Send trait constraints
- cmd/profile.rs: Update all Tauri commands to use Send-safe operations
- config/prfitem.rs: Replace append_item calls with profiles_append_item_safe
- utils/help.rs: Convert YAML operations to async (read_yaml, save_yaml)
- Multiple modules: Replace tokio::task::spawn_blocking with AsyncHandler::spawn_blocking
✅ Technical innovations:
- spawn_blocking wrapper pattern resolves parking_lot RwLock Send trait conflicts
- Maintain parking_lot performance while achieving Tauri async command compatibility
- Preserve backwards compatibility with gradual migration strategy
🎯 Results:
- Zero compilation errors
- Zero warnings
- All async file operations working correctly
- Complete Send trait compliance for Tauri commands
* feat: refactor app handle and command functions to use async/await for improved performance
* feat: update async handling in profiles and logging functions for improved error handling and performance
* fix: update TRACE_MINI_SIZE constant to improve task logging threshold
* fix(windows): convert service management functions to async for improved performance
* fix: convert service management functions to async for improved responsiveness
* fix(ubuntu): convert install and reinstall service functions to async for improved performance
* fix(linux): convert uninstall_service function to async for improved performance
* fix: convert uninstall_service call to async for improved performance
* fix: convert file and directory creation calls to async for improved performance
* fix: convert hotkey functions to async for improved responsiveness
* chore: update UPDATELOG.md for v2.4.1 with major improvements and performance optimizations
2025-08-26 01:49:51 +08:00
Tunglies
537d27d10b
fix: clippy errors with new config ( #4428 )
...
* refactor: improve code quality with clippy fixes and standardized logging
- Replace dangerous unwrap()/expect() calls with proper error handling
- Standardize logging from log:: to logging\! macro with Type:: classifications
- Fix app handle panics with graceful fallback patterns
- Improve error resilience across 35+ modules without breaking functionality
- Reduce clippy warnings from 300+ to 0 in main library code
* chore: update Cargo.toml configuration
* refactor: resolve all clippy warnings
- Fix Arc clone warnings using explicit Arc::clone syntax across 9 files
- Add #[allow(clippy::expect_used)] to test functions for appropriate expect usage
- Remove no-effect statements from debug code cleanup
- Apply clippy auto-fixes for dbg\! macro removals and path statements
- Achieve zero clippy warnings on all targets with -D warnings flag
* chore: update Cargo.toml clippy configuration
* refactor: simplify macOS job configuration and improve caching
* refactor: remove unnecessary async/await from service and proxy functions
* refactor: streamline pnpm installation in CI configuration
* refactor: simplify error handling and remove unnecessary else statements
* refactor: replace async/await with synchronous locks for core management
* refactor: add workflow_dispatch trigger to clippy job
* refactor: convert async functions to synchronous for service management
* refactor: convert async functions to synchronous for UWP tool invocation
* fix: change wrong logging
* refactor: convert proxy restoration functions to async
* Revert "refactor: convert proxy restoration functions to async"
This reverts commit b82f5d250b .
* refactor: update proxy restoration functions to return Result types
* fix: handle errors during proxy restoration and update async function signatures
* fix: handle errors during proxy restoration and update async function signatures
* refactor: update restore_pac_proxy and restore_sys_proxy functions to async
* fix: convert restore_pac_proxy and restore_sys_proxy functions to async
* fix: await restore_sys_proxy calls in proxy restoration logic
* fix: suppress clippy warnings for unused async functions in proxy restoration
* fix: suppress clippy warnings for unused async functions in proxy restoration
2025-08-18 02:02:25 +08:00
Tunglies
764ef48fd1
refactor(Draft): Replace latest() with latest_ref() and data() with data_mut() in multiple files for improved mutability handling and consistency across the codebase ( #3987 )
...
* feat: add benchmarking for draft operations and new draft management structure
* Refactor Config Access: Replace `latest()` with `latest_ref()` and `data()` with `data_mut()` in multiple files for improved mutability handling and consistency across the codebase.
* refactor: remove DraftNew implementation and related benchmarks for cleaner codebase
2025-07-04 22:43:23 +08:00
Dyna
7b5afb7afe
Add cors ( #3909 )
...
* add external `cors` control panel
* optimize format
* fix-script.rs
* fix-service.rs
* fix-rs
async_proxy_query.rs
event_driven_proxy.rs
service_ipc.rs
service.rs
sysopt.rs
* lower the prettier version number to 3.5.3
* Revert "lower the prettier version number to 3.5.3"
This reverts commit 0f1c3dfa8a .
* fix: prttier erros
* add developer environment detection and controlled the display of development environment URL
* submit required
* fix-external-controller-cors
* use the custom component ToggleButton to ensure a uniform button style
* fix-tsx
hotkey-viewer.tsx
external-controller-cors.tsx
* fix-bug_report.yml
* remove the annoying title
* fix-write overload problem
* Individual button settings
* fix-setting-clash.tsx
---------
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
Co-authored-by: Tunglies <tunglies.dev@outlook.com >
2025-06-30 20:48:20 +08:00
Tunglies
a574ced428
Refactor logging statements to use the new formatting syntax for improved readability and consistency across the codebase. This includes updating error, warning, and info logs in various modules such as system commands, configuration, core functionalities, and utilities. Additionally, minor adjustments were made to string formatting in backup and proxy features to enhance clarity.
2025-06-27 23:30:59 +08:00
wonfen
26acce94a4
feat: add clash_core config validation & auto-fix to default; fixed "No such file or directory (os error 2)"
2025-06-16 20:27:02 +08:00
Tunglies
cbcab72a7c
refactor: simplify version check logic in run_core_by_service and update tray menu function call
2025-06-10 23:37:09 +08:00
Tunglies
32ee1b36d2
refactor: replace isServiceAvailable with getRunningMode for service status checks
2025-05-26 16:08:16 +08:00
wonfen
8d99af4c15
chore: simplify service logging
2025-05-18 17:53:57 +08:00
wonfen
305a64c3e3
feat: optimize service initialization logic to fallback to Sidecar mode on installation failure
2025-05-17 19:13:24 +08:00
Tunglies
53a46d0dc6
refactor: simplify proxy type handling and improve error handling in network commands
2025-05-16 00:09:47 +08:00
Tunglies
5b6c9be99f
feat: better service status and TUN mode usable checks in Setting Page
2025-05-12 19:04:21 +08:00
wonfen
b5b65ac8c5
fix: windows ipc errors
2025-05-09 01:29:10 +08:00
wonfen
7370f00857
feat: add authenticated service IPC communication
2025-05-08 00:14:58 +08:00
wonfen
32b6821b8a
feat: add network manager to optimize network request handling
2025-04-30 21:30:28 +08:00
Tunglies
3ce5d3bf2d
fix: update required service version to 1.0.6
2025-04-28 06:16:14 +08:00
Tunglies
5a2751162f
fix(linux): can not connect to mihomo core
2025-03-28 19:39:11 +08:00
wonfen
59caa22431
feat: enhance service startup logic with user preference-based sidecar fallback
2025-03-28 03:20:13 +08:00
Tunglies
98d3a48710
refactor: replace println with logging in core validation and tray quit function
2025-03-26 04:31:38 +08:00
Tunglies
0ec4f46052
chore: better install service prompt translation
2025-03-26 03:44:30 +08:00
Tunglies
df5424d55e
feat: add logging module and update running mode terminology
2025-03-25 23:05:09 +08:00
wonfen
e054ac67fb
feat: improve mihomo core and service keep-alive and reinstallation logic
2025-03-25 06:41:00 +08:00
wonfen
cf78bb3686
refactor: service reinstallation logic on detection failure
2025-03-25 00:51:38 +08:00
wonfen
a2811c4803
chore: update required service version
2025-03-24 03:59:55 +08:00
wonfen
a345b54a77
chore: update required service version
2025-03-23 00:16:32 +08:00
Tunglies
2a92755e65
fix: linux hanlding mihomo-core and verge-service communication
2025-03-22 04:51:38 +08:00
Tunglies
1b249564a3
fix: update service response check for correct status code and message
2025-03-20 06:18:14 +08:00
wonfen
1f99cee78b
feat: home page
2025-03-14 13:31:34 +08:00
Tunglies
b57c6e408a
chore: git hooks for linter and formatter
2025-03-13 12:51:20 +08:00
wonfen
ebb194d2a2
feat: add admin permission prompt for system service
2025-03-05 10:22:57 +08:00
wonfen
07bdc108ed
feat: show service mode installation prompts in user mode
2025-03-03 14:42:31 +08:00
wonfen
ee9f0990fd
feat: add ability to check service version and auto-reinstall
2025-02-28 06:45:30 +08:00
wonfen
932d36462f
Revert "perf: Improve kernel management logic & add more dev mode logs"
...
This reverts commit ff2cf30238 .
2025-02-15 05:51:46 +08:00
wonfen
ff2cf30238
perf: Improve kernel management logic & add more dev mode logs
2025-02-09 14:19:15 +08:00
huzibaca
ecb5f0885c
fix: failed to install service on macos
2024-10-23 04:46:47 +08:00
huzibaca
964daadb18
chore: update
2024-10-21 04:35:21 +08:00
huzibaca
d41d74d0f8
chore: replace sudo with pkexec execution
2024-10-21 02:31:43 +08:00
huzibaca
8389826e30
chore: try to fix service not started on linux
2024-10-20 04:48:42 +08:00
huzibaca
a013fe663c
fix: try to fix service not started on linux
2024-10-18 07:08:34 +08:00
huzibaca
a6a3847e30
chore: update
2024-10-16 01:55:22 +08:00
huzibaca
a38f1e92e3
fix: path escape issue
2024-10-15 02:35:50 +08:00
huzibaca
d0e7f6673c
fix: installation service error
2024-10-11 00:59:34 +08:00
huzibaca
800dc21202
chore: update
2024-10-10 23:34:55 +08:00
huzibaca
12db69407e
chore: update
2024-10-10 02:21:22 +08:00
huzibaca
9b2b447b8b
feat: Modify startup logic and install services by default
2024-10-10 00:34:36 +08:00
huzibaca
8a69713f6c
refactor: core logic
2024-10-08 02:39:17 +08:00
huzibaca
5fdb52d8d0
refactor: tun mode is turned on and off, does not depend on services, and does not affect other configurations
2024-10-05 22:45:59 +08:00
huzibaca
60b1e47ae6
chore: update
2024-09-27 10:05:31 +08:00
huzibaca
9591fb2c21
chore: remove compatibility code
2024-09-27 10:04:23 +08:00