Commit Graph

3694 Commits

Author SHA1 Message Date
Sline
8e8182f707 refactor(app-data): split monolithic context into focused SWR hooks (#5576)
* refactor(app-data): split monolithic context into focused SWR hooks

* refactor(swr): unify polling and consolidate proxy/config/provider data flow
2025-11-24 16:18:31 +08:00
Tunglies
871881c460 fix(resolve): implement resolve_done state management and refactor timer logic 2025-11-24 13:52:08 +08:00
Tunglies
cbd1fa44d7 fix(reqwest): add native-tls feature to reqwest dependency #5559 2025-11-24 13:25:00 +08:00
Tunglies
ad6fe696c0 fix: resolve proxy button and highlight state desynchronization; fix sidebar navigation issues 2025-11-23 20:01:54 +08:00
Tunglies
44adf55975 fix(proxy): sync system proxy switch state with background highlight #5240, #5439, #5421, #4651, #4536
Fixed race condition where button state and background color would desync
during rapid toggles or slow backend responses.

Root causes:
- Button used actualState while background used configState
- toggleSystemProxy returned immediately via setTimeout(0), releasing lock
  before backend operation completed
- 100ms delay in updateProxyStatus caused visual flash

Changes:
- Unified state source: both button and background now use actualState
- Made toggleSystemProxy truly async with proper await chain
- Wrapped toggle function with useLockFn to serialize operations
- Reduced state refresh delay from 100ms to 50ms
- Fixed GuardState lock release timing for async operations
- Added proper error rollback with state refresh on failure

Resolves issue where proxy toggle button would show as off while
background remained green, or vice versa.
2025-11-23 12:17:52 +08:00
Tunglies
ddd24eb3ac fix: prevent drag listeners from blocking navigation clicks in sidebar #5567
Separated dnd-kit drag handlers (attributes/listeners) from ListItemButton
to ListItemIcon only. Previously, long-press or rapid clicks on nav items
would trigger drag detection and cancel the click event, causing the item
to visually highlight but fail to navigate.

Changes:
- Moved sortable attributes/listeners to icon elements only
- ListItemButton now handles pure navigation clicks without interference
- Drag handle cursor ('grab') remains on icons when sortable is enabled

Fixes issue where sidebar tabs would "go dark" without actual route change.
2025-11-23 11:47:27 +08:00
oomeow
cbab199f80 fix: failed to receive shutdown signal on windows (#5533)
* fix: receive shutdown signal failed on windows

* docs: update Changelog.md

* chore: update

* fix: use tokio runtime to handle shutdown signal

* docs: update Changelog.md

* fix: move tauri dependency to the correct section in Cargo.toml

* fix: remove unused exit handling code in run function

* fix(clash-verge-signal): use global runtime to avoid tokio runtime panic on unix

* chore: update tauri-plugin-mihomo deps

* fix: handle macOS exit event to ensure proper application termination

---------

Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2025-11-22 22:36:00 +08:00
Slinetrac
687530a9cd fix(sysproxy): remove redundant 172.29.0.0/16 entry #4351
Closes #4351
2025-11-22 19:05:57 +08:00
Sline
4ff186497c feat(tun): auto-redirect GUI support for linux (#5565)
* feat(tun): auto-redirect GUI support for linux

* refactor(tun-viewer): unify Linux-only auto-redirect row layout
2025-11-22 18:58:57 +08:00
Slinetrac
45020fceda refactor(proxies): reorder chain-mode toggle for immediate UI feedback 2025-11-22 17:06:35 +08:00
renovate[bot]
51760a5b95 chore(deps): update npm dependencies (#5561)
* chore(deps): update npm dependencies

* fix: types

* chore: replace vite-plugin-monaco-editor-esm with utils/monaco

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2025-11-22 16:33:34 +08:00
Tunglies
a271ba6ce5 feat: add update_proxy_chain_config method with detailed documentation for proxy and proxy-group configuration 2025-11-22 16:30:25 +08:00
Tunglies
82bed4910e perf: refactor IRuntime to use HashSet for exists_keys and improve related functions performance 2025-11-22 16:25:50 +08:00
Tunglies
c82cefe80e feat: add clash-verge-types crate and integrate IRuntime struct 2025-11-22 15:33:24 +08:00
Slinetrac
d110e462aa Revert "chore(deps): update npm dependencies (#5558)"
This reverts commit ddcd4a8192.
2025-11-22 13:49:17 +08:00
Slinetrac
1d9179ba7e Revert "fix: update vite-plugin-monaco-editor to version 1.1.0"
This reverts commit dd52522905.
2025-11-22 13:49:14 +08:00
Tunglies
dd52522905 fix: update vite-plugin-monaco-editor to version 1.1.0 2025-11-22 12:01:34 +08:00
renovate[bot]
ddcd4a8192 chore(deps): update npm dependencies (#5558)
* chore(deps): update npm dependencies

* fix: correct monaco typescript reference in editor viewer

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2025-11-22 08:39:08 +08:00
Slinetrac
c38dd5da14 fix(unlock): normalize and dedupe unlock items 2025-11-21 20:22:57 +08:00
Tunglies
803f749063 Revert "chore(deps): update npm dependencies (#5554)"
This reverts commit da0106b1e8.
2025-11-21 18:13:22 +08:00
Slinetrac
192b15a02d docs: CONTRIBUTING.md 2025-11-21 14:36:04 +08:00
Slinetrac
a5a791a7f8 fix(ci): pnpm cache 2025-11-21 13:47:30 +08:00
Sline
02d0a7e61f chore(ci): add frontend-check.yml (#5555)
* chore(ci): add frontend-check.yml

* test

* Revert "test"

This reverts commit 24c4cf270c.
2025-11-21 13:28:54 +08:00
renovate[bot]
da0106b1e8 chore(deps): update npm dependencies (#5554)
* chore(deps): update npm dependencies

* fix: types

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2025-11-21 12:36:17 +08:00
Tunglies
ee9e9182dc perf: update current_* methods to return references instead of owned Strings and decrease unnecessary arc clone 2025-11-21 12:17:35 +08:00
Tunglies
6a62009485 Revert "chore(deps): update dependency monaco-editor to ^0.55.1 (#5548)"
This reverts commit 22241f8f60.
2025-11-21 12:11:45 +08:00
renovate[bot]
22241f8f60 chore(deps): update dependency monaco-editor to ^0.55.1 (#5548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 10:08:49 +08:00
Tunglies
a1f8ab7308 refactor: update function signatures to use references for Mapping and String 2025-11-20 22:50:36 +08:00
Tunglies
5a677fbbeb refactor: update function signatures to use references for Mapping and String 2025-11-20 21:49:16 +08:00
Slinetrac
fcc1d4f9b5 chore: remove vitest 2025-11-20 21:42:11 +08:00
renovate[bot]
e3da884bde chore(deps): update dependency vitest to ^4.0.12 (#5547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 20:54:01 +08:00
Tunglies
8e3273a32c refactor: simplify sysproxy usage in network commands 2025-11-20 19:50:25 +08:00
Slinetrac
0827829cc5 docs: Changelog.md 2025-11-20 17:52:20 +08:00
Sline
bf06cbc87d refactor: replace @mui/x-data-grid with @tanstack/react-table (#5544) 2025-11-20 17:41:34 +08:00
Tunglies
7e373ff39c fix(mihomo): unix can not connect mihomo ipc after reload config #5532 2025-11-20 17:02:57 +08:00
Tunglies
87e3125e67 fix: resolve issue with application not remembering user behavior on restart or shutdown 2025-11-20 16:07:05 +08:00
Tunglies
131cd6c3b8 fix(config): restart and quit application or shutdown system can not remember user's behavior #5347, #5359, #5430 2025-11-20 16:03:43 +08:00
renovate[bot]
e42ae0e8c5 chore(deps): update dependency vite to ^7.2.4 (#5541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 15:54:09 +08:00
renovate[bot]
c765016063 chore(deps): update dependency vite to ^7.2.3 (#5540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 15:48:52 +08:00
Slinetrac
614a2cf00b style: prettier 2025-11-20 15:27:42 +08:00
Slinetrac
be97a27ba3 fix: Monaco syntax highlighting broken by CSS injection #5440 2025-11-20 15:16:25 +08:00
Tunglies
b3dc48d07e fix(tests): suppress clippy expect warnings in enhance function
fix(timer): improve task removal logic in add_task method
refactor(notification): drop binding after emitting event
chore(Cargo): add lints section to Cargo.toml
2025-11-20 14:59:49 +08:00
Tunglies
4c8673fcb2 fix(timer): optimize lock handling in add_task method 2025-11-20 14:50:53 +08:00
Slinetrac
51a7b4fe75 docs: Changelog.md 2025-11-20 13:29:45 +08:00
Slinetrac
2bb9f648ba fix(app-data-provider): dashboard state sync 2025-11-20 13:23:50 +08:00
renovate[bot]
c3fe2d31ef chore(deps): update npm dependencies (#5535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 12:35:17 +08:00
renovate[bot]
4617ec0997 chore(deps): update dependency glob to v13 (#5534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-20 12:33:59 +08:00
Tunglies
d8090277af refactor: replace singleton_lazy with singleton macro across multiple modules 2025-11-19 22:40:52 +08:00
Tunglies
108a05ce96 refactor: replace CommandChildGuard with CommandChild and simplify related methods 2025-11-19 22:11:22 +08:00
Sline
d808e59156 fix(enhance): prevent crash when deleted proxies remain in manual groups (#5522)
* feat(enhance): cleanup stale proxies and policies before final config

* feat(enhance): preserve provider-backed groups when sanitizing proxies

* docs: Changelog.md

* refactor: to_owned

---------

Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2025-11-19 18:59:20 +08:00