Tunglies
f2ad62e446
chore: update clash_verge_service_ipc to version 2.0.24 , improve service prompts and improve service need reinstall process
2025-12-04 23:04:03 +08:00
oomeow
9388b73c1f
fix: upgrade mihomo core failed ( #5646 )
...
* fix: upgrade mihomo core failed
* fix: upgrade core failed when run core by service
* fix: app freeze when restart core on windows
* deps: bump clash-verge-rev-ipc version lock
---------
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2025-12-03 21:48:30 +08:00
Tunglies
a611f7d8a7
fix: switch reqwest client to use rustls-tls for improved security #5559
2025-12-01 22:22:26 +08:00
oomeow
6456c597ed
perf: spawn clean task ( #5595 )
...
* perf: spawn task
* perf: spawn task to save draft date
* perf: store proxy client
* chore: update
* perf: reduce handle quit on macOS
* chore: clippy
* docs: update Changelog.md
* chore: update
2025-11-28 21:12:34 +08:00
Tunglies
22e2e751a2
refactor(profile): update get_profiles to return SharedBox and optimize clone usage
2025-11-26 11:27:02 +08:00
Tunglies
ecc272aa20
feat: integrate tauri-plugin-clipboard-manager and add system info commands ( #5593 )
2025-11-25 16:58:25 +08:00
Tunglies
871881c460
fix(resolve): implement resolve_done state management and refactor timer logic
2025-11-24 13:52:08 +08:00
Slinetrac
687530a9cd
fix(sysproxy): remove redundant 172.29.0.0/16 entry #4351
...
Closes #4351
2025-11-22 19:05:57 +08:00
Tunglies
82bed4910e
perf: refactor IRuntime to use HashSet for exists_keys and improve related functions performance
2025-11-22 16:25:50 +08:00
Tunglies
c82cefe80e
feat: add clash-verge-types crate and integrate IRuntime struct
2025-11-22 15:33:24 +08:00
Tunglies
b3dc48d07e
fix(tests): suppress clippy expect warnings in enhance function
...
fix(timer): improve task removal logic in add_task method
refactor(notification): drop binding after emitting event
chore(Cargo): add lints section to Cargo.toml
2025-11-20 14:59:49 +08:00
Tunglies
4c8673fcb2
fix(timer): optimize lock handling in add_task method
2025-11-20 14:50:53 +08:00
Tunglies
d8090277af
refactor: replace singleton_lazy with singleton macro across multiple modules
2025-11-19 22:40:52 +08:00
Tunglies
108a05ce96
refactor: replace CommandChildGuard with CommandChild and simplify related methods
2025-11-19 22:11:22 +08:00
Sline
f439e93a2b
feat(hotkey): add global reactivate_profiles shortcut ( #5527 )
...
* feat(hotkey): add global reactivate_profiles shortcut
* feat(profile): expose validation state for reactivation shortcuts
2025-11-19 17:06:23 +08:00
Tunglies
3ec7c6d2b8
feat(profiles): add profile preview structure and update profile menu handling
2025-11-18 19:08:07 +08:00
Tunglies
8339fabb17
feat(sysinfo): add tauri-plugin-clash-verge-sysinfo for system information retrieval ( #5510 )
...
* feat(sysinfo): add tauri-plugin-clash-verge-sysinfo for system information retrieval
* feat(sysinfo): add tauri-plugin-clash-verge-sysinfo for system information retrieval
* fix(service): import Manager trait for app handle in linux_running_as_root function
2025-11-18 15:48:48 +08:00
oomeow
16478d314b
fix: install service ( #5479 )
...
* fix: compatible older service version when install service
* docs: update Changelog.md
* chore: check service available
* chore: wait for service server is running
* fix: update changelog to reflect compatibility with legacy service mode upgrades
---------
Co-authored-by: Tunglies <tunglies.dev@outlook.com >
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2025-11-18 09:52:48 +08:00
Tunglies
0866b93175
feat(logging): introduce clash-verge-logging crate for management ( #5486 )
...
* feat(logging): introduce clash-verge-logging crate for management
- Added a new crate `clash-verge-logging` with dependencies on `log`, `tokio`, `compact_str`, and `flexi_logger`.
- Implemented logging types and macros for structured logging across the application.
- Replaced existing logging imports with the new `clash_verge_logging` crate in various modules.
- Updated logging functionality to support different logging types and error handling.
- Refactored code to improve logging consistency and maintainability.
* fix(logging): update import paths for clash_verge_logging in linux.rs and dns.rs
* fix(logging): update import statement for clash_verge_logging in windows.rs
2025-11-17 10:42:57 +08:00
Su Guoyu
29d8df40b9
fix(linux): retry with sudo when pkexec execution failed ( #5469 )
2025-11-16 14:52:13 +08:00
Tunglies
e66b8e7894
feat(timer): better subscription update timer after core startup
2025-11-15 21:18:35 +08:00
Tunglies
8654bad6b0
refactor: migrate proxy setting guard to sysproxy-rs crate ( #5287 )
...
* Refactor proxy management: Remove EventDrivenProxyManager and async_proxy_query
- Removed the EventDrivenProxyManager and its related event-driven proxy management logic.
- Replaced usages of AsyncProxyQuery with direct calls to sysproxy for fetching system and auto proxy configurations.
- Cleaned up constants by removing unused default proxy host.
- Updated sysopt to eliminate calls to the removed EventDrivenProxyManager.
- Adjusted logging and proxy state management to reflect the removal of event-driven architecture.
- Simplified the core module structure by removing unnecessary module imports.
* refactor: remove bypass module for cleaner network configuration
* feat: update sysproxy to version 0.4.0 and add guard feature; refactor sysopt for improved proxy management
* feat(windows/sysproxy): unify guard-type handling and auto-restore drift
* refactor(config): remove commented-out code for SysProxy update flag
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com >
2025-11-15 20:51:36 +08:00
Slinetrac
0b641992e7
refactor(async-proxy): remove unnecessary Result wrappers from Windows registry helpers
2025-11-15 16:37:53 +08:00
Tunglies
a6cb903fe6
refactor: simplify function return types and remove unnecessary wraps
2025-11-15 08:56:58 +08:00
Tunglies
2b0ba4dc95
refactor: streamline config handling and logging mechanisms
2025-11-15 02:46:34 +08:00
Sline
2a2de29224
feat: tray menu enhance ( #5412 )
...
* feat(tray): move outbound modes into a dedicated submenu
* refactor: Enable 'Show Proxy Groups Inline' by default
* refactor(tray): move `copyEnv` to `more` submenu
2025-11-12 14:10:20 +08:00
Tunglies
f3a3d0e8b0
refactor: update update_icon method to require a non-optional verge reference and adjust related calls ( #5417 )
2025-11-12 07:36:24 +08:00
Tunglies
33f575ed4d
refactor: update icon handling in tray methods to accept IVerge reference and improve logging #5379 ( #5387 )
...
* refactor: update icon handling in tray methods to accept IVerge reference and improve logging #5379
* refactor: simplify icon retrieval logic in Tray implementation
2025-11-10 19:06:37 +08:00
Slinetrac
0dcdd7fed6
fix: clippy lint
2025-11-09 23:23:03 +08:00
Tunglies
4eeb883464
refactor: update imports to use as _ for unused identifiers across multiple files
2025-11-09 22:15:37 +08:00
Tunglies
e6c8f762db
refactor: replace cloned() with clone() for improved performance in multiple files
2025-11-09 22:07:12 +08:00
Tunglies
7f267fa727
fix: update configuration data access from latest_arc to data_arc in Clash and WebDAV commands and init windows
2025-11-09 21:26:11 +08:00
Tunglies
f644036e08
chore: update Rust toolchain to version 1.91 and adjust edition in rustfmt configuration
2025-11-09 16:31:37 +08:00
Tunglies
a57ffba8ba
refactor: replace RwLock with AtomicBool for is_exiting and emergency_mode in Handle and NotificationSystem
2025-11-09 02:23:35 +08:00
Sline
c8aa72186e
chore: i18n ( #5276 )
...
* chore: notice i18n
* feat: add script to clean up unused i18n keys
* chore: cleanup i18n keys
* refactor(i18n/proxies): migrate proxies UI to structured locale keys
* chore: i18n for rule module
* chore: i18n for profile module
* chore: i18n for connections module
* chore: i18n for settings module
* chore: i18n for verge settings
* chore: i18n for theme settings
* chore: i18n for theme
* chore(i18n): components.home.*
* chore(i18n): remove unused i18n keys
* chore(i18n): components.profile.*
* chore(i18n): components.connection
* chore(i18n): pages.logs.*
* chore(i18n): pages.*.provider
* chore(i18n): components.settings.externalCors.*
* chore(i18n): components.settings.clash.*
* chore(i18n): components.settings.liteMode.*
* chore(i18n): components.settings.backup.*
* chore(i18n): components.settings.clash.port.*
* chore(i18n): components.settings.misc.*
* chore(i18n): components.settings.update.*
* chore(i18n): components.settings.sysproxy.*
* chore(i18n): components.settings.sysproxy.*
* chore(i18n): pages.profiles.notices/components.providers.notices
* refactor(notice): unify showNotice usage
* refactor(notice): add typed showNotice shortcuts, centralize defaults, and simplify subscriptions
* refactor: unify showNotice usage
* refactor(notice): unify showNotice API
* refactor(notice): unify showNotice usage
* chore(i18n): components.test.*
* chore(i18n): components.settings.dns.*
* chore(i18n): components.home.clashInfo.*
* chore(i18n): components.home.systemInfo.*
* chore(i18n): components.home.ipInfo/traffic.*
* chore(i18n): navigation.*
* refactor(i18n): remove pages.* namespace and migrate route texts under module-level page keys
* chore(i18n): common.*
* chore(i18n): common.*
* fix: change error handling in patch_profiles_config to return false when a switch is in progress
* fix: improve error handling in patch_profiles_config to prevent requests during profile switching
* fix: change error handling in patch_profiles_config to return false when a switch is in progress
fix: ensure CURRENT_SWITCHING_PROFILE is reset after config updates in perform_config_update and patch_profiles_config
* chore(i18n): restructure root-level locale keys into namespaces
* chore(i18n): add missing i18n keys
* docs: i18n guide
* chore: adjust i18n
* refactor(i18n): align UI actions and status labels with common keys
* refactor(i18n): unify two-name locale namespaces
* refactor(i18n/components): unify locale keys and update component references
* chore(i18n): add shared and entities namespaces to all locale files
* refactor(i18n): consolidate shared and entity namespaces across features
* chore(deps): update npm dependencies to ^7.3.5 (#5310 )
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* refactor(i18n): migrate shared editor modes and consolidate entities namespaces
* tmp
* refactor(i18n): flatten locales and move theme/validation strings
* docs: CONTRIBUTING_i18n.md
* refactor(i18n): restructure feedback and profile namespaces for better organization
* refactor(i18n): unify settings locale structure and update references
* refactor(i18n): reorganize locale keys for home, proxies, rules, connections, logs, unlock, and tests
* refactor(i18n/feedback/layout): unify shared toasts & normalize layout namespace
* refactor(i18n): centralize common UI strings in shared
* refactor(i18n): flatten headers and unify locale schema
* refactor(i18n): consolidate duplicate per-feature translations into shared namespace
* refactor(i18n): split locales into per-namespace files
* style: lint
* refactor(i18n): unify unlock UI translations under tests namespace
* feat(i18n): add type-checked translation keys
* style: eslint import order
* feat(i18n): replace ad-hoc loader with rust-i18n backend bundles
* chore(prebuild): remove locale-copy step
* fix(i18n, notice): propagate runtime params and update cleanup script path
* fix(i18n,notice): make locale formatting idempotent and guard early notice translations
* fix(i18n): resolve locale aliases and match OS codes correctly
* fix(unlock): use i18next-compatible double-brace interpolation in failure notice
* fix(i18n): route unlock error notices through translation keys
* fix(i18n): i18n types
* feat(i18n): localize upgrade notice for Clash core viewer
* fix(notice): ensure runtime overrides apply to prefix translations
* chore(i18n): replace literal notices with translation keys
* chore(i18n): types
* chore(i18n): regen typings before formatting to keep keys in sync
* chore(i18n): simply labels
* chore(i18n): adjust translation
* chore: remove eslint-plugin-i18next
* chore(i18n): add/refine Korean translations across frontend scopes and Rust backend (#5341 )
* chore(i18n): translate settings.json (missed in previous pass) (#5343 )
* chore(i18n): add/refine Korean translations across frontend scopes and Rust backend
* chore(i18n): add/refine Korean translations across frontend scopes and Rust backend
* fix(i18n-tauri): quote placeholder-leading value in ko.yml to prevent rust_i18n parse panic
* chore(i18n): translate settings.json (forgot to include previously)
---------
Co-authored-by: rozan <34974262+thelojan@users.noreply.github.com >
2025-11-08 19:40:38 +08:00
Slinetrac
5759bed687
refactor(linux): replace users crate with libc::geteuid for root detection
...
Closes #5333
2025-11-07 18:58:13 +08:00
oomeow
81e35e2ead
chore: optimize ( #5319 )
...
* chore: optimize and reduce spawn
* chore: optimize
2025-11-07 06:06:09 +08:00
Tunglies
19b3899a1b
refactor: improve notification handling and avoid backend loop with empty messages
2025-11-07 00:54:16 +08:00
Slinetrac
966693c9cb
fix: clippy lint
2025-11-06 11:21:12 +08:00
Tunglies
5a8e83cd49
refactor: change function definitions to const for improved performance and clarity
2025-11-06 10:47:25 +08:00
Tunglies
aaf3ebe547
refactor: enhance error handling in Timer and update server argument collection
2025-11-06 10:42:21 +08:00
Tunglies
69a706b438
refactor: streamline error handling and resource management in various modules
2025-11-06 10:19:06 +08:00
Tunglies
671ac2ebed
refactor: replace type references with Self in various structs and methods for consistency
2025-11-06 10:19:06 +08:00
Tunglies
6eaf999240
refactor: optimize worker loop to use try_recv for non-blocking event processing #5318
2025-11-05 22:59:22 +08:00
Tunglies
8c3e9c9ea9
feat: implement encryption guard for secure data handling in YAML operations
2025-11-05 15:05:19 +08:00
Tunglies
3e2f605e77
fix: improve error handling and logging in various modules
2025-11-05 02:11:43 +08:00
Tunglies
97769cf93a
feat: add methods to retrieve current subscription details in PrfItem and refactor profile handling in IProfiles
2025-11-04 12:03:03 +08:00
Tunglies
0306f73841
fix: replace update_tray_display with update_menu for consistency across tray updates
2025-11-04 12:03:03 +08:00
Tunglies
bae584b1ab
perf: optimize profile handle memory usage
2025-11-04 10:05:17 +08:00
Tunglies
2287ea5f0b
Refactor configuration access to use latest_arc() instead of latest_ref()
...
- Updated multiple instances in the codebase to replace calls to latest_ref() with latest_arc() for improved performance and memory management.
- This change affects various modules including validate, enhance, feat (backup, clash, config, profile, proxy, window), utils (draft, i18n, init, network, resolve, server).
- Ensured that all references to configuration data are now using the new arc-based approach to enhance concurrency and reduce cloning overhead.
refactor: update imports to explicitly include ClashInfo and Config in command files
2025-11-04 06:06:20 +08:00