Commit Graph
4796 Commits
Author SHA1 Message Date
Tunglies 3618ee1e05 fix(clippy): remove redundant formatting borrow 2026-08-17 00:42:59 +08:00
Tunglies 1feba6f073 perf(tray): skip proxy data when menu groups are disabled 2026-08-17 00:42:59 +08:00
wonfen ac37945ee4 chore: bump service version to 2.6.2 2026-08-16 21:31:54 +08:00
Tunglies 3e51aaa4da Revert "fix(ui): center sidebar item labels (#7289)"
This reverts commit 6960daf05e.
2026-08-16 11:08:34 +08:00
雨落 def7a9ce98 fix(enhance): use a lenient timeout for ipc service invoking. (#7558)
Signed-off-by: 秋雨落 <i@rain.cx>
2026-08-16 02:41:49 +00:00
ChenXiangandTunglies c51dd535c1 fix polkit (#7360)
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2026-08-16 02:26:24 +00:00
ChenXiangand❤是纱雾酱哟~ 8d2c629241 Update Node.js and Rust versions in devcontainer settings (#7379)
* fix(devcontainer): update dev containers configs

- Introduce package manager configs for Nodejs initialization
- Limit version of Rust initialization
- Adjust VSCode extension requirements
- Switch default formatter from Prettier to Biome
- Adjust volume mounts of the container

* fix(devcontainers): adjust container user

- Unify container user and remote user to "vscode"
- Avoid permission issues in GitHub CodeSpaces
  - CodeSpaces uses "root" for operations by default

---------

Co-authored-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
2026-08-15 10:54:14 +00:00
wonfen c8e248f3ed fix: remove unused notice service export 2026-08-15 06:56:31 +08:00
Tunglies 49f638414b refactor: clean up unused backend code 2026-08-15 00:07:48 +08:00
wonfen 22947632c0 refactor: Rewrite and improve sysproxy logic (#7744)
* fix(cmd): preserve anyhow context in coded errors

Use alternate error formatting so coded failures retain the full anyhow context chain without changing their wire format.

* fix(macos): skip redundant proxy disable writes

When both proxy modes are off, read macOS state first and skip networksetup if the OS is already clean. Update the guard target only after a successful write.

* feat(proxy): classify system proxy failures

Attach stable, actionable proxy failure codes to anyhow chains while preserving the original diagnostic causes.

* feat(cmd): return structured command failures

Replace encoded error strings with serializable code and detail fields, and update frontend notice consumers to handle the structured shape.

* fix(scripts): use the js-yaml namespace import

Import js-yaml through its ESM namespace so the i18n cleanup script can access load and dump.

* feat(proxy): localize classified proxy failures

Map privilege and direct-fallback codes to localized explanations, and let mapped causes outrank generic operation keys in notices.

* fix(ui): bound notice text and render failure details

Limit resolved notice text without truncating clipboard content, and normalize structured failures embedded in translation parameters.

* feat(proxy): persist unseen proxy failures

Store unresolved classified failures by code, notify the frontend when the table changes, and show each failure sequence once when a visible window can receive it.

* feat(proxy): report tray and hotkey toggle failures

Record classified failures from tray and hotkey proxy toggles so they appear when a visible window is available.

* fix(ui): restore the proxy switch after failed toggles

Refresh frontend proxy state after a failed toggle so the switch reflects the rolled-back configuration.

* feat(proxy): stop the guard after repeated failures

Report guard outcomes, stop after the failure threshold, and persist the classified failure for the frontend.

* fix(macos): preserve proxy during service handoff

Stop a sidecar being handed to the service without clearing proxy state that the new owner must inherit.

* feat(macos): classify misplaced sidecar state

Distinguish a refused sidecar proxy write from a machine that still needs the privileged service installed.

* feat(ui): recover misplaced sidecar notices

Offer a restart action for macOS proxy failures caused by a ready service while the core still runs as a sidecar.

* feat(ui): install the service from proxy notices

Let privilege notices install the macOS service, restart the core, and report the runtime mode that was actually reached.

* feat(cmd): attach requested proxy operations

Carry the requested proxy direction with structured command failures when the originating command knows it.

* feat(sysproxy): drain guards before OS access

Wait for the local proxy guard to stop before OS reads, service handoff, or final writes, and refuse transitions when it does not drain.

* feat(sysproxy): recover partial proxy writes

Use write progress to choose whether to restore the old guard or compensate with a disabled proxy state, while preserving actionable errors.

* feat(sysproxy): skip already-applied proxy writes

Compare macOS proxy snapshots with global, PAC, and disabled targets so matching state avoids redundant privileged writes.

* feat(proxy): report background proxy failures

Persist and surface classified proxy failures from lifecycle paths that have no direct caller awaiting the result.

* feat(ui): move proxy recovery into a dialog

Guide users through installing or switching to the service after a refused proxy write, and suppress duplicate toast reports.

* fix(ui): close proxy dialog after service recovery

Dismiss the recovery dialog once the core reaches service mode, even when the original proxy request remains pending.

* feat(ui): retry proxy request after service recovery

Replay the requested proxy direction after the core reaches service mode, while leaving incidental restores unchanged.

* fix(proxy): refresh state after successful apply

Publish the proxy refresh from the shared apply path after releasing the lifecycle lock, and remove the tray-specific duplicate.

* feat(ui): show proxy recovery progress

Display installation, restart, and proxy-apply stages while keeping the primary action spinner visible during recovery.

* feat(ui): route unavailable TUN through service recovery

Let the TUN switch request service recovery and restore its requested state after the core restarts in service mode.

* fix(ui): avoid duplicate TUN recovery errors

Roll back deferred TUN toggles without reporting an error, and publish configuration refreshes from the transaction commit path.

* chore: update changelog & pinlock

* fix(core): resolve platform-specific clippy warnings

* fix(core): detect Windows wildcard TCP conflicts

Windows permits a specific exclusive bind beside an existing non-exclusive wildcard listener. Consult the system TCP listener table so the probe reports that overlap as a conflict.
2026-08-14 23:52:37 +08:00
wonfen 0844ed30a8 fix(core): only fail the macOS listener guard on real bind conflicts
Guard addresses can vanish or fail to bind for reasons unrelated to the
port, and probe_claims turned that into a persisted mixed-port fallback.
2026-08-14 22:01:21 +08:00
eviaaaaaandwonfen eb29c18246 fix(core): avoid false mixed-port fallback after quickly relaunching Clash (#7732)
* fix: ignore stale TCP state in port probe

* fix: preserve macOS listener conflict detection

---------

Co-authored-by: wonfen <eiwonfen@gmail.com>
2026-08-14 19:49:31 +08:00
Ryovik 6960daf05e fix(ui): center sidebar item labels (#7289)
Remove the negative text offset so labels remain centered within the list item text area.
2026-08-13 17:04:31 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> ede1d8e524 chore(deps): update github/gh-aw-actions action to v0.86.2 (#7741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-13 17:02:12 +00:00
oomeow aadceba064 fix(sysproxy): dconf command is no longer mandatory (#7736) 2026-08-12 12:10:12 +00:00
AetherWingand❤是纱雾酱哟~ a5aea75f37 feat: allow moving rules between prepend and append (#7214)
* feat: allow moving rules between prepend and append

* chore: merge import

---------

Co-authored-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
2026-08-12 02:27:51 +00:00
Chen, Ting-An 5cad0f2799 fix(i18n): complete Traditional Chinese backend strings (#7726) 2026-08-11 17:23:22 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 00ca5c170c chore(deps): update rust crate futures to 0.3.34 (#7728)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-11 16:15:01 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 5f8c471696 chore(deps): update dependency eslint-plugin-sukka to v10 (#7715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-11 14:06:03 +00:00
❤是纱雾酱哟~ cc20fd2328 chore(renovate): enable supply-chain-attack protection (#7723)
- Configure Mend Renovate to match default pnpm "min age" setting
- Prevent pull request creation for npm dependencies younger than 1 day

Signed-off-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
2026-08-11 14:03:48 +00:00
oomeow 2ce59e17ab feat(sysproxy): show explicit hint for missing commands when setting proxy on Linux (#7729)
* feat(sysproxy): robust command detection with explicit errors

* docs(changelog): add Linux proxy missing command note
2026-08-11 13:46:52 +00:00
❤是纱雾酱哟~ d5052d09e1 chore(renovate): skip typescript 7.0 updates (#7720)
Signed-off-by: ❤是纱雾酱哟~ <49941141+Dragon1573@users.noreply.github.com>
2026-08-11 03:05:15 +00:00
Tunglies c11791137f perf(tray): avoid cloning runtime config 2026-08-10 22:13:33 +08:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> a1c27f5e8b chore(deps): update dependency knip to v6.32.1 (#7717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-10 12:20:17 +00:00
wonfen ec53608a70 sytle: change filter icon 2026-08-10 12:30:17 +08:00
Tunglies eb769b44ab fix(macos): precompile liquid glass icon (ref #7682) 2026-08-09 16:05:03 +08:00
StarsSailandwonfen df7e52f25c fix: remove unnecessary allow_auto_update default value (#7697)
* fix: remove unnecessary allow_auto_update default value

* fix: normalize missing profile auto-update state

---------

Co-authored-by: wonfen <eiwonfen@gmail.com>
2026-08-09 06:29:01 +00:00
StarsSailandwonfen 117bac8110 feat: add parseYamlSafe utility (#7706)
* feat: add parseYamlSafe utility function and refactor YAML parsing in components

* fix

* fix

* fix: preserve malformed YAML in profile editors

---------

Co-authored-by: wonfen <eiwonfen@gmail.com>
2026-08-09 06:02:47 +00:00
Tunglies ed4e55a947 chore(knip): include Sass project files 2026-08-09 12:16:48 +08:00
Tunglies f32fd0eaa9 fix(profile): cover card with switching overlay 2026-08-09 11:32:59 +08:00
Tunglies 9b61b3bd4e fix(sysproxy): update to 0.5.5 2026-08-09 10:55:58 +08:00
❤是纱雾酱哟~andTheodore c34781e167 preferences(icon): adds liquid glass icon support (#7682)
- Includes a liquid glass icon asset and updates the Tauri configuration to package it with the application bundle

Co-authored-by: Theodore <57642656+AlwaysExtraordinary@users.noreply.github.com>
2026-08-08 17:38:56 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 3df3ef89ee chore(deps): update rust crate async-trait to 0.1.92 (#7703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-08 15:21:45 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 8cddcd6445 chore(deps): update dependency knip to v6.32.0 (#7694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-08 11:29:14 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> dd56c7374d chore(deps): update github/gh-aw-actions action to v0.86.1 (#7699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-08 01:34:23 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 9a6adb887d chore(deps): update rust crate flexi_logger to 0.31.10 (#7698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-08 01:34:20 +00:00
Tunglies 6d9813756d style: fix side menu fontWeight
Ref: #6578
Close: #7536
2026-08-08 02:32:28 +08:00
Tunglies 1ebe2ab0f8 chore: update pr-ai-slop-review 2026-08-08 01:32:57 +08:00
Tunglies 19744805a9 chore: remove unused config 2026-08-08 01:22:06 +08:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 2f44d2bc7d chore(deps): update github/gh-aw-actions action to v0.86.0 (#7695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-07 06:23:30 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> a3ccd59c34 chore(deps): update github/gh-aw-actions action to v0.85.4 (#7693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 10:13:46 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> b138eb848d chore(deps): update rust crate open to 5.4.1 (#7690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 00:24:04 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> dadf53c46a chore(deps): update github/gh-aw-actions action to v0.85.1 (#7689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-06 00:14:46 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 85eb3931b9 chore(deps): update github/gh-aw-actions action to v0.85.0 (#7686)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-05 01:26:08 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> c4268f7918 chore(deps): update github/gh-aw-actions action to v0.84.4 (#7685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-05 00:09:03 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 0b3d00b77d chore(deps): update github actions (#7676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-04 21:28:47 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 859afee337 chore(deps): update rust crate base64 to 0.23.1 (#7680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-04 21:27:26 +00:00
queukat e7b1807fef Improve Russian localization (#7138) 2026-08-04 13:20:27 +00:00
Tunglies a8275b20b7 refactor: extract media unlock checker crate 2026-08-04 11:37:54 +08:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 544c47c634 chore(deps): update github/gh-aw-actions action to v0.84.3 (#7675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-03 11:58:23 +00:00