wonfen
af0518d578
fix: guard app setup panics during startup
2026-07-01 11:51:22 +08:00
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
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
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 Jingxi and wonfen
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
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
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
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
oomeow and Tunglies
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
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 Yang and liyang
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
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
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
8efbf9e7fd
fix: clippy errors for rust 1.97
2026-05-21 12:48:48 +08:00
Tunglies
c7a989b484
fix(macOS): improve tray speed rendering attributes
2026-05-21 12:41:51 +08:00
AetherWing
bdbc617aff
fix: disable WebView2 general autofill ( #7062 )
2026-05-21 04:01:31 +00:00
Christine.
6ebdaaa7ff
fix: switch node slowly on Windows ( #7052 )
2026-05-20 14:21:24 +08:00
Tunglies
977783e39c
refactor: simplify media unlock results
2026-05-18 23:14:27 +08:00
Tunglies
09e491885f
fix: stop disabled system proxy guard
...
close #7004
2026-05-18 21:31:19 +08:00
Tunglies
edf5246e7f
fix: mask subscription URLs in backend logs
2026-05-17 13:13:16 +08:00
Tunglies
4ade3a840f
refactor: run exit cleanup on exit request
2026-05-17 00:47:25 +08:00
Tunglies
07cbecb01d
fix: prevent lightweight mode exit cleanup ( #6973 )
...
close #6973
2026-05-17 00:28:11 +08:00
Tunglies
bd10ef8ec9
fix: improve youtube premium unlock check
2026-05-16 01:11:34 +08:00