Tunglies
251678493c
edition 2024 ( #4702 )
...
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
* fix: update release profile settings for panic behavior and optimization
* fix: adjust optimization level in Cargo.toml and reorder imports in lightweight.rs
2025-09-10 09:49:06 +08:00
Tunglies
55b95a1985
Revert "feat: update Cargo.toml for 2024 edition and optimize release profiles ( #4681 )"
...
This reverts commit 31e3104c7f .
2025-09-08 21:48:09 +08:00
Tunglies
31e3104c7f
feat: update Cargo.toml for 2024 edition and optimize release profiles ( #4681 )
...
* feat: update Cargo.toml for 2024 edition and optimize release profiles
* feat: refactor environment variable settings for Linux and improve code organization
* Refactor conditional statements to use `&&` for improved readability
- Updated multiple files to combine nested `if let` statements using `&&` for better clarity and conciseness.
- This change enhances the readability of the code by reducing indentation levels and making the conditions more straightforward.
- Affected files include: media_unlock_checker.rs, profile.rs, clash.rs, profiles.rs, async_proxy_query.rs, core.rs, handle.rs, hotkey.rs, service.rs, timer.rs, tray/mod.rs, merge.rs, seq.rs, config.rs, proxy.rs, window.rs, general.rs, dirs.rs, i18n.rs, init.rs, network.rs, and window.rs in the resolve module.
* refactor: streamline conditional checks using `&&` for improved readability
2025-09-08 13:57:32 +08:00
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
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
e7461fccab
refactor: remove unused macOS tray speed display and improve tray icon handling ( #3862 )
...
* refactor: remove unused macOS tray speed display and improve tray icon handling
* refactor: disable macOS specific logging during core initialization
* feat: add linux elevator function to determine privilege escalation command
2025-06-22 16:28:06 +08:00
Tunglies
564fe15df2
refactor(tests): update format_bytes_speed test cases for consistent output
2025-06-06 14:13:48 +08:00
Tunglies
937f43c270
fix: unable to switch subscribtion profile
2025-03-30 12:53:16 +08:00
wonfen
1bd503a654
feat: add error prompt for initial config loading to prevent switching to invalid subscription
2025-03-30 10:56:30 +08:00
Tunglies
b09313756e
refactor: optimize total width calculation and format bytes speed function
2025-03-27 20:45:51 +08:00
Tunglies
df5424d55e
feat: add logging module and update running mode terminology
2025-03-25 23:05:09 +08:00
Tunglies
b57c6e408a
chore: git hooks for linter and formatter
2025-03-13 12:51:20 +08:00
Tunglies
a18efb0e71
fix: speed format runns by docs
2025-03-03 11:36:21 +08:00
wonfen
cee9be81bf
chore: Add macOS-specific test for format_bytes_speed function
2025-02-17 03:10:03 +08:00
huzibaca
ad335ba005
fix: unused code
2024-12-31 08:08:52 +08:00
huzibaca
04d766884a
fix: syntax issues
2024-12-31 04:50:12 +08:00
huzibaca
97864e8df3
feat: macos system tray addition rate display
2024-12-31 04:42:55 +08:00
huzibaca
d33d90a36e
chore: update
2024-11-30 10:38:15 +08:00
huzibaca
50285aebde
feat: user uploaded icons can use templates, provided they are monochrome icons fixer #2213
2024-11-30 09:49:43 +08:00
huzibaca
243f685b83
refactor: Implement using third-party libraries
2024-11-26 04:51:19 +08:00
huzibaca
6cf2373b34
chore: update
2024-11-26 03:30:15 +08:00
huzibaca
c5d009c2cd
feat: try to use vscode first, if not found then use system default app
2024-11-24 08:20:00 +08:00
huzibaca
8cdc33beab
fix: windows cannot open yaml file
2024-11-23 19:46:53 +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
9b2b447b8b
feat: Modify startup logic and install services by default
2024-10-10 00:34:36 +08:00
huzibaca
07de032e62
feat: migrate tauri 2.0
2024-09-11 08:15:03 +08:00
huzibaca
6cc81fe6b8
chore: update
2024-09-02 19:33:17 +08:00
MystiPanda
4d424e70bc
feat: support seq editor
2024-06-30 00:22:05 +08:00
Lai Zn
4bb88d8e44
feat: Use url path name as fallback subscription name ( #255 )
2024-01-18 14:36:37 +08:00
MystiPanda
3a883b9e41
refactor: cargo clippy
2024-01-10 17:36:35 +08:00
MystiPanda
a719237556
fix: Subinfo parse error
2023-12-15 11:35:10 +08:00
Pylogmon
2cf52f15ab
fix: Open File ( #56 )
2023-12-04 12:15:12 +08:00
GyDi
d2cce3cc40
feat: more trace logs
2023-08-04 14:15:15 +08:00
GyDi
4901673c4e
fix: open file with vscode
2023-04-02 11:19:48 +08:00
hybo
9cc47678a2
chore: evaluate error context lazily ( #447 )
2023-03-16 17:06:52 +08:00
GyDi
bedd3abf8a
refactor: done
2022-11-18 18:18:41 +08:00
GyDi
4f3751b7ce
refactor: for windows
2022-11-17 20:19:40 +08:00
GyDi
837422fbb8
refactor: wip
2022-11-14 01:26:33 +08:00
GyDi
a45c61f19e
chore: format rust code
2022-11-12 11:37:23 +08:00
GyDi
273cbf333e
fix: open file
2022-10-28 01:26:45 +08:00
GyDi
0adb69139e
fix: adjust code
2022-10-27 21:13:27 +08:00
GyDi
2d00ddad2b
refactor: optimize
2022-09-11 20:58:55 +08:00
GyDi
5be6f550be
feat: improve log rule
2022-07-17 17:39:44 +08:00
GyDi
5edfd7b6f7
refactor: wip
2022-04-20 01:44:47 +08:00
GyDi
d4b5c55169
fix: user agent not works
2022-03-11 19:50:51 +08:00
GyDi
c311b92ae2
feat: use nanoid
2022-03-02 00:56:05 +08:00
GyDi
4903c70686
refactor: profile config
2022-03-01 08:58:47 +08:00