Tunglies
824814da56
fix: unexpected restart behavior #4438
2025-08-27 22:04:44 +08:00
renovate[bot]
f2339620a5
chore(deps): update cargo dependencies ( #4468 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 21:19:13 +08:00
Sergey Kharenko
d58c0a7df5
fix: auto-detect KDE/Plasma and switch to X11 as backend to fix titlebar button freeze ( #4523 )
2025-08-26 01:50:44 +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
0d070fb934
refactor: update AppHandle usage to use Arc<AppHandle> for improved memory management ( #4491 )
...
* refactor: update AppHandle usage to use Arc<AppHandle> for improved memory management
* fix: clippy ci
* fix: ensure default_latency_test is safely accessed with non-null assertion
2025-08-23 00:20:58 +08:00
Tunglies
475a09bb54
feat: comprehensive oxlint cleanup - remove unused code
...
🧹 Cleanup Summary:
- Fixed 83 oxlint warnings across 50+ files
- Removed unused imports, variables, and functions
- Maintained all functional code and error handling
- Improved bundle size and code maintainability
📝 Key Changes:
- Cleaned unused React hooks (useState, useEffect, useClashInfo)
- Removed unused Material-UI imports (useTheme, styled components)
- Deleted unused interfaces and type definitions
- Fixed spread operator usage and boolean casting
- Simplified catch parameters where appropriate
🎯 Files Modified:
- React components: home.tsx, settings, profiles, etc.
- Custom hooks: use-*.ts files
- Utility functions and type definitions
- Configuration files
✅ Result: 0 oxlint warnings (from 83 warnings)
🔧 All functionality preserved
📦 Reduced bundle size through dead code elimination
2025-08-22 18:48:56 +08:00
Tunglies
485fd0169b
chore: bump version to 2.4.1
2025-08-22 17:31:32 +08:00
wonfen
a9464ff776
chore: update release log & fix workflow2
2025-08-22 16:30:07 +08:00
Tunglies
335ca817d2
refactor: restrict AsyncHandler usage to Windows platform only
2025-08-22 04:18:21 +08:00
Tunglies
6d112c387d
refactor: replace tokio::task::spawn_blocking with AsyncHandler::spawn_blocking for improved task management
2025-08-22 04:05:35 +08:00
Tunglies
e4c243de2d
refactor: Replace tokio::spawn with AsyncHandler::spawn for better task management
...
- Replace direct tokio::spawn calls with AsyncHandler::spawn across multiple modules
- Improves task lifecycle management and error handling consistency
- Affected files:
- src-tauri/src/cmd/network.rs
- src-tauri/src/core/core.rs
- src-tauri/src/core/event_driven_proxy.rs
- src-tauri/src/enhance/tun.rs
- src-tauri/src/ipc/logs.rs
- src-tauri/src/ipc/memory.rs
- src-tauri/src/ipc/monitor.rs
- src-tauri/src/ipc/traffic.rs
- src-tauri/src/utils/network.rs
- src-tauri/src/utils/resolve.rs
This change provides better control over async task spawning and helps prevent
potential issues with unmanaged background tasks.
2025-08-22 03:41:14 +08:00
Tunglies
02f67961a9
feat: add tokio-stream dependency and refactor event loop handling in EventDrivenProxyManager
2025-08-22 03:16:59 +08:00
Tunglies
7d5fd295ed
feat: add dev:trace script for enhanced debugging in development
2025-08-22 02:28:44 +08:00
Tunglies
daa0b1592d
chore: bump version to 2.4.1
2025-08-22 00:29:42 +08:00
wonfen
93fc4932ee
Release 2.4.0
2025-08-21 22:45:55 +08:00
Tunglies
435318cf1d
fix: simplify return statements in updateProxy method for clarity
2025-08-21 21:23:46 +08:00
renovate[bot]
59b67f5d3f
chore(deps): update cargo dependencies ( #4451 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tunglies <tunglies.dev@outlook.com >
2025-08-20 22:49:37 +08:00
Tunglies
e30cfc3a2f
chore: update dependencies and improve IPC request handling
2025-08-20 22:48:08 +08:00
Tunglies
52655d9702
feat: add configuration options to IpcManager for improved client setup
2025-08-20 18:05:31 +08:00
Tunglies
e93846ddc1
refactor: improve log management by introducing a constant for max logs and simplifying log level handling
2025-08-19 22:43:36 +08:00
renovate[bot]
4cf2f6b1e6
chore(deps): update cargo dependencies ( #4443 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 16:36:36 +08:00
Tunglies
f0dbe9fa60
feat: add console-subscriber for improved logging and tracing support
2025-08-18 23:40:25 +08:00
Tunglies
756751b765
refactor: simplify app restart logic and improve error handling
2025-08-18 22:33:29 +08:00
Tunglies
85a9f6c8d4
fix: correct log cleanup day mapping and update logging level #4434
2025-08-18 19:14:08 +08:00
Ahao
7fe0381850
renew: remove whether to enable_random_port ( #4401 )
...
* refactor: streamline clean old assets job by using reusable workflow
* refactor: update clean old assets job to include steps section
* refactor: add checkout step in clean_old_assets job for improved repository access
* fix: correct path to clean old assets workflow in autobuild.yml
* fix: update path to clean old assets workflow in autobuild.yml
* refactor: simplify clean_old_assets job by removing unnecessary steps
* refactor: enhance clean_old_assets job dependencies for improved execution flow
* Revert "refactor: enhance clean_old_assets job dependencies for improved execution flow"
This reverts commit 1a5108b5ad .
* feat: implement get_latest_tauri_commit script and update release versioning logic
* renew: remove whether to enable_random_port
---------
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2025-08-18 02:03:06 +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
renovate[bot]
be8a632a09
chore(deps): update rust crate async-trait to 0.1.89 ( #4404 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 15:42:31 +08:00
ONEUI8
95c34f1df5
Update profile.rs ( #4408 )
...
Co-authored-by: ONEUI-7 <150009830+ONEUI-7@users.noreply.github.com >
2025-08-16 15:42:21 +08:00
Tunglies
b169ee8149
Revert "refactor: replace tokio Mutex with parking_lot Mutex for improved performance"
...
This reverts commit 9cc6dde999 .
2025-08-16 04:24:03 +00:00
Tunglies
9cc6dde999
refactor: replace tokio Mutex with parking_lot Mutex for improved performance
2025-08-16 02:44:00 +08:00
Tunglies
cf1fbb63c4
refactor: replace log macros with logging utility for IPC monitoring
2025-08-15 20:41:45 +08:00
renovate[bot]
331e4a4970
chore(deps): update cargo dependencies ( #4360 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 16:27:14 +08:00
Tunglies
ee3ffaef1d
refactor: simplify log warning message formatting and remove unused LogLevel enum
2025-08-13 16:25:36 +08:00
Tunglies
558e28ddaf
refactor: simplify log retrieval by removing level parameter and relying on server-side filtering #4293
2025-08-13 01:15:33 +08:00
Sergey Kharenko
45e69543b3
fix: auto-detect KDE/Plasma and disable GTK CSD to fix titlebar button freeze ( #4380 )
...
* fix: auto-detect KDE/Plasma and disable GTK CSD to fix titlebar button freeze
* chore: update UPDATELOG
---------
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2025-08-12 19:27:46 +08:00
wonfen
67ee41c5ea
fix: ensure TUN is disabled before core exit
2025-08-11 23:19:49 +08:00
renovate[bot]
4823a348be
chore(deps): update rust crate warp to 0.4.1 ( #4342 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 23:49:09 +08:00
Tunglies
52e8e45daf
fix: correct log level hierarchy and enhance log filtering logic
2025-08-08 23:30:24 +08:00
Tunglies
319c5b84fa
Revert "feat: enhance log filtering by adding support for debug level and updating log hierarchy #4293 "
...
This reverts commit a9cfb2cfaa .
2025-08-08 15:17:46 +08:00
Tunglies
6069b654d1
fix: ensure app quit notification is sent before quitting
2025-08-08 14:57:47 +08:00
Tunglies
3f5cd6c26a
fix: resolve system proxy status detection and display inconsistency
...
- Fixed getSystemProxyActualState logic to properly check actual system status
- Unified system proxy state display across all components
- Replaced systemProxyIndicator with actualState for consistent UI display
- Updated components: setting-system, ProxyControlSwitches, proxy-tun-card
- Added entry to v2.4.0 changelog
2025-08-07 02:18:50 +08:00
renovate[bot]
cdc1fd2d87
chore(deps): update cargo dependencies ( #4329 )
...
* chore(deps): update cargo dependencies
* fix: update warp dependency to include server feature
* fix: update return type of scheme_handler to String for consistency
* fix: add hyper-util dependency and update warp path handlers for response status
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tunglies <tunglies.dev@outlook.com >
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2025-08-06 22:46:46 +08:00
Tunglies
499626b946
fix: resolve intermittent startup deadlock issues
...
- Optimize configuration access locks to prevent race conditions
- Enhance UI monitoring thread with non-blocking lock operations
- Improve window creation timing and synchronization
- Add comprehensive deadlock detection and debugging logs
- Simplify code structure with better error handling patterns
- Update changelog with user-friendly descriptions
2025-08-06 22:12:00 +08:00
Tunglies
a9cfb2cfaa
feat: enhance log filtering by adding support for debug level and updating log hierarchy #4293
2025-08-06 20:49:54 +08:00
Tunglies
44e8a035aa
fix: improve profile import validation and handle async lock correctly
...
fix: refactor import_profile function for improved readability and maintainability
2025-08-05 23:23:11 +08:00
Tunglies
a66393c609
feat: enhance profile import functionality with timeout and robust refresh strategy
2025-08-05 20:29:36 +08:00
Tunglies
776abaf56d
fix: update service messages to use PRODUCTNAME variable for consistency
2025-08-05 20:09:35 +08:00
renovate[bot]
ecd396d70f
chore(deps): update cargo dependencies ( #4297 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 14:46:54 +08:00
Tunglies
109f5f9648
fix: resolve macOS window management issues and improve logging during app reopen events
2025-08-03 18:40:19 +08:00
Tunglies
d16c691c0f
fix: can not filiter log level as expected
2025-08-03 09:52:27 +08:00