4196 Commits

Author SHA1 Message Date
renovate[bot]
1147ccfcfe
chore(deps): update github/gh-aw-actions action to v0.65.5 (#6673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-02 13:30:22 +00:00
Tunglies
824bcc77eb
fix: throttle WebSocket subscriptions to prevent UI freeze on profile switch (#6683) (#6686)
Add leading-edge throttle to useMihomoWsSubscription, reduce SWR retry
aggressiveness, and increase WebSocket reconnect delay to prevent event
storms when switching profiles under poor network conditions.
2026-04-02 13:22:30 +00:00
Tunglies
3714f0c4c8
feat: update clash_verge_service_ipc version to 2.2.0 2026-04-01 00:40:35 +08:00
Nemu-x
4e75c36097
feat: complete Russian localization (#6685) 2026-03-31 14:29:16 +00:00
Tunglies
9bcb79465c
fix: resolve frontend data race conditions in hooks
- use-system-state: convert module-level `disablingTunMode` to useRef
  to isolate state per hook instance, fix no-op clearTimeout, add
  proper effect cleanup
- use-profiles: convert forEach to for..of so selectNodeForGroup is
  properly awaited, remove fire-and-forget setTimeout around mutate
- use-clash: add useLockFn to patchInfo for concurrency safety
2026-03-31 20:26:34 +08:00
renovate[bot]
b62d89e163
chore(deps): update github/gh-aw-actions action to v0.64.4 (#6665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-30 17:12:08 +00:00
wysha-object
b7230967b4
feat: show detailed results in hotkey notifications (#6639)
* feat: show detailed results in hotkey notifications

* fix: Japanese locale appears to have a truncated translation key label

* fix: variable naming

* Update documentation to English

* Remove unnecessary mut

* feat: enhance system proxy notifications with toggle state

* chore: update changelog to include new shortcut notification feature

* fix: remove unnecessary quotes from system proxy toggle messages in localization files

* fix: tun mode toggled hotkey notifications

* fix: correct toggle_tun_mode logic to handle current state and errors

---------

Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2026-03-30 17:06:45 +00:00
renovate[bot]
071f92635f
chore(deps): lock file maintenance (#6668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-30 16:47:20 +00:00
renovate[bot]
5ec1a48d76
chore(deps): lock file maintenance (#6667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-30 16:47:13 +00:00
wonfen
56291d3d91
chore: replace update URL 2026-03-30 12:01:05 +08:00
Tunglies
7a06a5a069
fix: remove dead localStorage writes and hardcoded key
- Remove unused `dns_settings_enabled` localStorage writes in
  setting-clash.tsx — state is sourced from verge config, these
  writes were never read anywhere.
- Replace hardcoded `'last_check_update'` localStorage read in
  system-info-card.tsx with exported `readLastCheckTime()` from
  the useUpdate hook, keeping the key in a single source of truth.
2026-03-29 02:06:08 +08:00
Tunglies
99bbd7ee5a
fix(home): unify last check update timestamp across settings and home page (#6605)
The settings page "Check for updates" did not update the homepage
"last check update time" because each page managed the timestamp
independently. Centralizes the timestamp in the useUpdate hook
via SWR + localStorage so both pages share a single data source.

Closes https://github.com/clash-verge-rev/clash-verge-rev/issues/6605#issuecomment-4147144987
2026-03-29 01:56:34 +08:00
Tunglies
c3aba3fc79
fix(profile): refresh profile data after timer auto-update completes
The profile-update-completed event handler was missing a mutate('getProfiles')
call, causing the "X time ago" display to show stale timestamps after
backend timer auto-updates.
2026-03-28 02:37:59 +08:00
Tunglies
857392de8a
fix(merge): optimize key handling in deep_merge function 2026-03-28 02:37:59 +08:00
Tunglies
4ee6402e29
fix(timer): improve delay timer handling during task execution 2026-03-28 01:45:02 +08:00
Tunglies
add2c1036b
fix(profile): refresh timer after profile deletion to ensure state consistency 2026-03-28 01:40:39 +08:00
Tunglies
c8f737d44e
chore!(deps): update sysproxy dependency to version 0.5.3 2026-03-28 01:03:56 +08:00
Tunglies
ca8e350694
fix(proxy): resolve system proxy toggle stuck and state desync (#6614) (#6657)
* fix(proxy): resolve system proxy toggle stuck and state desync (#6614)

Backend: replace hand-rolled AtomicBool lock in update_sysproxy() with
tokio::sync::Mutex so concurrent calls wait instead of being silently
dropped, ensuring the latest config is always applied.

Move blocking OS calls (networksetup on macOS) to spawn_blocking so
they no longer stall the tokio worker thread pool.

Frontend: release SwitchRow pendingRef in .finally() so the UI always
re-syncs with the actual OS proxy state, and rollback checked on error.

Closes #6614

* fix(changelog): add note for macOS proxy toggle freeze issue
2026-03-27 15:40:03 +00:00
Tunglies
607ef5a8a9
fix(home): update last check timestamp on manual update check (#6605)
The onCheckUpdate handler never persisted the timestamp to localStorage
or dispatched it to component state, so clicking "Last Check Update"
would report the result but leave the displayed time stale.
2026-03-27 22:10:20 +08:00
renovate[bot]
d5ef7d77f5
chore(deps): update github/gh-aw-actions action to v0.64.2 (#6645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 13:44:20 +00:00
Tunglies
961113b0db
chore(workflows): remove alpha build workflow 2026-03-27 21:33:59 +08:00
Nemu-x
762a400915
feat(installer): add Russian language to Windows installer (#6643)
* feat(installer): add Russian language to Windows installer

* feat(installer): add Russian to WebView2 installer configs
2026-03-27 06:01:27 +00:00
Nemu-x
6ff1e527ee
fix(i18n): improve Russian frontend localization (#6640) 2026-03-26 21:21:13 +00:00
renovate[bot]
2871d1fedd
chore(deps): update github/gh-aw-actions action to v0.64.1 (#6636)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 14:47:42 +00:00
renovate[bot]
dad6b89770
chore(deps): update dependency react-i18next to v16.6.6 (#6618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 14:27:27 +00:00
renovate[bot]
c65915db18
chore(deps): update github actions (#6619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 14:27:21 +00:00
Tamás Szabó
42a6bc3be3
Improves AI slop reviewer aw based on feedback (#6635)
* chore(ci): improves AI slop reviewer aw based on feedback

* chore(ci): update agent workflow pull request trigger types to include reopened state

---------

Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2026-03-26 14:00:56 +00:00
renovate[bot]
6d70d4cce2
chore(deps): update github/gh-aw-actions action to v0.63.0 (#6606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 13:33:30 +00:00
renovate[bot]
0c711b4ac1
chore(deps): update dependency react-i18next to v16.6.5 (#6616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 13:33:09 +00:00
renovate[bot]
1f465e4742
chore(deps): update dependency typescript to v6 (#6607)
* chore(deps): update dependency typescript to v6

* chore: remove deprecated config

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-24 04:07:13 +00:00
Tunglies
20aa773339
fix: allow pr ai review on unapproved PRs 2026-03-24 00:19:59 +08:00
Tunglies
670d7bae3b
refactor(tray): deduplicate icon getters, update_icon, and menu+icon combo
- Consolidate 3 near-identical icon getter functions into load_icon/default_icon with IconKind enum
- Merge two platform-gated update_icon implementations into one
- Extract update_menu_and_icon to eliminate duplicate combo in feat/config.rs and feat/clash.rs
2026-03-23 22:37:09 +08:00
Tunglies
0932de9f6c
fix(tray): sync tray state after all init tasks complete
Tray refresh ran in parallel with core init, so the tray could display
stale state when the core hadn't fully started yet.
2026-03-23 21:24:27 +08:00
renovate[bot]
e7cd690a45
chore(deps): update dependency react-i18next to v16.6.2 (#6599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 08:40:19 +00:00
Tunglies
77fa721119
fix(sysproxy): fully clear PAC when disabling system proxy (#6591) 2026-03-23 08:03:20 +00:00
renovate[bot]
a49807b89c
chore(deps): lock file maintenance (#6594)
* chore(deps): lock file maintenance

* chore: update Cargo.toml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-23 04:01:31 +00:00
renovate[bot]
9cc165997a
chore(deps): lock file maintenance (#6595)
* chore(deps): lock file maintenance

* chore: pnpm update

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-23 04:01:21 +00:00
Tunglies
1e59bb0863
chore: bump tao version to 0.34.8 to avoid window freeze on macOS 2026-03-22 22:22:07 +08:00
renovate[bot]
c27955d541
chore(deps): update dependency react-i18next to v16.6.1 (#6587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-22 14:00:41 +00:00
renovate[bot]
41ba5bf203
chore(deps): update dependency react-i18next to v16.6.0 (#6581)
* chore(deps): update dependency react-i18next to v16.6.0

* chore: .prettierignore

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-22 05:25:06 +00:00
wonfen
a2d66adceb
chore: update change log 2026-03-22 00:10:59 +08:00
wonfen
b885b96deb
fix: tg HTML parsing failure 2026-03-22 00:10:59 +08:00
wonfen
6a818bc2e7
chore: add standalone telegram Notify workflow 2026-03-22 00:10:59 +08:00
wonfen
1d27bf96be
fix: telegram html arsing failure 2026-03-22 00:10:59 +08:00
wonfen
603671717a
Release 2.4.7 2026-03-22 00:10:59 +08:00
renovate[bot]
32a6de15d8
chore(deps): update github/gh-aw-actions digest to 853312c (#6579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-21 11:36:49 +00:00
Tunglies
fa868295d8
fix: update script paths in PR AI Slop Review workflow 2026-03-21 19:28:01 +08:00
Tunglies
70a86b05c5
fix: align draft commit/save semantics
- use committed profiles snapshot for lifecycle saves (avoid persisting uncommitted drafts)
- remove apply/discard calls after profiles with_data_modify helpers
- persist profiles metadata explicitly in create_profile
- apply clash draft before saving mode changes
- surface deep-link profile save failures via logging
2026-03-21 18:54:47 +08:00
Tunglies
85eb3b48c2
chore: bump version to 2.4.8 2026-03-21 17:03:15 +08:00
renovate[bot]
248d464ad3
chore(deps): update github/gh-aw action to v0.62.5 (#6573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-21 07:31:44 +00:00