Nemu-x
6ff1e527ee
fix(i18n): improve Russian frontend localization ( #6640 )
2026-03-26 21:21:13 +00:00
wysha-object
4ceb7e6043
feat: Allow toggling pause of traffic stats animation on blur ( #6463 )
...
* feat: Allow toggling pause of traffic stats animation on blur
* fix: React Hook useCallback has a missing dependency
* chore: i18n
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-16 08:17:12 +00:00
Slinetrac
c672a6fef3
refactor: lint ( #6511 )
...
* refactor: lint
* chore: remove eslint-plugin/config-prettier
2026-03-15 07:40:11 +00:00
Slinetrac
7ebf27ba52
refactor: do not trigger autobackup on profile change ( #6464 )
...
* refactor: do not trigger autobackup on profile change
* chore: i18n
2026-03-11 06:56:15 +00:00
Slinetrac
0bbf9407d8
feat(tun): validate route-exclude-address as CIDR ( #6440 )
...
* feat(tun): validate route-exclude-address as CIDR
* refactor(network): replace ipaddr.js helpers with cidr-block and validator
* docs: Changelog
2026-03-07 09:18:35 +00:00
AetherWing
4dc515ba4d
docs: del useless word ( #6358 )
2026-02-23 15:40:14 +00:00
AetherWing
e1d914e61d
Chore(i18n): Improve Chinese–English typesetting ( #6351 )
...
* chore(i18n): add spacing after "TUN"
* docs: Changelog
* chore(i18n): Improve Chinese–English typesetting
* Apply suggestions from code review
* chore: i18n
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-02-23 05:17:23 +00:00
JingxinXu
bba71aaa4c
feat: added clear btn in filter component ( #6229 ) ( #6295 )
...
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-02-11 06:40:47 +00:00
wonfen
a4617d1fed
feat: add clear ingress/egress and data flow indicators for proxy chain
2026-02-11 04:41:46 +08:00
AetherWing
b17dd39f31
feat(tunnels): add tunnels viewer UI with add/delete support ( #6052 )
...
* feat(settings): add tunnels viewer UI and management logic
* docs: Changelog.md
* refactor(notice): remove redundant t() call
* refactor(tunnels): make proxy optional and follow current configuration by default
* refactor(tunnels): save after close dialog
* feat(tunnel): update check
* refactor(tunnels): merge import
* refactor(tunnels): use ipaddr.js
* docs: Changelog.md
* refactor(tunnels): enhance validation
* feat: add tunnels ti PATCH_CONFIG_INNER
* fix: sanitize invalid proxy references in tunnels
* refactor: use smartstring alias String
* docs: Changelog.md
* perf: optimize tunnels proxy validation and collection logic
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com>
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2026-01-29 09:32:37 +00:00
Sline
440f95f617
feat(misc-viewer): optional delay check interval ( #6145 )
...
Co-authored-by: Tunglies <tunglies.dev@outlook.com>
2026-01-25 06:48:16 +00:00
DikozImpact
d81aa5f233
Ru language fix ( #6143 )
...
* Ru language fix
* Update proxies.json
* Update home.json
2026-01-23 07:42:31 +08:00
Sline
a49000712d
feat(tun-viewer): route-exclude-address GUI support ( #6053 )
2026-01-10 10:50:44 +08:00
Slinetrac
c18821288e
feat(sysproxy-viewer): make proxy bypass validation optional #4012
2026-01-03 17:10:10 +08:00
歳納七夏
2417d064e1
feat: allow disabling proxy groups in tray icon ( #5946 )
...
* feat: allow disabling proxy groups in tray icon
* feat: allow disabling proxy groups in tray icon (update i11n)
* feat: allow disabling proxy groups in tray icon (fix)
* feat: allow disabling proxy groups in tray icon (less nesting)
* feat: allow disabling proxy groups in tray icon (changelog)
2025-12-26 16:29:05 +08:00
Sline
65b4d8713d
refactor: windows autostart ( #5941 )
...
* refactor(windows-autostart): switch to scheduled tasks with user/admin split
* fix(schtasks): decode stdout/stderr using Windows OEM/ANSI code pages
* refactor(ui): remove admin auto-launch warning and clean i18n
* feat(windows): user-level auto-launch via task XML
* docs: Changelog.md
2025-12-26 14:42:21 +08:00
Slinetrac
d52f00c1b1
feat(ui): add collapse/expand option to navbar context menu #5910
...
Closes #5910
2025-12-23 11:52:40 +08:00
Slinetrac
23e551e384
feat(tray): add optional inline outbound modes in tray menu #5881
...
Closes #5881
2025-12-21 10:33:19 +08:00
Tunglies
16c3dcc616
fix(proxy): check if proxy port is in use #5891
2025-12-20 19:11:27 +08:00
Cactus
57b17ab8d3
feat: add navigation collapse functionality to layout ( #5815 )
...
* feat(layout): add collapsible navbar toggle in UI settings
* refactor(layout): adjust collapsed navbar styles
* docs: Changelog.md
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2025-12-19 18:15:20 +08:00
Sline
fc84dc561c
feat(notice): persist toast position preference ( #5621 )
...
* feat(notice): persist toast position preference
* docs: Changelog.md
2025-12-19 18:04:23 +08:00
Sline
bd8eccdcea
feat(backup): add local backup import flow ( #5669 )
...
* feat(backup): add local backup import flow
* refactor(backup): robustify history listing and propagate import error details
* docs: Changelog.md
2025-12-19 17:46:31 +08:00
Slinetrac
a9e6391417
feat(layout/nav): add reset-to-default menu order action
2025-12-17 11:33:31 +08:00
Slinetrac
6db559f346
chore(i18n): optimize proxy strategy names and GeoSite capitalization #5811
...
Closes #5811
2025-12-13 11:19:59 +08:00
Mehdi Bahrami
104fd11b04
Update settings.json ( #5791 )
...
* Update settings.json
Add translation to Persian
* Update src/locales/fa/settings.json
---------
Co-authored-by: Sline <realakayuki@gmail.com>
2025-12-11 17:39:04 +08:00
Mehdi Bahrami
c7dd93004e
chore(i18n): fa tunMode notifications ( #5790 )
...
translate some
2025-12-11 16:43:07 +08:00
Slinetrac
edf6e7cc42
chore: improve i18n
2025-12-02 18:55:59 +08:00
Sline
4ff186497c
feat(tun): auto-redirect GUI support for linux ( #5565 )
...
* feat(tun): auto-redirect GUI support for linux
* refactor(tun-viewer): unify Linux-only auto-redirect row layout
2025-11-22 18:58:57 +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
Slinetrac
e7812396df
feat(logs): support reverse chronological order #5513
...
Closes #5513
2025-11-18 17:39:56 +08:00
Slinetrac
f315a98afd
fix: monaco editor line count limit
2025-11-17 07:41:37 +08:00
oomeow
1125dc0562
feat: support closed connections ( #5244 )
...
* feat: support closed connections
* fix: clear closed connections
* feat: show footer
* feat: show closed connection detail
* docs: update Changelog.md
* chore: update
2025-11-13 19:50:23 +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
Slinetrac
2f7b3bb9a0
chore(i18n): update zhtw translations
...
Co-authored-by: LiMoon <azhe9335@gmail.com>
2025-11-09 10:51:21 +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
36d1a3878f
refactor: remove retry notice for Clash proxy updates from notification handlers and localization files
2025-11-02 20:13:09 +08:00
Tunglies
648c93c066
chore(i18n): update localization files sorting and add i18n contribution guidline
...
- Add i18n contribution guidline
- Chinese (zh.json): fix TPROXY port missing translation
2025-10-31 05:15:47 +08:00
Tunglies
c27ad3fdcb
feat: add log opening functionality in tray menu and update localization
2025-10-30 17:34:41 +08:00
Slinetrac
2ee8d164fd
chore(i18n): upload zhtw.json
...
Co-authored-by: LiMoon <azhe9335@gmail.com>
2025-10-27 21:39:45 +08:00
❤是纱雾酱哟~
8fa9bcc650
Refactor(zhtw): Refines terminology for consistency ( #5189 )
...
* Refactor(zhtw): Refines terminology for consistency
- Updates: "連接" -> "連線"
- Updates: "高級" -> "進階"
- Updates: "局域網連接" -> "區域網路連線"
Signed-off-by: Dragon1573 <49941141+Dragon1573@users.noreply.github.com>
* chore(i18n): Refine Traditional Chinese translations
- Improves the quality and consistency to match Traditional Chinese localized expressions.
Signed-off-by: Dragon1573 <49941141+Dragon1573@users.noreply.github.com>
* chore(i18n): Refines Traditional Chinese translations
Signed-off-by: Dragon1573 <49941141+Dragon1573@users.noreply.github.com>
---------
Signed-off-by: Dragon1573 <49941141+Dragon1573@users.noreply.github.com>
2025-10-26 14:01:56 +08:00
Sline
8657cedca0
feat: add configurable hover jump navigator delay ( #5178 )
...
* fix: hover options
* feat: add configurable hover jump navigator delay
- Added `hover_jump_navigator_delay` to Verge config defaults, patch flow, and response payload for persistent app-wide settings.
- Made proxy navigator respect configurable delay via `DEFAULT_HOVER_DELAY` and new `hoverDelay` prop.
- Threaded stored delay through proxy list so hover scrolling uses Verge-configured value.
- Added "Hover Jump Navigator Delay" control in Layout settings with clamped numeric input, tooltip, and toggle-aware disabling.
- Localized new labels in English, Simplified Chinese, and Traditional Chinese.
- Extended frontend Verge config type to include delay field for type-safe access.
* docs: UPDATELOG.md
2025-10-23 13:14:01 +08:00
Sline
4f7d069f19
feat(ui): add left menu lock/unlock with reorder mode and context menu ( #5168 )
...
* feat: free menu
* feat(ui): add left menu lock/unlock with reorder mode and context menu
* docs: UPDATELOG.md
2025-10-22 21:39:12 +08:00
Sline
c4c37bf291
feat(tray): close all connections ( #5165 )
2025-10-22 19:28:00 +08:00
Tunglies
c2d7bf296a
feat: add allow auto update option for profiles and update UI components
2025-10-18 17:04:03 +08:00
Tunglies
bccde5ef6d
feat(locales): add "App Log Max Size" and "App Log Max Count" entries to English and Chinese localization files
2025-10-17 19:20:51 +08:00
Tunglies
7fab8eeaf6
feat: add "Prefer System Titlebar" localization to English and Chinese JSON files
2025-10-15 07:24:36 +08:00
Slinetrac
8760ed17dc
feat(current-proxy-card): add toggle for automatic delay detection
2025-10-14 19:27:41 +08:00
Sline
f541464ff4
feat: tray enhance ( #5058 )
...
* feat: proxy group sorting for tray
* feat(tray): add inline proxy groups toggle
2025-10-14 17:03:37 +08:00