1382 Commits

Author SHA1 Message Date
Slinetrac
eb7d22f610
refactor(debug): simplify toggle flow and unify flag handling 2025-12-06 11:36:47 +08:00
Slinetrac
5797bb7f8c
docs: add JSDoc for showNotice API 2025-12-06 11:16:26 +08:00
❤是纱雾酱哟~
ff0de29f17
Fixes traffic parsing for small values (#5737)
- Unified handler to IEC standard.
- Change handler to parse number in a unified style, even with number less than 1000.

Signed-off-by: Dragon1573 <49941141+Dragon1573@users.noreply.github.com>
2025-12-06 09:00:04 +08:00
Slinetrac
19a31450e5
fix(nav): use ListItemButton as drag handle for navigation items 2025-12-05 13:21:46 +08:00
Sline
afee21dae4
refactor: unify Mihomo WS subscription with shared hook (#5719)
* refactor: unify Mihomo WS subscription with shared hook

* refactor: relocate clash log hook and streamline services

* docs: Changelog.md
2025-12-04 14:58:03 +08:00
Slinetrac
3cf51de850
refactor: reorganize component and hook structure; remove unused modules 2025-12-04 12:51:22 +08:00
Slinetrac
4f8ed63cf0
refactor(use-clash): centralize patch typing and port validation logic 2025-12-04 09:30:24 +08:00
Slinetrac
56ad05cbf9
refactor(main): extract keyboard shortcuts to utils 2025-12-03 13:15:21 +08:00
Slinetrac
1727d0b6d4
refactor(preload): unify preload logic into preload.ts 2025-12-03 12:51:46 +08:00
Slinetrac
edf6e7cc42
chore: improve i18n 2025-12-02 18:55:59 +08:00
Slinetrac
32a5044026
fix(updater): compute real download progress and stabilize progress bar states 2025-12-02 11:06:10 +08:00
Sline
008234988c
fix: ensure early CSS injection by preloading Verge config (#5690)
* fix(theme): background css injection

* fix: ensure early CSS injection by preloading Verge config
2025-12-01 21:45:01 +08:00
Slinetrac
882f1a2a4a
Revert "feat: imporve the layout of proxies page (#5647)"
This reverts commit 8c1caf8555beaba8b3b9e514f7d8fc60a6368219.
2025-11-29 20:40:45 +08:00
Slinetrac
45d4f0e89c
chore: remove meta-json-schema #5656 #5478 2025-11-29 15:10:41 +08:00
DengHanjie
8c1caf8555
feat: imporve the layout of proxies page (#5647)
* feat: imporve the layout of proxies page to avoid navigator overlapping items (issue #5556)

* feat(proxy): remove left padding
2025-11-29 11:08:58 +08:00
Sline
683667f8ae
fix(ui): prevent light flash on dark startup (#5637)
* fix(ui): prevent light flash on dark startup

* fix(window): apply initial dark/light theme to prevent white flash

* refactor(boot): optimize config fetch and theme fallback

* fix: system theme detection

* fix(window): remove black flash before loader by aligning initial paint with theme
2025-11-28 15:15:17 +08:00
Slinetrac
99dda5496e
fix(i18n): prevent zh flash and normalize language caching #5632 2025-11-28 10:38:42 +08:00
oomeow
9ce5d27d6e
Revert "chore: frontend format check"
This reverts commit 90b850154d1081bcd5c5b4f815b23a82a65d0fea.
2025-11-27 21:50:25 +08:00
oomeow
90b850154d
chore: frontend format check 2025-11-27 21:08:04 +08:00
renovate[bot]
3cd6e88c37
chore(deps): update dependency prettier to ^3.7.0 (#5625)
* chore(deps): update dependency prettier to ^3.7.0

* style: prettier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2025-11-27 17:25:34 +08:00
Slinetrac
a572708fd8
fix(search): prevent crash on invalid regex input in search box
Closes #5609
2025-11-26 18:40:22 +08:00
Slinetrac
cbd8c89097
fix(connection-table): set boxSizing to border-box for header and cells
Closes #5611
2025-11-26 17:49:17 +08:00
Slinetrac
affdfc045e
fix(backup-config-viewer): add top margin to WebDAV address field to prevent floating label from overlapping dialog title
Closes #5608
2025-11-26 17:13:05 +08:00
Tunglies
adb969d370
fix(ip-info-card): update IP detection to refresh only when necessary 2025-11-26 14:41:12 +08:00
Tunglies
ecc272aa20
feat: integrate tauri-plugin-clipboard-manager and add system info commands (#5593) 2025-11-25 16:58:25 +08:00
Sline
b83ef994f8
refactor(traffic-monitor): Move traffic sampling/compression to a dedicated Web Worker (#5588)
* refactor(traffic-monitor): Move traffic sampling/compression to a dedicated Web Worker

* refactor(traffic-monitor): introduce shared sampler, safe fallback, and decoupled range handling

* refactor(traffic-monitor): add optional subscribe flag and fix range handling

* fix(traffic-monitor): age out idle samples and prevent ref-count updates after unmount
2025-11-25 11:43:45 +08:00
Sline
caca8b2bc4
refactor: debugLog for frontend (#5587) 2025-11-25 10:01:04 +08:00
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
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
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
Slinetrac
d110e462aa
Revert "chore(deps): update npm dependencies (#5558)"
This reverts commit ddcd4a8192eda762327d8c8fd3cf4e77b81a82af.
2025-11-22 13:49:17 +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 da0106b1e8c7620a5cc4b3d534dc7dfc96f0f35f.
2025-11-21 18:13:22 +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
Slinetrac
fcc1d4f9b5
chore: remove vitest 2025-11-20 21:42:11 +08:00
Sline
bf06cbc87d
refactor: replace @mui/x-data-grid with @tanstack/react-table (#5544) 2025-11-20 17:41:34 +08:00
Slinetrac
be97a27ba3
fix: Monaco syntax highlighting broken by CSS injection #5440 2025-11-20 15:16:25 +08:00
Slinetrac
2bb9f648ba
fix(app-data-provider): dashboard state sync 2025-11-20 13:23:50 +08:00
Slinetrac
6ab597db8f
fix: prevent filename from overlapping with action icons in backup records #5525
Closes #5525
2025-11-19 17:29:11 +08:00
Sline
f439e93a2b
feat(hotkey): add global reactivate_profiles shortcut (#5527)
* feat(hotkey): add global reactivate_profiles shortcut

* feat(profile): expose validation state for reactivation shortcuts
2025-11-19 17:06:23 +08:00
Slinetrac
94b07b51d6
chore: rename Youtube to YouTube
Closes #5526
2025-11-19 17:04:19 +08:00
Slinetrac
ec7f912eae
fix(home-profile-card): use profiles label for home shortcut 2025-11-18 18:50:53 +08:00
Slinetrac
e7812396df
feat(logs): support reverse chronological order #5513
Closes #5513
2025-11-18 17:39:56 +08:00
Slinetrac
a5de24a545
fix(webdav): prevent dialog refresh loop and stabilize busy-state handling 2025-11-17 18:16:13 +08:00
Slinetrac
635f63e9e5
feat: explicit paste button 2025-11-17 10:07:38 +08:00