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
renovate[bot]
9cc2f44379
chore(deps): update dependency vite to ^7.2.2 ( #5342 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 16:22:28 +08:00
rozan
aa6a1c8650
add Korean README and update language selectors ( #5338 )
...
* docs(i18n): add Korean README and update language selectors
* style: prettier
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com >
2025-11-07 12:06:48 +08:00
renovate[bot]
5b3dbaaec6
chore(deps): update dependency i18next to ^25.6.1 ( #5331 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 10:49:11 +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
renovate[bot]
333440535b
chore(deps): update dependency vite to ^7.2.1 ( #5324 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 14:17:21 +08:00
Tunglies
409b16b49f
refactor: streamline admin check logic and improve get_running_mode return type ( #5325 )
2025-11-06 13:37:11 +08:00
Tunglies
9a1465ec4d
refactor: replace AtomicI64 with Instant for app start time tracking and simplify uptime calculation
2025-11-06 12:59:05 +08:00
Tunglies
04fc9640c6
refactor: move handle_window_destroyed function under macOS conditional compilation
2025-11-06 11:31:15 +08:00
Slinetrac
966693c9cb
fix: clippy lint
2025-11-06 11:21:12 +08:00
Tunglies
363fa98891
refactor: enhance YouTube Premium check logic and streamline response handling
2025-11-06 11:03:35 +08:00
Tunglies
a0f7fb7952
refactor: update linting rules and optimize directory handling in Unix
2025-11-06 10:52:14 +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
651513c826
refactor: optimize error message handling and improve cloning in various functions
2025-11-06 10:26:40 +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
70236f781c
refactor: simplify uid assignment in PrfItem from_merge and from_script methods
2025-11-06 10:19:05 +08:00
renovate[bot]
ccffc0a4fa
chore(deps): update npm dependencies ( #5321 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 09:36:30 +08:00
Tunglies
21de5cbb0b
refactor: remove unnecessary emit calls in switch_proxy_node and enhance profile switch notifications
2025-11-06 00:30:43 +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
1bd2bde096
refactor: streamline lightweight mode initialization and logging levels
2025-11-05 18:57:04 +08:00
renovate[bot]
cf89ac381a
chore(deps): update npm dependencies ( #5317 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-05 18:47:43 +08:00
Tunglies
ea41e71f72
refactor: replace EncryptionGuard with with_encryption for better async context handling
2025-11-05 16:56:04 +08:00
Tunglies
8c3e9c9ea9
feat: implement encryption guard for secure data handling in YAML operations
2025-11-05 15:05:19 +08:00
renovate[bot]
7145096729
chore(deps): update npm dependencies ( #5311 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-05 12:13:07 +08:00
Tunglies
3e2f605e77
fix: improve error handling and logging in various modules
2025-11-05 02:11:43 +08:00
Tunglies
28483ff9db
fix: simplify error handling in toggle_proxy_profile by logging errors directly
2025-11-04 23:05:03 +08:00
renovate[bot]
5c207a8a7d
chore(deps): update npm dependencies to ^7.3.5 ( #5310 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 23:05:03 +08:00
Tunglies
ab136e463f
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
2025-11-04 23:05:01 +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
0a03867352
fix: optimize ownership handling in patch macro for better performance
2025-11-04 12:03:03 +08:00
renovate[bot]
28a78464e1
chore(deps): update npm dependencies ( #5303 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 12:00:47 +08:00
Tunglies
bae584b1ab
perf: optimize profile handle memory usage
2025-11-04 10:05:17 +08:00
Tunglies
a5e6a35dea
fix: update IVerge struct to skip serializing optional fields and adjust types for latency timeout and proxy layout column
2025-11-04 08:16:02 +08:00
Tunglies
b86ceb26f6
fix: streamline verge configuration fetching and patching functions
2025-11-04 08:01:33 +08:00