Commit Graph
2190 Commits
Author SHA1 Message Date
oomeow e176e4a81e fix(validate): mock console object in validate step (#7358)
* feat(core): mock console object in boa engine context to suppress logs

* style(core): update quote style in validate.rs
2026-06-30 11:27:28 +00:00
Tunglies a862667d9b fix: defer setup resources until after first window 2026-06-30 12:53:21 +08:00
Tunglies 4aec41d3be fix: defer tray proxy menu refresh 2026-06-29 18:52:11 +08:00
Tunglies 5fd2175b06 fix: read enhance chain items concurrently 2026-06-29 18:28:18 +08:00
wonfen deae6442a7 fix(backup): make WebDAV directory creation idempotent 2026-06-29 12:09:55 +08:00
Tunglies 2a5d29cdb2 fix: defer runtime config init until after window 2026-06-29 05:19:38 +08:00
Tunglies dad5121b7d fix(service): harden privileged service path execution 2026-06-28 21:21:01 +08:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 1d3a7107d9 chore(deps): update cargo dependencies (#7332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-28 11:52:25 +00:00
wonfen 294955cb8c feat: add fake-ip-range6 2026-06-28 13:08:55 +08:00
StarsSail 16e15ed9d4 fix: improve hide_main_window logic when hotkey pressed (#7322) 2026-06-27 23:50:36 +00:00
wonfen b7157fac15 fix(core): serialize core lifecycle transitions
Add a lifecycle lock around core start, stop, restart, and service handoff
paths. Make start_core idempotent, skip startup while exiting, and roll
back running mode after startup failures so later retries are not blocked.
2026-06-28 07:23:57 +08:00
wonfen 7cad713cac chore: update clash-verge-service-ipc version to 2.3.1 2026-06-28 04:34:44 +08:00
wonfen 1112f0730d fix(core): improve service startup and cleanup reliability
Wait longer for slow Windows service startup, then hand off from sidecar
to service when it becomes ready. Retry service core startup during the
handoff window, and clean up root-owned macOS service core/IPC leftovers
before uninstalling the service.
2026-06-28 04:34:01 +08:00
wonfen 1e44bafa79 fix(service): notify users about macOS App Translocation
Show a delayed localized error notice when Clash Verge is running from a
translocated temporary path and no stable core path can be resolved.
2026-06-28 03:48:13 +08:00
Yao Jingxiandwonfen 4c46223107 fix: handle macOS service AppTranslocation state (#7340)
Co-authored-by: wonfen <96291150+wonfen@users.noreply.github.com>
2026-06-28 02:24:09 +08:00
wonfen b7a454fedb chore: track tauri-plugin-mihomo fix/api-robustness branch
Pulls in the plugin's response-deserialization tolerance, connection-pool permit fix, single reqwest::Client reuse, and WebSocket secret encoding/redaction (cf97ff9).
2026-06-27 15:39:00 +08:00
wonfen d0d2f4e4f5 fix: read clash mode tolerantly and propagate mode-switch failures
The home mode card read the proxy mode only from mihomo's /configs (strict
BaseConfig); when that response drifted a single field, the whole read
failed and the card showed a bare "communication error". patch_clash_mode
also swallowed backend PATCH failures and always returned Ok, so the UI
could not tell a switch had actually failed.

- add a tolerant get_clash_mode command that reads mode from the saved
  clash config (IClashTemp::get_mode), bypassing strict BaseConfig
  deserialization, and
- make change_clash_mode return Result and have patch_clash_mode propagate
  it; the hotkey/tray callers log-and-ignore as before.
2026-06-27 15:30:20 +08:00
oomeow 9b87cd53e1 fix(tray): tray icon flickering on macOS (#7335)
* fix(tray): tray icon flickering on macOS

* refactor(tray): use explicit cfg blocks for template logic
2026-06-21 19:28:39 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 9867a2af99 chore(deps): update cargo dependencies (#7307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-19 06:52:34 +00:00
57b891215e fix: restore default size for collapsed window state (#7215)
Co-authored-by: puneetdixit200 <236133619+puneetdixit200@users.noreply.github.com>
Co-authored-by: wonfen <96291150+wonfen@users.noreply.github.com>
2026-06-18 13:23:02 +08:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 894c73d602 chore(deps): update cargo dependencies to 1.12.4 (#7260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-16 04:39:34 +00:00
Tunglies 220474888c fix: clippy error 2026-06-16 12:39:14 +08:00
Tunglies 55ce7bffe4 refactor: avoid embed server clone 2026-06-13 19:51:14 +08:00
Tunglies 2ddd95cf40 refactor(macos): avoid speed text clone 2026-06-13 19:48:49 +08:00
Tunglies 27161876f0 refactor: avoid allocating default tray icons 2026-06-13 13:37:15 +08:00
Tunglies 35c534ae1c refactor: lazylock for profile regex 2026-06-10 16:38:39 +08:00
oomeowandTunglies ee7f66f49c fix(macOS): early setup macOS activation policy (#7246)
* fix(macOS): early setup of macOS activation policy

* refactor

---------

Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2026-06-09 05:32:47 +00:00
wonfen 2828782e4c chore: update sysproxy-rs 2026-06-07 23:44:17 +08:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> ee9d5126d3 chore(deps): update cargo dependencies (#7213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-05 14:02:27 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 462d9f536d chore(deps): update cargo dependencies (#7141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-02 13:46:05 +00:00
Tunglies fa27d3eae5 Revert "feat(cvd): add device-bound subscription protocol"
This reverts commit 2cb9c13ab6.
2026-06-02 21:02:19 +08:00
wonfen 2cb9c13ab6 feat(cvd): add device-bound subscription protocol 2026-06-02 13:43:54 +08:00
Tunglies 9c639bfcc5 fix: run exit cleanup before app shutdown
Close #7158
2026-05-30 16:01:25 +08:00
Tunglies 232be33754 fix(draft): serialize async updates 2026-05-30 13:31:10 +08:00
Tunglies 6e6c537e6b refactor service manager locking 2026-05-28 23:22:56 +08:00
Tunglies 08fd2ce68b fix(core): serialize runtime config updates 2026-05-28 17:41:39 +08:00
Tunglies dc094033b8 Revert "refactor: remove subscription TLS roots fallback"
This reverts commit 746279fa03.
2026-05-28 02:42:13 +08:00
Li Yangandliyang f916711717 fix(tray): use an app-specific tray id (#6772)
Co-authored-by: liyang <liyang25@pku.edu.cn>
2026-05-26 13:34:39 +00:00
Tunglies 761209bbbc refactor: backend (#7102)
* refactor(tray): move tray log opening to utils helper

* refactor(enhance): move owned config through pipeline

* refactor(enhance): move sequence values in use_seq

* refactor(enhance): move values while sorting fields

* refactor(enhance): move values when lowercasing owned config

* refactor(backend): move owned config values in utilities

* refactor(tray): borrow hotkey accelerators

* refactor(core): borrow proxy config strings

* fix(backend): preserve config patch semantics

* refactor(enhance): clarify config transform names
2026-05-26 10:47:03 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 8752130f75 chore(deps): update cargo dependencies (#7109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-26 06:14:38 +00:00
Tunglies c7cdc62512 chore: bump dependencies
Bump tauri-plugin-mihomo to 0.5.0 and update frontend dependency locks.

Adapt the traffic websocket stream parser to the new raw text byte callback API.
2026-05-26 13:30:37 +08:00
Tunglies 746279fa03 refactor: remove subscription TLS roots fallback 2026-05-26 00:23:55 +08:00
Tunglies e2d14a5ea7 fix: support empty basic auth passwords 2026-05-25 23:12:44 +08:00
Tunglies d75c4cf59e fix: enable gzip subscription responses
docs: update changelog for gzip subscriptions
2026-05-25 22:59:11 +08:00
Tunglies ec9ef0f85e fix: report legacy TLS subscription failures 2026-05-25 22:22:24 +08:00
Tunglies 8ccb0b9abd perf: reduce tokio runtime thread limits
The Tauri backend is primarily the control plane for IPC, config generation, tray/window events, and mihomo API calls. The proxy data plane runs in the mihomo sidecar/service process, so allowing up to 16 runtime workers adds scheduling headroom without clear startup benefit.

Setup benchmark used isolated HOME/XDG dirs, isolated mihomo IPC sockets, sidecar mode, disabled TUN/system proxy defaults, and graceful shutdown after setup on an 18-thread host.

| limit | workers | blocking | setup async avg/max | avg threads |
| --- | ---: | ---: | ---: | ---: |
| old | 16 | 64 | 742.2ms / 1163.4ms | 34.5 |
| old | 8 | 32 | 650.8ms / 680.9ms | 27.0 |
| old | 4 | 16 | 681.5ms / 708.1ms | 23.8 |
| new | 16 | 32 | 682.8ms / 747.0ms | 35.3 |
| new | 8 | 16 | 650.1ms / 662.4ms | 26.0 |
| new | 4 | 8 | 639.3ms / 645.5ms | 22.1 |

The 2x blocking pool reduced tail latency across the tested limits. Capping workers at 8 keeps enough concurrency for normal control-plane work while avoiding the 16-worker tail-latency outlier and reducing blocking-pool headroom from 64 to 16 on this host.
2026-05-25 17:24:06 +08:00
Tunglies c18c23963d refactor: frontend (#7097)
* refactor: remove unused window show/hide event listeners

* refactor: deduplicate profile-changed event handling

* refactor: remove unused setupCloseListener from use-listen

* refactor: remove unused removeAllListeners from use-listen

* fix(backend): dedupe profile changed notification on import

* fix: avoid duplicate timer update completed event

* refactor(frontend): simplify proxy switch fallback path
2026-05-23 12:52:52 +08:00
Tunglies 32029af0f9 refactor: improve tray speed rendering logic and attributes handling 2026-05-22 21:47:59 +08:00
Tunglies 21878ea936 Refactor timer management and remove delay_timer dependency (#7075)
* Refactor timer management and remove delay_timer dependency

The delay_timer spawned tokio threads of cores, which not controled by expected.

* refactor: improve logging messages in Timer implementation

* fix(timer): prevent potential panic by using saturating_mul for interval calculations

* refactor timer scheduler

* chore: translate timer logs to english

* fix timer clippy warnings

* fix profile auto update refresh

* fix duplicate profile update notification

* fix: prevent potential panic in lightweight timer setup

* fix profile update listener cleanup

* Revert "fix duplicate profile update notification"

This reverts commit 4aafa94d3e.
2026-05-22 04:30:48 +00:00
Tunglies bedcb8a07c fix: update tauri-plugin-mihomo and related dependencies
close #7073
2026-05-21 18:34:47 +08:00