Commit Graph
5013 Commits
Author SHA1 Message Date
Tunglies 0b67405bad fix(linux): report an unrestored Service state regardless of readiness
Refs #8515
2026-11-10 07:53:00 +08:00
Tunglies aeffb55820 feat(linux): show when an upgrade could not restore the Service state
Refs #8515
2026-11-10 07:53:00 +08:00
Tunglies 136385c028 fix(linux): report a Service state restore failure after reinstall
Refs #8515
2026-11-10 07:53:00 +08:00
Tunglies e25b8afec3 fix(linux): keep runtime-only Service enablement across upgrades
Refs #8515
2026-11-10 07:53:00 +08:00
Tunglies 90bc660630 docs(linux): note the uninstaller wrapper beside the real binary
Refs #8515
2026-11-10 07:53:00 +08:00
Tunglies 5740f216fb fix(linux): only flag an rpm upgrade the Service may not survive
Refs #8515
2026-11-10 07:53:00 +08:00
Tunglies ba6fc606ca docs(changelog): cover Windows and Linux Service reinstall on upgrade 2026-11-10 07:52:59 +08:00
Tunglies c75ad61aa3 fix(linux): keep the Service through released rpm %preun via uninstaller wrapper
Refs #8515
2026-11-10 07:52:59 +08:00
Tunglies 9048a752e2 feat(windows): reinstall an existing Service during NSIS upgrades
Refs #8553
2026-11-10 07:52:59 +08:00
Tunglies 9618dcd4a4 revert(linux): drop journal-based recovery of a removed Service
The journal cannot tell an upgrade's prerm removal from an explicit
uninstall, nor restore the previous enablement, so it must not trigger
an automatic reinstall. Upgrades from packages whose prerm removes the
Service are left unrecovered.

Refs #8515
2026-11-10 07:52:59 +08:00
Tunglies 2ecefeddf3 fix(linux): bind deb Service recovery to the removing transaction
Reinstall a Service removed by a previous prerm only when the old prerm
uninstalls unconditionally, this dpkg run completed a stop job for it,
and its group comes from that same invocation's stdout journal entries.
Hand the evidence to the postinst through a single-use file tied to the
old version and cleared by every preinst.

Refs #8515
2026-11-10 07:52:59 +08:00
Tunglies e3ad1cd319 feat(linux): preserve Service state across upgrades and surface failures
Reinstall an existing Service while keeping its enabled, runtime-masked
and active state. Detect, from the journal, a running Service removed by
a previous deb prerm and reinstall it with its recorded group. Package
script output never reaches the app, so leave a /run marker that makes
the app offer a reinstall once when the Service is not ready.

Hold the core lifecycle until the package manager exits, even after the
startup install times out, so no core start overlaps the Service
reinstall; restart the app once a late install succeeds.

Refs #8515
2026-11-10 07:52:59 +08:00
Tunglies 1b45614056 feat(linux): reinstall an existing Service when upgrading the package
The deb postinst and rpm %post now reinstall the Service in place when an
upgrade finds its systemd unit, reusing the unit's group so package-manager
runs without a sudo/pkexec user keep the same IPC access. First installs and
disabled, masked, or group-less units are left alone; failures warn and exit
0 because neither dpkg nor rpm can restore the previous Service from a failed
postinst.

The in-app updater stops a Service-run core before installing on Linux and
restarts it if the install fails, so the post-update restart does not fail on
the session lost when the Service restarts.

Refs #8515
2026-11-10 07:52:59 +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]andrenovate[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
❤是纱雾酱哟~andrenovate[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
❤是纱雾酱哟~andrenovate[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
❤是纱雾酱哟~andrenovate[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
❤是纱雾酱哟~andrenovate[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
renovate[bot]renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Tunglies
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]andrenovate[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]anddependabot[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
renovate[bot]Tungliesrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
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
renovate[bot]Tungliesrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
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]andrenovate[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