Slinetrac
b40136a790
chore: Changelog.md
2025-11-12 00:19:50 +08:00
Slinetrac
645b92bc28
fix(tun): remove Linux-only block that forced tun.stack to mixed
2025-11-12 00:08:17 +08:00
Sline
afb3842776
feat(canvas): add adaptive FPS and pause rendering on window blur ( #5409 )
2025-11-11 20:15:07 +08:00
renovate[bot]
e02f23e0aa
chore(deps): update npm dependencies ( #5400 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-11 16:38:08 +08:00
Tunglies
6e9c6e60bb
chore: update sysproxy-rs
2025-11-11 08:53:14 +08:00
Tunglies
600019f980
chore: update tauri-plugin-mihomo
2025-11-11 08:24:23 +08:00
renovate[bot]
2d9eef834b
chore(deps): update dependency @eslint-react/eslint-plugin to ^2.3.4 ( #5394 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-10 22:38:29 +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
7d42d5cb0f
feat: add proxy chain icon
2025-11-10 14:30:47 +08:00
Sline
838e401796
feat(auto-backup): implement centralized auto-backup manager and UI ( #5374 )
...
* feat(auto-backup): implement centralized auto-backup manager and UI
- Introduced AutoBackupManager to handle verge settings, run a background scheduler, debounce change-driven backups, and trim auto-labeled archives (keeps 20); wired into startup and config refresh hooks
(src-tauri/src/module/auto_backup.rs:28-209, src-tauri/src/utils/resolve/mod.rs:64-136, src-tauri/src/feat/config.rs:102-238)
- Extended verge schema and backup helpers so scheduled/change-based settings persist, create_local_backup can rename archives, and profile/global-extend mutations now trigger backups
(src-tauri/src/config/verge.rs:162-536, src/types/types.d.ts:857-859, src-tauri/src/feat/backup.rs:125-189, src-tauri/src/cmd/profile.rs:66-476, src-tauri/src/cmd/save_profile.rs:21-82)
- Added Auto Backup settings panel in backup dialog with dual toggles + interval selector; localized new strings across all locales
(src/components/setting/mods/auto-backup-settings.tsx:1-138, src/components/setting/mods/backup-viewer.tsx:28-309, src/locales/en/settings.json:312-326 and mirrored entries)
- Regenerated typed i18n resources for strong typing in React
(src/types/generated/i18n-keys.ts, src/types/generated/i18n-resources.ts)
* refactor(setting/backup): restructure backup dialog for consistent layout
* refactor(ui): unify settings dialog style
* fix(backup): only trigger auto-backup on valid saves & restore restarts app safely
* fix(backup): scrub console.log leak and rewire WebDAV dialog to actually probe server
* refactor: rename SubscriptionChange to ProfileChange
* chore: update i18n
* chore: WebDAV i18n improvements
* refactor(backup): error handling
* refactor(auto-backup): wrap scheduler startup with maybe_start_runner
* refactor: remove the redundant throw in handleExport
* feat(backup-history-viewer): improve WebDAV handling and UI fallback
* feat(auto-backup): trigger backups on all profile edits & improve interval input UX
* refactor: use InputAdornment
* docs: Changelog.md
2025-11-10 13:49:14 +08:00
Cactus
78d5cb5eca
i18n: remove proxy chain icon due to design inconsistency ( #5377 )
...
style: prettier
2025-11-10 12:40:59 +08:00
Tunglies
b308251022
refactor: replace async_runtime::block_on with AsyncHandler::block_on and add inline annotations
2025-11-10 09:30:55 +08:00
Tunglies
49e5a557ca
refactor: add inline annotations to CommandChildGuard methods
2025-11-10 09:23:30 +08:00
Tunglies
e66a4f6aca
perf: some inline magic for Draft
...
This would improve 8-14% CPU for all API
2025-11-10 07:18:50 +08:00
Tunglies
204bfa36e5
refactor: reorganize imports and remove unused axios instance code
2025-11-10 02:12:16 +08:00
Slinetrac
a8fe5a71f7
fix: use Manager as _
2025-11-09 23:46:23 +08:00
Slinetrac
c03e10b5dc
fix: macOS clippy lint
2025-11-09 23:36:39 +08:00
Slinetrac
0dcdd7fed6
fix: clippy lint
2025-11-09 23:23:03 +08:00
Tunglies
221a1e89eb
chore: update Changelog for v2.4.4 with Mihomo(Meta) kernel upgrade and additional improvements
2025-11-09 22:38:55 +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
renovate[bot]
f5160ef277
chore(deps): update dependency @tauri-apps/cli to v2.9.4 ( #5375 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-09 21:01:49 +08:00
Tunglies
5f2ac77923
chore: update Rust toolchain to version 1.91.0 in autobuild workflow
...
fix: update Rust toolchain action to use master branch for consistency
feat: add support for Windows ARM64 Gnullvm in development workflow
refactor: remove Windows ARM64 Gnullvm support and ensure Rust target is added for the pinned toolchain
feat: add Rust target installation step for pinned toolchain in autobuild workflow
fix: remove unnecessary blank lines in autobuild workflow
2025-11-09 20:53:19 +08:00
Tunglies
3e81dcd78f
refactor: simplify icon file search logic in find_target_icons function
...
Try with 1.91.0 new API
2025-11-09 16:59:43 +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
c763fdd233
fix: update configuration data access from latest_arc to data_arc for TUN and system proxy settings
2025-11-09 16:05:32 +08:00
Tunglies
6026f432da
fix: update method call to fetch configuration data for global hotkey settings
2025-11-09 16:02:21 +08:00
Tunglies
d193460649
refactor: replace inline log fetching with dedicated script for better maintainability
2025-11-09 15:46:40 +08:00
Tunglies
02ff2d3c2e
chore: update dependencies in Cargo.toml and Cargo.lock for improved performance and features
2025-11-09 15:35:22 +08:00
oomeow
72544ccb54
fix: missing app_log_max_size and app_log_max_count when saving misc settings
2025-11-09 13:32:59 +08:00
oomeow
ba1b9796e8
fix: Tun disable failed due to too short timeout
2025-11-09 13:09:32 +08:00
Slinetrac
2f7b3bb9a0
chore(i18n): update zhtw translations
...
Co-authored-by: LiMoon <azhe9335@gmail.com >
2025-11-09 10:51:21 +08:00
Slinetrac
5c323fc40f
docs: move Changelog.history.md to docs
2025-11-09 10:15:21 +08:00
Tunglies
d3d47d448a
docs: update Changelog.md to include backend memory and performance optimizations
2025-11-09 02:52:22 +08:00
Tunglies
9c5cda793d
refactor: streamline UI readiness handling by replacing RwLock with AtomicU8 and updating related functions
2025-11-09 02:47:48 +08:00
Tunglies
243f5b1b96
refactor: replace OnceCell with AtomicBool for UI readiness state
2025-11-09 02:29:50 +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
Tunglies
8f080389fe
feat: add Changelog.md and update scripts to reference it
...
- Created a new Changelog.md file to document version updates and changes.
- Updated the updatelog.mjs script to parse Changelog.md instead of UPDATELOG.md.
- Modified updater-fixed-webview2.mjs to use the new Changelog.md for update notes.
2025-11-09 01:09:10 +08:00
Slinetrac
2a13696d06
docs: UPDATELOG.md
2025-11-09 00:21:03 +08:00
XiaoBuHaly
af4463fef1
feat(connections): enable persistent column visibility and ordering #5235 ( #5249 )
...
* feat(connections): enable persistent column visibility and ordering
fix(connections): smooth column manager access in table view
fix(connections): integrate column manager into column menu
- Move the Connections column manager trigger into the DataGrid column menu, reusing existing i18n strings
- Clean up the page toolbar by removing the standalone button and lifting dialog state to the parent page
fix(connections): unify column order handling and resolve lint warnings
fix(connections): unify column order handling and enforce 0 ESLint warnings
- extract reconcileColumnOrder helper and reuse it across:
- initial normalization (useEffect)
- manager drag order handler (handleManagerOrderChange)
- derive columnOptions directly from the computed, sorted columns to keep a single source of truth and prevent dialog/grid drift
- connections.tsx: remove direct setState in useEffect; gate dialog open with `isTableLayout && isColumnManagerOpen`; clean up unused imports
- connection-column-manager.tsx: replace deprecated `primaryTypographyProps` with `slotProps`
- run full lint; project now has 0 warnings on main configuration
* feat(connection-table): safeguard column visibility
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com >
2025-11-09 00:15:01 +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
Tunglies
c1a2e99f63
feat: migrate from react-monaco-editor to @monaco-editor/react and update editor components ( #5263 )
...
* feat: migrate from react-monaco-editor to @monaco-editor/react and update editor components
* chore: add acknowledgments for contributors in update log
* feat: enhance frontend information editing component for improved performance
2025-11-08 19:32:26 +08:00
Tunglies
9d874e5c6f
chore: update version to 2.4.4 in package.json, Cargo.toml, Cargo.lock, tauri.conf.json, and add new changelog section
2025-11-08 19:16:51 +08:00
Tunglies
fa74e79f40
fix: update version from 2.4.3-rc to 2.4.3 in package.json, Cargo.toml, Cargo.lock, and tauri.conf.json
v2.4.3
2025-11-08 19:10:29 +08:00
Tunglies
6017423a49
chore: update version to 2.4.3-rc and enhance release notes
v2.4.3-rc
2025-11-08 18:31:22 +08:00
Tunglies
538cba5a33
fix: return correct type in get_profiles function
2025-11-08 17:07:48 +08:00
oomeow
76bf91ff8a
fix: import profile panic ( #5346 )
...
* fix: import profile panic
docs: update UPDATELOG.md
chore: update
* perf: spawn import profile
2025-11-07 22:46:30 +08:00
renovate[bot]
758c21e656
chore(deps): update dependency vitest to ^4.0.8 ( #5349 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 21:51:09 +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