Tunglies
971dd37965
chore: bump version 2.5.3
2026-07-20 00:24:35 +08:00
wonfen
50d828d0d7
fix(profile): handle missing chain files without breaking rollback
2026-07-19 08:44:24 +08:00
cjc and wonfen
6e9288437f
Related to #6759 (windows): ensure sidecar process dies with the main app ( #6853 )
...
* fix(windows): ensure sidecar process dies with the main app
* chore: fix clippy lints
* chore: fix TS2307 error on commit.
chore: Undo the changes about package.json and pnpm-lock.yaml
* Fix formatting errors caused by merging.
刚刚的合并让原本的函数少了个结尾括号
* fix(windows): close process handle after assigning sidecar to job object
* fix(windows): sidecar Job Object 错误改为向上传播并补充测试
将 job 创建逻辑抽为返回 Result<OwnedHandle> 的独立函数,任一 Win32 调用失败时
终止已 spawn 的子进程并返回 Err,不再静默降级。句柄由裸 isize 改为 OwnedHandle,
借助 RAII 自动关闭。新增 Windows 单元测试,覆盖 KILL_ON_JOB_CLOSE 生命周期
及无效 PID 的失败路径。
---------
Co-authored-by: wonfen <96291150+wonfen@users.noreply.github.com >
2026-07-19 07:30:38 +08:00
cxymds and wonfen
6bbe8bd37d
fix: isolate macOS service logs from app logs ( #7236 )
...
* fix: isolate macOS service logs from app logs
* fix: migrate legacy macos logs
---------
Co-authored-by: wonfen <96291150+wonfen@users.noreply.github.com >
2026-07-19 06:49:37 +08:00
wonfen
4b04d035b6
fix(profile): schedule imported profiles for auto-update
2026-07-19 06:39:48 +08:00
Tunglies
d327a435ff
fix(profile): validate profile file names
2026-07-16 16:49:11 +08:00
wonfen
f09aef170d
fix(proxy): preserve runtime proxy group order
2026-07-16 06:53:21 +08:00
wonfen
d144e78aeb
perf: streamline profile switching
2026-07-16 05:52:10 +08:00
wonfen
6ea7f544b2
fix: dispatch frontend events on main thread
2026-07-16 04:27:47 +08:00
wonfen
cd20bdb6a1
fix: safely restore selected proxy nodes
2026-07-16 04:16:42 +08:00
wonfen
6c149d6234
chore: update service-ipc version
2026-07-16 02:42:54 +08:00
wonfen
993cc2ffb1
fix(core): skip service wait for elevated TUN startup
2026-07-15 04:30:55 +08:00
wonfen
6f9fb97b31
fix: clippy
2026-07-13 11:09:13 +08:00
wonfen
7155047e02
fix(backup): accept numeric UTC WebDAV dates
2026-07-13 01:21:26 +08:00
doudouabc and wonfen
6ad480f898
修复局域网无法使用的BUG ( #7428 )
...
Co-authored-by: wonfen <96291150+wonfen@users.noreply.github.com >
2026-07-12 02:05:55 +08:00
Ming
7e3544cbcc
fix(macos): repair menu bar window activation order ( #7082 )
2026-07-09 05:59:11 +00:00
8bf5fc1aca
chore(deps): update cargo dependencies ( #7377 )
...
* chore(deps): update cargo dependencies
* fix aes feature
* fix: update aes-gcm nonce conversion
* refactor: use aes-gcm key init api
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2026-07-06 06:14:15 +00:00
StarsSail
0407384557
fix: rust lint error ( #7424 )
2026-07-06 00:19:58 +00:00
wonfen
b3f07acb5b
fix: limit mihomo yaml wildcard quoting to fake-ip-filter
2026-07-06 06:49:43 +08:00
StarsSail
3da6d7e466
fix: quote wildcard array items in global extension script output ( #7414 )
2026-07-04 18:20:37 +00:00
wonfen
49ea0cd5df
fix(config): remove redundant write that clobbered global hotkey setting
2026-07-05 01:10:56 +08:00
sgt57
c4658cff88
feat: add window resize handles on linux ( #7319 )
2026-07-04 03:16:08 +00:00
wonfen
4fa2f9a329
fix(macos): recover webview and stop ws leak after render process terminate
2026-07-04 09:39:44 +08:00
GrainFull
1f76c67afb
fix: recover webview lazily and stop ws leak after render process ter… ( #7410 )
...
* fix: recover webview lazily and stop ws leak after render process termination
macOS 内存压力下 WKWebView 渲染进程可能被系统杀掉,导致:
1. 从托盘打开主窗口时白屏;
2. 前端无法清理 Mihomo WebSocket 订阅,孤儿订阅持续将 >1KB 的
payload 写入 tauri ChannelDataIpcQueue 且无人取走,主进程内存
以 ~150MB/h 持续增长。
注册 on_web_content_process_terminate 钩子:
- 立即清理全部 Mihomo WebSocket 订阅阻断泄漏(托盘速率任务会自动重连);
- 窗口可见时立即 reload 拉起渲染进程恢复页面;窗口隐藏/最小化时仅置位
待重载标记,等用户下次打开窗口时再 reload——系统正是因内存压力才杀掉
不可见窗口的渲染进程,立即重建既浪费内存也可能形成反复被杀的循环。
另修复 tray_event 配置为 tray_menu 时误报 invalid tray event 警告。
* fix: gate logging import to macos to satisfy clippy on other platforms
2026-07-04 00:21:03 +00:00
wonfen
336bd9d735
fix(enhance): protect app-owned config from manual overrides
2026-07-04 07:45:13 +08:00
oomeow
c2ddb5c111
refactor: activate selected proxies ( #7285 )
...
* feat(profiles): add automatic node activation after profile switch
* refactor(use-profiles): simplify patchCurrent logic by always mutating profiles
* refactor(use-profiles): remove unused activateSelected function and related imports
* refactor: rename worker handle to activate selected task
* fix: clippy
* refactor(config): replace log statements with structured logging
* refactor(config): fix incorrect retry logic in profile activation
* feat(profiles): update proxy cache when switching profiles
* docs: update changelog with bug fixes and logic improvements
* refactor(profiles): remove unused imports and redundant cache update
2026-07-01 12:47:03 +00:00
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
renovate[bot] and renovate[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 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
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] and renovate[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] and renovate[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