Tunglies
d88fe8dec2
test(connections): retain only allocation and formatting guards
...
Reduce snapshot and table tests to reference reuse, notification suppression, and visible-row formatting cost.
2026-11-10 10:56:31 +08:00
Tunglies
dc641bf1f4
test(connections): focus clock regression on timer cost
...
Replace behavioral clock assertions with one resource-count check for shared, hidden, and released intervals.
2026-11-10 10:55:09 +08:00
Tunglies
73b18a28ed
test(connections): limit coverage to changed behavior
...
Keep snapshot sharing, speed decay, bounded history, numeric sorting, and visibility regression guards. Remove unrelated clear-history and pending-delivery assertions.
2026-11-10 07:52:07 +08:00
Tunglies
f84be8df72
perf(connections): reduce snapshot and table allocation churn
...
Reuse unchanged connection lists, sort traffic columns without display snapshots, and suspend the relative-time clock while hidden. Keep rule rows indexed and release resize listeners on unmount.
2026-11-10 07:52:02 +08:00
renovate[bot] and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
9d0bee4af9
chore(deps): update npm dependencies ( #8608 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-09 16:35:40 +00:00
1e4f709766
fix(proxy): show a profile-defined GLOBAL in rule mode when it is the only group ( #8607 )
...
* fix(proxy): show a profile-defined GLOBAL in rule mode when it is the only group
Rule mode renders only proxyView.groups, and the backend always moves
GLOBAL out of that list. A profile whose only group is GLOBAL, or that
has no proxy-groups, therefore showed the "no proxy info" empty state.
Fall back to GLOBAL in that case, as v2.5.2 did before #7542 .
Fixes #8223
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* docs(changelog): note the rule-mode GLOBAL fix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
* chore: drop the regression test and append the changelog entry
Per review: the test was only needed to confirm the fix locally, and new
changelog entries go at the end of their list.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
---------
Co-authored-by: toBerlinWay <toBerlinWay@users.noreply.github.com >
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-11-09 16:33:47 +00:00
aae5dc90ba
chore(deps): update cargo dependencies ( #8595 )
...
* chore(deps): update cargo dependencies
* fix(deps): select rfd Linux backend
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-11-09 15:10:19 +00:00
Tunglies
05a6e9a64f
fix(proxy): unify node switching and connection cleanup ( #8592 )
...
Route frontend and tray node selections through the same backend flow for
selection, persistence, state refresh, and connection cleanup. Read the
group's previous selection before switching and preserve the original
rule of closing only connections whose chains contain that selection.
Run optional cleanup in the background and keep its failures separate
from successful selection. Remove redundant frontend effects and unused
IPC commands, and refresh the proxy view for every successful switch.
Refs: 32095daf90
Refs: bea0dde074
2026-11-09 14:28:44 +00:00
Tunglies
7764289ba5
chore(ci): prepare Copilot build environment
2026-11-09 22:38:20 +08:00
Tunglies
417f0b4c32
fix(ci): recognize Copilot assignment login
2026-11-09 22:22:48 +08:00
wonfen
d51e4a95d6
fix(proxy): show slashed delay-url icon while the input is open
2026-11-09 20:11:38 +08:00
wonfen
a7981195c5
refactor(profile): simplify REALITY short-id quoting
...
Quote short-ids with a plain text pass and keep the result only when nothing but numeric short-ids changed. Drop the editor-save and seq-file paths.
2026-11-09 19:14:17 +08:00
Tunglies
c3531bbbf2
refactor(profiles): drop duplicate reactivation after profile delete
...
delete_profile already forces a Core update with the planned profiles when
the current or last profile is removed, and restores state on rejection,
so the frontend enhance_profiles call repeated the same reload.
2026-11-09 14:23:11 +08:00
Tunglies
8660a11c2b
fix(proxy): preserve rapid group selections
...
Refs: #8602
Refs: 262b6f8adf
2026-11-09 13:06:07 +08:00
Tunglies
cd5156fb8a
feat(frontend): preserve page filters during navigation
...
Closes #7788
2026-11-09 10:03:37 +08:00
renovate[bot] and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
77a2df70c2
chore(deps): update github/gh-aw-actions action to v1.2.1 ( #8596 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-08 11:36:01 +08:00
Tunglies
891f6cd61b
chore(ci): automate Renovate lint repair and minor upgrade analysis
...
Assign Copilot once per eligible Renovate PR when current-head lint or
type checks fail. Reuse repository guidance and COPILOT_GITHUB_TOKEN.
Analyze minor dependency version sets separately, deduplicate dispatches,
and publish adoption suggestions without changing code or merge state.
2026-11-08 11:36:00 +08:00
Tunglies
884aa24677
fix(network): limit text response bodies to 4 MiB
...
Closes #8344
Closes #8359
2026-11-08 10:18:37 +08:00
Tunglies
51fff78287
chore(deps): group gh-aw updates separately
2026-11-08 10:18:20 +08:00
Tunglies
5a0f3796c6
chore(review): add on-demand fix verification
2026-11-08 10:18:18 +08:00
Tunglies
984fda593d
chore(ci): upgrade gh-aw and bound review context
2026-11-08 10:15:36 +08:00
Tunglies
3ed3384f0d
chore(review): align ownership checks with maintenance policy
2026-11-08 10:15:13 +08:00
Tunglies
70799e68b8
docs: define development and review workflow
2026-11-08 10:15:04 +08:00
❤是纱雾酱哟~ and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
46941f9d4d
chore(deps): update npm dependencies ( #8594 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-07 14:08:08 +00:00
❤是纱雾酱哟~ and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
603e616f73
chore(deps): update dependency react-i18next to v17.1.10 ( #8584 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-06 17:42:25 +00:00
❤是纱雾酱哟~ and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
96259b36fd
chore(deps): update dependency pnpm to v12.18.0 ( #8583 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-06 17:37:37 +00:00
❤是纱雾酱哟~ and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
c738feefcf
chore(deps): update rust crate smartstring to v2 ( #8576 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-06 17:35:51 +00:00
Tunglies
7fd537af08
feat(settings): add searchable settings navigation
2026-11-06 17:14:15 +08:00
Tunglies
38faf20f90
feat(home): add core restart action to Clash info card
2026-11-06 17:14:06 +08:00
wonfen
87d9f95990
fix(profile): keep unquoted REALITY short-id as a string
...
Quote plain hex short-id values before YAML parsing, since a value like 1234e123 becomes a float that cannot be restored. Keep the rewrite only when nothing else changes, and let the editor save check a quoted copy.
2026-11-06 14:26:55 +08:00
b9ab3b2015
chore(deps): update rust crate zip to 9.3.0 ( #8567 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2026-11-04 22:56:57 +00:00
renovate[bot] and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
a45c681389
chore(deps): update pnpm/action-setup action to v6.1.1 ( #8566 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-04 22:51:08 +00:00
nrenvo
a15ff6b448
ci: drop markdown from the frontend check paths ( #8492 )
2026-11-04 14:44:12 +00:00
nrenvo
dae542f772
ci: regenerate the i18n types and check them for drift ( #8494 )
2026-11-04 14:43:16 +00:00
Tunglies
39ba1e64a6
chore(deps): remove unused dependencies ( #8559 )
...
- Drop tauri-plugin-process: no frontend or Rust consumer; exit and
restart already go through the exit_app/restart_app commands backed
by AppHandle::exit/restart. Remove the registration and the unused
process:allow-exit capability.
- Replace the glob dev dependency with Node's built-in fs.globSync in
prebuild's service permission step (Node baseline is 26.13.0).
- Remove unused direct Cargo declarations: bitflags and regex (source
and workspace entries), and src-tauri's criterion dev-dependency;
clash-verge-draft keeps criterion for its bench.
- Narrow sysinfo to the network/system features actually consumed.
- Use futures::StreamExt for DelayQueue in the timer and drop the
tokio-stream direct declaration (still transitively present via
clash-verge-service-ipc).
2026-11-04 09:23:16 +00:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
27da92b5ff
chore(deps): bump the npm_and_yarn group across 1 directory with 3 updates ( #8558 )
...
Bumps the npm_and_yarn group with 3 updates in the / directory: [follow-redirects](https://github.com/follow-redirects/follow-redirects ), [source-map-js](https://github.com/7rulnik/source-map-js ) and [undici](https://github.com/nodejs/undici ).
Updates `follow-redirects` from 1.16.0 to 1.16.2
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases )
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.16.0...v1.16.2 )
Updates `source-map-js` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/7rulnik/source-map-js/releases )
- [Changelog](https://github.com/7rulnik/source-map-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/7rulnik/source-map-js/compare/v1.2.1...v1.2.2 )
Updates `undici` from 6.28.1 to 6.29.1
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v6.28.1...v6.29.1 )
---
updated-dependencies:
- dependency-name: follow-redirects
dependency-version: 1.16.2
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: source-map-js
dependency-version: 1.2.2
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: undici
dependency-version: 6.29.1
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-04 09:22:25 +00:00
Tunglies
f076d4cd5d
fix(macos): preserve DNS and proxy state across network changes
2026-11-04 11:19:16 +08:00
Tunglies
97dc1622ee
chore(updater): prefer GitHub before mirror endpoints
...
Relate #8529
2026-11-04 11:19:16 +08:00
Tunglies
f65a7f1348
fix(tray): refresh icon after service operations
...
Refresh the tray menu, icon, and tooltip after service operations so restored TUN capability is reflected without changing the saved TUN setting.
Ref: e60285b4ae
2026-11-04 11:19:16 +08:00
wonfen
14abc4c4ee
refactor(react): replace avoidable effects with derived state and handlers
...
Also drops a duplicate WebDAV history request on open and the per-keystroke DNS YAML dump.
2026-11-04 10:17:52 +08:00
wonfen
84bbe790e8
fix(proxies): move an unpicked GLOBAL off DIRECT to its first group
...
Keep DIRECT and REJECT listed in global mode.
2026-11-04 10:17:52 +08:00
e4d82a1b3f
chore(deps): update tauri ( #8388 )
...
* chore(deps): update tauri
* fix(deps): restore compatible Specta and dialog dependencies
* fix(deps): align Specta release versions
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
* fix(deps): regenerate Specta bindings and align consumers
* fix(deps): use the dialog plugin GTK backend
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2026-11-03 23:56:44 +08:00
9fb46607b5
chore(deps): update cargo dependencies ( #8384 )
...
* fix(webdav): allow clearing saved configuration
Close #8495
* chore(deps): update cargo dependencies
* fix(ci): resolve Rust dependency update failures
* chore(deps): remove unrelated changelog entries
---------
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-11-03 15:26:38 +00:00
wonfen
943e18e8ca
fix(proxies): list only GLOBAL members in global mode
...
Reveal a group once GLOBAL selects it; hide DIRECT and REJECT unless selected.
2026-11-03 22:31:53 +08:00
Tunglies
8be05c178b
fix(renovate): create Specta pull requests before CI
2026-11-03 22:28:56 +08:00
Tunglies
01fbc5714f
style(renovate): format Specta package rules
2026-11-03 22:21:22 +08:00
Tunglies
5d41f99eb1
chore(renovate): group compatible Specta dependencies
2026-11-03 22:17:58 +08:00
Tunglies
1105eedeb6
fix(react): avoid redundant DNS and proxy updates ( #8543 )
2026-11-03 12:58:43 +00:00
renovate[bot] and renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
891757ede6
chore(deps): update dependency vite to v8.3.3 [security] ( #8538 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-11-03 12:36:14 +00:00
Tunglies
2b7b7cc0e7
fix(updater): refresh changed update offers before installation
2026-11-03 18:57:05 +08:00