Commit Graph
4493 Commits
Author SHA1 Message Date
oomeow 1847002ebe fix: group tools filter and layout (#7431)
* fix(proxy): group filter

* refactor(proxy): improve layout and structure of proxy render components

* refactor(proxy): remove unnecessary flushSync calls in proxy-group-tools

* feat(proxy): debounce filter input in ProxyGroupTools

* refactor(base-search-box): initialize lastSearchStateRef with current state

* refactor(proxy): remove debug console.log in proxy-groups

* refactor(proxy): improve scrolling behavior in proxy groups

* refactor(proxy): improve scroll position restoration logic

* chore(proxy): reset proxy group tools layout

* style(proxy): adjust margins and spacing in proxy components

* refactor(proxy): remove commented out ProxyGroupTools component
2026-07-11 07:38:32 +00:00
oomeowandTunglies 562828e14d fix: provider proxy delay check (#7456)
* refactor(proxy): support delay testing for provider-based proxies

* style: remove debug console logs

* docs: update changelog

* feat(services): merge provider nodes into records in calcuProxies

---------

Co-authored-by: Tunglies <tunglies.dev@outlook.com>
2026-07-11 05:24:41 +00:00
Tunglies e8cefa8b07 perf(frontend): vectorize home navigation icon 2026-07-10 20:05:41 +08:00
Tunglies b53227dab5 perf(frontend): optimize initial dependency loading 2026-07-10 19:43:55 +08:00
wonfen 2557e9a222 fix(ci): preserve release metadata during builds 2026-07-10 03:32:34 +08:00
wonfen 7085d2bea7 fix(scripts): harden publish-version tag creation 2026-07-09 14:24:08 +08:00
Ming 7e3544cbcc fix(macos): repair menu bar window activation order (#7082) 2026-07-09 05:59:11 +00:00
wonfen 979defc070 fix: prevent rules editor from clearing custom rules before load 2026-07-09 13:46:24 +08:00
StarsSail 406c0ab5a7 fix: parse error (#7430) 2026-07-08 03:35:03 +00:00
renovate[bot]renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Tunglies
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 d4118295a3 fix: remove unnecessary input fields (#7423)
* fix: remove unnecessary input fields

* fix: remove unnecessary input fields from ProfileViewer component
2026-07-06 02:43:18 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> d7fca9fd70 chore(deps): update dependency @tauri-apps/cli to v2.11.4 (#7376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 02:35:28 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> bd90d159ee chore(deps): update github actions (#7383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 02:33:58 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> be15131080 chore(deps): update tauri-apps/tauri-action action to v1 (#7384)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 02:33:39 +00:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> c8af762d8b chore(deps): lock file maintenance (#7390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 10:30:14 +08:00
Tunglies afbc14840c fix: warm lazy routes after startup visibility 2026-07-06 09:13:11 +08:00
Tunglies 1d7462a021 fix: stop idle mihomo websocket subscriptions 2026-07-06 08:33:23 +08:00
renovate[bot]andrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 20ac214a83 chore(deps): lock file maintenance (#7389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 00:20:55 +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
wonfen ac156afc99 fix: macos CI 2026-07-04 23:25:19 +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
StarsSail e578e473d5 fix: prevent input focus loss in allowOrigins (#7397)
* fix: update CORS configuration to use key-value pairs for allowed origins

* fix: refactor CORS configuration to use AllowOriginItem interface for better type safety
2026-07-03 17:53:51 +00:00
oomeow dd3ef698f5 feat: sticky groups (#7195)
* feat(proxy): implement sticky virtual list and group tools

- Add new StickyVirtualList component for better performance with sticky headers
- Create ProxyGroupTools component for filtering, sorting and testing proxy groups
- Enhance proxy groups with improved scrolling and group toggle functionality
- Integrate search box with click event handling
- Remove redundant ProxyHead component usage

* style: remove unused import and update TypeScript types

* refactor: convert function component to forwardRef component to fix biome lint error

* feat(proxy): extract proxy chain UI to separate component

* refactor: remove custom throttle implementation and simplify dependencies

* feat(proxy): improve proxy groups UI and scrolling behavior

- Add initialOffset prop to StickyVirtualList for better scroll position restoration
- Refactor ProxyGroups component to separate chain and normal modes
- Implement scroll position persistence for both chain and normal modes
- Add sticky shadow effect for expanded proxy groups
- Remove unnecessary ScrollTopButton component
- Optimize scroll event handling with throttling
- Improve code organization with custom hooks and component separation

* docs(proxy-groups): Add TODO comment for initial render position issue

* feat(proxy): improve scroll position handling and UI display

* refactor(proxy): simplify scroll handling logic and remove unused code

* fix(sticky-virtual-list): remove duplicate styles and add padding

* refactor(proxy): rename scroll offset variables and functions for clarity

* refactor: remove unnecessary refs and simplify onClick handlers

* fix(proxy-groups): handle initial scroll position state

* feat(zed): add biome formatter configuration

* refactor(proxy): remove unused headState import and type annotations

* style(proxy): improve type imports and conditional rendering

* .

* feat(proxy): add ProxyHead component to render in global mode

* chore: ignore .zed directory

* docs: update changelog
2026-07-02 13:22:40 +00: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
Tunglies 9a2f4ff8fb fix: warm lazy navigation routes after startup 2026-06-30 21:34:32 +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
oomeow 728c7535c4 feat: supports in-app online update for Linux (#7259)
* feat(updater): add support for multiple Linux package formats and Windows NSIS installers

* style(updater): use template literal for URL concatenation

* docs: add platform format comments to updater.mjs

* test: downgrade version to 2.5.0 to test updater

* chore: add Zed editor settings

* Revert "test: downgrade version to 2.5.0 to test updater"

This reverts commit 9dd6bed5e9.

* chore: format

* chore: remove zed editor settings
2026-06-30 11:26:58 +00:00
Tunglies ad68e445dd rm unused workflow 2026-06-30 18:59:09 +08: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
Tunglies fa712b59c9 fix: reuse preloaded verge config 2026-06-29 16:55:25 +08:00
wonfen deae6442a7 fix(backup): make WebDAV directory creation idempotent 2026-06-29 12:09:55 +08:00
Tunglies 520746428c fix: dedupe initial websocket subscriptions 2026-06-29 11:54:05 +08:00
wonfen 3b52fceca1 fix: DNS overrides could not be edited in advanced mode 2026-06-29 11:31:57 +08:00
Tunglies 3ce228ff7a fix: lazy load i18n sections 2026-06-29 11:11:57 +08:00
Tunglies 2442634b2a fix: lazy load non-home routes 2026-06-29 06:30:54 +08:00
Tunglies 4ec3a9bf4c fix: defer provider queries on startup 2026-06-29 06:03:51 +08:00
Tunglies 2a5d29cdb2 fix: defer runtime config init until after window 2026-06-29 05:19:38 +08:00
Tunglies 3a4cd2c361 Revert "fix: update js-yaml imports for v5"
This reverts commit 250198d547.

Revert "chore(deps): update dependency js-yaml to v5 (#7331)"

This reverts commit b44f671fc2.
2026-06-29 05:17:04 +08:00
Tunglies 250198d547 fix: update js-yaml imports for v5 2026-06-29 03:28:46 +08:00
Tunglies 55060d422a fix: include url-test groups in proxy selectors 2026-06-29 03:14:03 +08:00
Tunglies dad5121b7d fix(service): harden privileged service path execution 2026-06-28 21:21:01 +08:00