904 Commits

Author SHA1 Message Date
Sline
9ee4b067d0
fix(current-proxy-card): stabilize match rule lookup and dependencies (#5138)
- memoize policy name normalization and include it in hook deps
- guard MATCH rule checks against partial controller data
- register MATCH policy groups when rebuilding selector selectors
2025-10-20 17:59:21 +08:00
oomeow
7be790c6fb
chore: remove unused file and improve traffic monitor 2025-10-19 16:34:45 +08:00
Slinetrac
fbe6cefbdb
fix: hover jump navigator 2025-10-19 16:00:45 +08:00
oomeow
96ce529b16
refactor: react router (#5073)
* refactor: react router

* chore: update

* fix: router

* refactor: generate router children by navItems

* chore: set start page when create window

* docs: update UPDATELOG.md
2025-10-18 20:25:31 +08:00
Tunglies
c2d7bf296a
feat: add allow auto update option for profiles and update UI components 2025-10-18 17:04:03 +08:00
Slinetrac
98725bbecf
fix: TS errors 2025-10-18 16:11:42 +08:00
Sline
c465000178
fix: update fallback (#5115)
* fix: update fallback

* test: introduce Vitest and add semver helper tests

* chore: merge vitest config into vite
2025-10-18 15:51:34 +08:00
Tunglies
28bcdc3706
feat: enhance ProxyControlSwitches with Tun Mode functionality and state management 2025-10-18 00:00:20 +08:00
wonfen
859d09ff8c
fix: undefined is not an object on connection table 2025-10-17 21:48:58 +08:00
Slinetrac
215ba4da63
perf(delay): cache latency updates and smooth proxy list refresh
- track delay as structured updates with TTL-backed cache
- batch listener notifications to avoid render storms during checks
- surface cached latency in proxy items for quicker, steadier UI feedback
2025-10-17 18:27:21 +08:00
Slinetrac
886d1a551a
refactor: useLayoutEffect 2025-10-17 15:11:36 +08:00
Slinetrac
d05bcc17f7
fix: untested and testing sort 2025-10-17 15:01:38 +08:00
Slinetrac
c63584daca
fix: timeout sort 2025-10-17 14:51:33 +08:00
Slinetrac
fd5bddeb80
fix(backup): prevent immediate deletion before confirmation dialog 2025-10-16 16:54:25 +08:00
Slinetrac
88cde5d99d
fix(proxy): place timeout nodes at the end when sorting by latency 2025-10-16 11:51:57 +08:00
Slinetrac
41bc0e62a1
fix(home): scope cached proxy selection to active profile to prevent fallback reset on profile switch
Previously, Home card used global localStorage keys for selected proxy/group
(`clash-verge-selected-proxy(-group)`), causing cached selections from other
profiles to override the current one and reset the fallback to Direct when switching.

Now the cache keys are namespaced per profile, with migration of legacy values
and unified helpers (src/components/home/current-proxy-card.tsx:110–147),
ensuring each profile restores its own proxy state independently.
2025-10-16 09:39:57 +08:00
Sline
0b4403b67b
refactor: frontend (#5068)
* refactor: setting components

* refactor: frontend

* fix: settings router
2025-10-15 18:57:44 +08:00
Slinetrac
ef9ccafe61
refactor: proxy components 2025-10-15 09:00:03 +08:00
Slinetrac
4f2633a62b
refactor: profile components 2025-10-14 23:45:12 +08:00
Slinetrac
5d114806f7
refactor: layout and log components 2025-10-14 22:13:14 +08:00
Slinetrac
06dc7a6ef4
refactor: home components 2025-10-14 21:57:33 +08:00
Slinetrac
8dbe3f8c48
refactor: connection components 2025-10-14 21:33:36 +08:00
Slinetrac
778d506be7
refactor: common components 2025-10-14 21:22:48 +08:00
Slinetrac
65cf6c387b
refactor: base components 2025-10-14 21:13:10 +08:00
Slinetrac
2e3174baa7
feat(proxy-groups, current-proxy-card): auto-refresh delay sorting
- proxy-groups: recalculate active group head and reapply delay sort after tests so list reorders automatically when "按延迟排序" is active.
- current-proxy-card: add delaySortRefresh trigger after auto/manual latency checks to immediately refresh selector and proxy list ordering.
- current-proxy-card: listen for delaySortRefresh to keep displayed delay chips and option ordering aligned with latest measurements.
2025-10-14 20:25:52 +08:00
Slinetrac
8760ed17dc
feat(current-proxy-card): add toggle for automatic delay detection 2025-10-14 19:27:41 +08:00
Sline
f541464ff4
feat: tray enhance (#5058)
* feat: proxy group sorting for tray

* feat(tray): add inline proxy groups toggle
2025-10-14 17:03:37 +08:00
Sline
51b08be87e
feat: local backup (#5054)
* feat: local backup

* refactor(backup): make local backup helpers synchronous and clean up redundant checks

- Converted local backup helpers to synchronous functions to remove unused async warnings and align command signatures.
- Updated list/delete/export commands to call the sync feature functions directly without awaits while preserving behavior.
- Simplified destination directory creation to always ensure parent folders exist without redundant checks, satisfying Clippy.
2025-10-14 14:52:04 +08:00
Slinetrac
db091f5d2e
feat(current-proxy-card): add automatic delay checks 2025-10-14 12:27:12 +08:00
Slinetrac
baebce4aad
fix(connection-table): patch DataGrid event handling to prevent Safari crash
- Ensure api.publishEvent is patched only once, retrying until the API is ready.
- Normalize missing event objects for Safari to avoid crashes.
- Restore the original handler and clear timers on unmount to keep the grid stable.
2025-10-14 11:52:51 +08:00
Slinetrac
537a3000b6
chore: rm success notice 2025-10-13 19:04:40 +08:00
oomeow
1875e1b513
fix: incorrect maximize status on custom windows controller (#5033)
* fix: windows controller

* chore: update style

* chore: update style
2025-10-12 20:51:25 +08:00
oomeow
85f4afe2a1
perf: reduce reset scroller position 2025-10-12 15:09:20 +08:00
Sline
e3cd16189b
fix: linux app theme (#4997) 2025-10-09 16:03:28 +08:00
Sline
bd9db1b4f7
fix: linux webkit error (#4995)
* fix: linux webkit error

* docs: UPDATELOG.md
2025-10-09 15:44:11 +08:00
Tunglies
bfd1274a8c
feat: Implement custom window controls and titlebar management (#4919)
- Added WindowControls component for managing window actions (minimize, maximize, close) based on the operating system.
- Integrated window decoration toggle functionality to allow users to prefer system titlebar.
- Updated layout styles to accommodate new titlebar and window controls.
- Refactored layout components to utilize new window management hooks.
- Enhanced layout viewer to include a switch for enabling/disabling window decorations.
- Improved overall window management by introducing useWindow and useWindowDecorations hooks for better state handling.
2025-10-08 20:23:26 +08:00
Slinetrac
0b6681436a style: lint 2025-10-08 14:19:07 +08:00
oomeow
7fc238c27b
refactor: invock mihomo api by use tauri-plugin-mihomo (#4926)
* feat: add tauri-plugin-mihomo

* refactor: invock mihomo api by use tauri-plugin-mihomo

* chore: todo

* chore: update

* chore: update

* chore: update

* chore: update

* fix: incorrect delay status and update pretty config

* chore: update

* chore: remove cache

* chore: update

* chore: update

* fix: app freezed when change group proxy

* chore: update

* chore: update

* chore: add rustfmt.toml to tauri-plugin-mihomo

* chore: happy clippy

* refactor: connect mihomo websocket

* chore: update

* chore: update

* fix: parse bigint to number

* chore: update

* Revert "fix: parse bigint to number"

This reverts commit 74c006522e23aa52cf8979a8fb47d2b1ae0bb043.

* chore: use number instead of bigint

* chore: cleanup

* fix: rule data not refresh when switch profile

* chore: update

* chore: cleanup

* chore: update

* fix: traffic graph data display

* feat: add ipc connection pool

* chore: update

* chore: clippy

* fix: incorrect delay status

* fix: typo

* fix: empty proxies tray menu

* chore: clippy

* chore: import tauri-plugin-mihomo by using git repo

* chore: cleanup

* fix: mihomo api

* fix: incorrect delay status

* chore: update tauri-plugin-mihomo dep

chore: update
2025-10-08 12:32:40 +08:00
Sline
72aa56007c
feat(ui): implement profiles batch select and i18n (#4972)
* feat(ui): implement profiles batch select and i18n

* refactor: adjust button position and icon

* style: lint fmt
2025-10-08 12:02:55 +08:00
Sline
bf4e1a3270
feat: url test button for proxy card and type safety (#4964)
* feat: url test button for proxy card and type safety

* fix: resolve ESLint hook dependency error in current-proxy-card.tsx
2025-10-07 16:39:22 +08:00
wonfen
c6afbf6ee8
chore: resolve deprecation warnings and add missing translations 2025-10-06 23:40:12 +08:00
Tunglies
1176f8c863
feat: refactor app data provider and context for improved data management and performance 2025-10-04 21:20:31 +08:00
renovate[bot]
600b0b52f4
chore(deps): update npm dependencies (#4939)
* chore(deps): update npm dependencies

* Refactor components to use function syntax instead of forwardRef for better type handling and clarity. Updated imports and adjusted prop types accordingly across multiple viewer components including TrafficGraph, ProfileViewer, BackupViewer, ClashCoreViewer, ControllerViewer, DnsViewer, LiteModeViewer, NetworkInterfaceViewer, ThemeViewer, TunViewer, UpdateViewer, and WebUIViewer.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2025-10-04 20:26:10 +08:00
renovate[bot]
8b3bc18ea8
chore(deps): update dependency eslint-plugin-react-hooks to v6 (#4940)
* chore(deps): update dependency eslint-plugin-react-hooks to v6

* fix: update ESLint configuration to use correct imports and recommended settings

* chore: clean up unused code and improve readability across components

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com>
2025-10-04 19:42:34 +08:00
oomeow
982c8b4df2
fix: drag and drop (#4924) 2025-10-02 12:32:55 +08:00
Tunglies
8a4f2de887
Revert "Refactor components to remove forwardRef and simplify props handling"
This reverts commit 1cd013fb94b4e0be37bc966e5401c2c9b9bb0bb4.
2025-09-30 18:13:02 +08:00
Tunglies
1cd013fb94
Refactor components to remove forwardRef and simplify props handling
- Updated multiple components to remove the use of forwardRef, simplifying the props structure.
- Adjusted imports and component definitions accordingly.
- Ensured consistent handling of refs and props across various viewer components.
- Improved readability and maintainability of the codebase.
2025-09-30 14:26:40 +08:00
Sukka
0c88568cd7
chore: make eslint happy (part 1) (#4890) 2025-09-30 14:19:49 +08:00
Junkai W.
d86bdea127
feat: add Quick navigation bar in the rule mode agent group (#4889) 2025-09-29 11:51:53 +08:00
wonfen
7a14e90802
feat: unify TUN mode availability checks across components 2025-09-26 14:00:57 +08:00