Commit Graph

1382 Commits

Author SHA1 Message Date
Memory
7ff9338387 fix: fetch remote subscriptions with axios 2026-06-14 22:42:26 +08:00
Memory
52208b9396 fix: clean stale autorun registry fallback 2026-06-14 21:46:17 +08:00
zjdndjf
6337ac8928 feat: support age encrypted gist sync 2026-06-14 05:12:40 +08:00
zjdndjf
807495749a feat: support age encrypted profiles 2026-06-14 02:55:32 +08:00
zjdndjf
2604aafe8b feat: make network info cards sortable 2026-06-13 23:29:32 +08:00
zjdndjf
36dbf3dcc6 feat: remember selected sider card 2026-06-13 21:13:46 +08:00
Tinglong Yang
38e33eea2a fix(log): rotate core/sub-store logs by date and avoid O(n²) rewrite at size cap (#1913)
内核与 sub-store 日志通过长连接 Writable 流写入,其路径在流创建时只解析一次,
因此永远不按日期轮转——所有输出都持续追加到以内核启动日命名的文件(例如
core-2026-05-27.log 里写满了 06-12 的日志)。

当该文件达到大小上限后,之后每写一行都会触发「读取尾部 + 重写整个文件」
(每行约 2×maxBytes 的 I/O)。配合 info 级别内核日志(每秒数百行),这会打满
磁盘 I/O 并反压内核进程,导致整个 App 卡顿。

- createCappedLogWritableStream 现在接受路径工厂函数 `() => string`,在每次写入
  时求值,使内核/sub-store 日志能像 app 日志一样按日期轮转;仍兼容字符串路径。
- 触顶压缩后只保留约一半上限的内容,使后续写入回到廉价的 appendFile 分支,把
  压缩频率从「每次写入」降到「每写满约半个上限一次」,整体 I/O 由 O(n²) 降为 O(n)。

Refs #1912

Co-authored-by: Tinglong Yang <11896584+ytlm@users.noreply.github.com>
2026-06-12 18:09:55 +08:00
zjdndjf
1128616a57 style: add spaces between numbers and units in traffic time ranges 2026-06-07 03:30:37 +08:00
zjdndjf
32e86b8466 feat: add option to disable app log output, close #1895 2026-06-07 03:28:40 +08:00
zjdndjf
14a738ed17 fix: preserve named pipe path for mihomo websockets, close #1897 2026-06-07 03:14:35 +08:00
Memory
aded48e072 feat: show current node in proxy group header 2026-06-06 21:34:58 +08:00
Memory
549e6cc0a8 fix: stop traffic logger immediately when disabled 2026-06-06 20:32:56 +08:00
zjdndjf
98476eff3e feat: persist IP provider selection, close #1881 2026-06-01 00:21:00 +08:00
Memory
c83ed20996 fix: guard profile autocomplete inputs against null 2026-05-31 22:44:34 +08:00
kybrcore
892c82a3f5 fix: preserve dns-hijack when profile has DNS config enabled
When DNS override (controlDns) is disabled, the previous code
unconditionally cleared dns-hijack to prevent DNS requests from
being intercepted without a handler. However, this broke users who
have DNS configured in their subscription/profile but don't use
the app's DNS override feature.

Now dns-hijack is only cleared when the final merged config has no
enabled DNS section (dns.enable is falsy). This ensures:
- Users with profile DNS configs keep dns-hijack working
- Users without any DNS config still get dns-hijack cleared to
  prevent broken DNS resolution
2026-05-31 22:26:44 +08:00
zjdndjf
9b08fd5297 fix: apply Mihomo settings changes to running core, close #1874 2026-05-27 02:26:59 +08:00
zjdndjf
c958845f71 perf: speed up app startup and shutdown
- Cache admin privilege check; bypass cmd.exe wrapper via execFile
- Reuse the synchronous fltmc result from setupPlatformSpecifics to prime
  the admin privilege cache, avoiding a second elevated-state probe
- Parallelize startup init: appConfig, i18n, admin check now run concurrently
- Skip high-privilege core check when current process is admin
- Coalesce mihomo process scan to a single tasklist + batched powershell
- Parallelize the four mihomo websocket streams
- Light-path cleanup of Windows named pipes; reserve PowerShell scan for retry
- Defer Sub-Store frontend/backend startup until after the main window is
  created, freeing the critical startup path
- Run post-core background tasks (profile updater, webdav, tun follow-up) in parallel
- Tighten shutdown timeouts and skip recoverDNS on non-macOS
2026-05-27 02:11:11 +08:00
Memory
3207c1f73e fix: disable GPU sandbox for elevated Windows startup 2026-05-25 20:38:53 +08:00
Memory
e42adaad56 fix: allow all valid log levels in generated profile 2026-05-25 20:29:16 +08:00
Memory
1c10aa2333 fix: prevent window width growing on each restart 2026-05-24 00:25:11 +08:00
zjdndjf
eb4adf4cbe fix: persist search filters
Closes #1823
2026-05-23 02:35:57 +08:00
ezequielnick
c82e7a4f6f chore: update log & bump version 2026-05-20 13:24:59 +08:00
ezequielnick
a44f09ba53 refactor: simplify connections table view 2026-05-20 13:22:25 +08:00
zjdndjf
e2772a8536 fix: keep portable data under app directory
Closes #1846
2026-05-19 16:45:50 +08:00
zjdndjf
84be8413c0 fix: guard mihomo websocket reconnects across restart
Closes #1841
2026-05-19 16:37:27 +08:00
zjdndjf
7be403b942 fix: keep rule providers visible after empty search
Closes #1842
2026-05-18 16:28:33 +08:00
zjdndjf
d534b1df50 fix: hide update timeout for local profiles
Closes #1844
2026-05-18 16:25:20 +08:00
zjdndjf
1e4799629f fix: correct disallowed ip segment placeholder
Closes #1843
2026-05-18 16:21:58 +08:00
Memory
6608ffb513 perf: show proxy delay results progressively during group test 2026-05-16 22:27:19 +08:00
zjdndjf
3aaa7ba7bf fix: add sider setting dividers
Closes #1826
2026-05-16 12:15:43 +08:00
zjdndjf
d0efe895c7 feat: add tunnel editor
Closes mihomo-party-org/clash-party#1837
2026-05-16 12:05:16 +08:00
Memory
5b7b816282 i18n: update Russian (ru-RU) locale translations 2026-05-13 20:37:40 +08:00
Tongyuxiu Zhou
ee98bc51e8 fix: inconsistent initial size of the side card for usage
Co-authored-by: alex <alex@example.com>
2026-05-13 19:44:31 +08:00
zjdndjf
a4bd41e784 fix: add work dir to mihomo safe paths
Fixes #1812
2026-05-12 03:53:42 +08:00
zjdndjf
b000a76a3f fix: keep tray menu alive
Fixes #1813
2026-05-12 03:53:30 +08:00
Memory2314
9041c74d1a workflow: bump github-actions-deploy-aur from v2.7.2 to v4.1.3 v1.9.5 2026-05-11 21:12:25 +08:00
Memory2314
1eb740db2e update changelog 2026-05-11 20:45:42 +08:00
Memory2314
1cda8e310c update depends 2026-05-11 20:44:51 +08:00
Tianxiang Shi
3f06e814fe fix: avoid self-proxy loop in Windows TUN 2026-05-11 20:12:19 +08:00
Memory
92f21d0fcc feat: support rule mode for fake-ip-filter 2026-05-08 11:54:01 +08:00
zjdndjf
e8be197dee perf: optimize app startup and quit 2026-05-07 09:49:07 +08:00
zjdndjf
5953780390 feat: add profile delete confirmation 2026-05-05 01:58:48 +08:00
zjdndjf
c00216bbc1 fix: support dark mode in TrayIconCropModal 2026-05-04 21:33:37 +08:00
zjdndjf
e63191019c feat: add tray icon crop picker 2026-05-04 18:55:52 +08:00
zjdndjf
de1c351b32 feat: add tray group delay test 2026-05-03 19:09:30 +08:00
zjdndjf
0d270eb5f0 update changelog 2026-04-30 16:40:23 +08:00
zjdndjf
5b771e1ab5 fix: clear nameserver policy 2026-04-30 16:36:32 +08:00
zjdndjf
14f1285b99 fix: remove ineffective dynamic imports 2026-04-30 16:15:07 +08:00
zjdndjf
fa962b8560 chore: increase mihomo upgrade timeout 2026-04-30 16:03:32 +08:00
zjdndjf
2458c408a2 update changelog.md 2026-04-29 18:28:32 +08:00