Tunglies
3939741a06
refactor: migrate from serde_yaml to serde_yaml_ng for improved YAML handling ( #4568 )
...
* refactor: migrate from serde_yaml to serde_yaml_ng for improved YAML handling
* refactor: format code for better readability in DNS configuration
2025-08-30 02:24:47 +08:00
Tunglies
f86a1816e0
chore(deps): update sysinfo to 0.37.0 and zip to 4.5.0 in Cargo.toml ( #4564 )
...
* chore(deps): update sysinfo to 0.37.0 and zip to 4.5.0 in Cargo.toml
* chore(deps): remove libnghttp2-sys dependency and update isahc features in Cargo.toml
* chore(deps): remove sysinfo and zip from ignoreDeps in renovate.json
2025-08-30 02:15:34 +08:00
renovate[bot]
01af1bea23
chore(deps): update rust crate reqwest_dav to 0.2.2 ( #4554 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-30 01:21:46 +08:00
Tunglies
1227e86134
Remove unnecessary "rustls-tls" feature from reqwest dependency in Cargo.toml
2025-08-30 01:12:03 +08:00
Tunglies
c6a6ea48dd
refactor: enhance async initialization and streamline setup process ( #4560 )
...
* feat: Implement DNS management for macOS
- Added `set_public_dns` and `restore_public_dns` functions in `dns.rs` to manage system DNS settings.
- Introduced `resolve` module to encapsulate DNS and scheme resolution functionalities.
- Implemented `resolve_scheme` function in `scheme.rs` to handle deep links and profile imports.
- Created UI readiness management in `ui.rs` to track and update UI loading states.
- Developed window management logic in `window.rs` to handle window creation and visibility.
- Added initial loading overlay script in `window_script.rs` for better user experience during startup.
- Updated server handling in `server.rs` to integrate new resolve functionalities.
- Refactored window creation calls in `window_manager.rs` to use the new window management logic.
* refactor: streamline asynchronous handling in config and resolve setup
* Revert "refactor: streamline asynchronous handling in config and resolve setup"
This reverts commit 23d7dc86d5 .
* fix: optimize asynchronous memory handling
* fix: enhance task logging by adding size check for special cases
* refactor: enhance async initialization and streamline setup process
* refactor: optimize async setup by consolidating initialization tasks
* chore: update changelog for Mihomo(Meta) kernel upgrade to v1.19.13
* fix: improve startup phase initialization performance
* refactor: optimize file read/write performance to reduce application wait time
* refactor: simplify app instance exit logic and adjust system proxy guard initialization
* refactor: change resolve_setup_async to synchronous execution for improved performance
* refactor: update resolve_setup_async to accept AppHandle for improved initialization flow
* refactor: remove unnecessary initialization of portable flag in run function
* refactor: consolidate async initialization tasks into a single blocking call for improved execution flow
* refactor: optimize resolve_setup_async by restructuring async tasks for improved concurrency
* refactor: streamline resolve_setup_async and embed_server for improved async handling
* refactor: separate synchronous and asynchronous setup functions for improved clarity
* refactor: simplify async notification handling and remove redundant network manager initialization
* refactor: enhance async handling in proxy request cache and window creation logic
* refactor: improve code formatting and readability in ProxyRequestCache
* refactor: adjust singleton check timeout and optimize trace size conditions
* refactor: update TRACE_SPECIAL_SIZE to include additional size condition
* refactor: update kode-bridge dependency to version 0.2.1-rc2
* refactor: replace RwLock with AtomicBool for UI readiness and implement event-driven monitoring
* refactor: convert async functions to synchronous for window management
* Update src-tauri/src/utils/resolve/window.rs
* fix: handle missing app_handle in create_window function
* Update src-tauri/src/module/lightweight.rs
2025-08-29 23:57:42 +08:00
Tunglies
6eecd70bd5
fix(subscription): resolve issues causing import failures in some cases #4534 , #4436 , #4552 , #4519 , #4517 , #4503 , #4336 , #4301 ( #4553 )
...
* fix(subscription): resolve issues causing import failures in some cases #4534 , #4436 , #4552 , #4519 , #4517 , #4503 , #4336 , #4301
* fix(profile): update profile creation to include file data handling
* fix(app): improve singleton instance exit handling
* fix: remove unsued handle method
2025-08-29 17:46:46 +08:00
Tunglies
a9951e4eca
refactor: replace AppHandleManager with handle::Handle for macOS activation policy management
2025-08-28 17:27:54 +08:00
Tunglies
53688f332f
fix: replace tokio::runtime::Handle with tauri::async_runtime::handle
2025-08-28 04:58:24 +08:00
Tunglies
d23d1d9a1d
fix: remove auto clean up profiles behavior in resolve process
2025-08-28 04:41:12 +08:00
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