Slinetrac
0bbf9407d8
feat(tun): validate route-exclude-address as CIDR ( #6440 )
...
* feat(tun): validate route-exclude-address as CIDR
* refactor(network): replace ipaddr.js helpers with cidr-block and validator
* docs: Changelog
2026-03-07 09:18:35 +00:00
wonfen
321017413d
chore: replace node test with cp.cloudflare.com
2026-02-21 14:28:27 +08:00
wonfen
ec6f259794
chore: replace node test with 1.0.0.1
2026-02-19 11:55:09 +08:00
wonfen
ddf455508f
chore: replace node test with 104.16.132.229
2026-02-14 04:41:14 +08:00
wonfen
cf9f235270
chore: replace node test with 8888
2026-02-12 14:52:36 +08:00
wonfen
afa591c279
chore: replace node test with 1.1.1.1
2026-02-07 04:21:01 +08:00
b17dd39f31
feat(tunnels): add tunnels viewer UI with add/delete support ( #6052 )
...
* feat(settings): add tunnels viewer UI and management logic
* docs: Changelog.md
* refactor(notice): remove redundant t() call
* refactor(tunnels): make proxy optional and follow current configuration by default
* refactor(tunnels): save after close dialog
* feat(tunnel): update check
* refactor(tunnels): merge import
* refactor(tunnels): use ipaddr.js
* docs: Changelog.md
* refactor(tunnels): enhance validation
* feat: add tunnels ti PATCH_CONFIG_INNER
* fix: sanitize invalid proxy references in tunnels
* refactor: use smartstring alias String
* docs: Changelog.md
* perf: optimize tunnels proxy validation and collection logic
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com >
Co-authored-by: Tunglies <77394545+Tunglies@users.noreply.github.com >
2026-01-29 09:32:37 +00:00
Tunglies
c57a962109
refactor: replace useSWR with custom hooks for update and network interfaces ( #6195 )
2026-01-27 12:52:20 +00:00
Tunglies
c7462716e5
refactor: reduce duplicated separately useSWR ( #6153 )
...
* refactor: reduce duplicated seperatlly useSWR
* refactor: streamline useSWR integration and improve error handling
2026-01-25 07:14:45 +00:00
Sline
93e7ac1bce
feat(webdav): cache connection status and adjust auto-refresh behavior ( #6129 )
2026-01-25 06:49:12 +00:00
Sline and Tunglies
440f95f617
feat(misc-viewer): optional delay check interval ( #6145 )
...
Co-authored-by: Tunglies <tunglies.dev@outlook.com >
2026-01-25 06:48:16 +00:00
Sline
fd98caccd2
revert: use-app-data ( #6088 )
...
* Revert "refactor(app-data): split monolithic context into focused SWR hooks (#5576 )"
This reverts commit 8e8182f707 .
# Conflicts:
# src/components/home/clash-info-card.tsx
# src/components/home/clash-mode-card.tsx
# src/components/home/current-proxy-card.tsx
# src/components/home/home-profile-card.tsx
# src/components/proxy/provider-button.tsx
# src/components/proxy/proxy-chain.tsx
# src/components/proxy/proxy-groups.tsx
# src/components/proxy/use-render-list.ts
# src/components/rule/provider-button.tsx
# src/components/setting/mods/sysproxy-viewer.tsx
# src/hooks/use-clash-data.ts
# src/hooks/use-current-proxy.ts
# src/hooks/use-shared-swr-poller.ts
# src/hooks/use-system-proxy-state.ts
# src/pages/rules.tsx
* docs: Changelog.md
2026-01-16 18:32:31 +08:00
Tunglies
a5f494bda2
fix: ensure external control source settings take effect immediately #6103
2026-01-16 18:27:21 +08:00
Slinetrac
b16cbd5379
feat(backup): restore starts automatically with loading overlay without closing dialog
2026-01-16 12:32:36 +08:00
Tunglies
e0c35c5ee3
fix: unexpected port in use error when change ports
2026-01-15 17:40:06 +08:00
Sline
a49000712d
feat(tun-viewer): route-exclude-address GUI support ( #6053 )
2026-01-10 10:50:44 +08:00
Slinetrac
13855b9bc2
perf(tun-viewer): run enhanceProfiles in background to avoid save blocking
2026-01-08 14:03:00 +08:00
Slinetrac
a981be80ef
refactor(base): expand barrel exports and standardize imports
2026-01-06 15:02:10 +08:00
Sline
ee5e5ee8a6
feat(sysproxy-viewer): add visual editor for bypass list with chips display ( #6007 )
2026-01-04 14:58:50 +08:00
Slinetrac
c18821288e
feat(sysproxy-viewer): make proxy bypass validation optional #4012
2026-01-03 17:10:10 +08:00
Slinetrac
c80c659180
fix(dns-viewer): disable spellcheck on DNS viewer text fields #5948
...
Closes #5948
2025-12-30 13:44:56 +08:00
Slinetrac
b53f54f3f4
fix(i18n): remove invalid i18n key usage
2025-12-27 09:24:15 +08:00
歳納七夏
2417d064e1
feat: allow disabling proxy groups in tray icon ( #5946 )
...
* feat: allow disabling proxy groups in tray icon
* feat: allow disabling proxy groups in tray icon (update i11n)
* feat: allow disabling proxy groups in tray icon (fix)
* feat: allow disabling proxy groups in tray icon (less nesting)
* feat: allow disabling proxy groups in tray icon (changelog)
2025-12-26 16:29:05 +08:00
Sline
65b4d8713d
refactor: windows autostart ( #5941 )
...
* refactor(windows-autostart): switch to scheduled tasks with user/admin split
* fix(schtasks): decode stdout/stderr using Windows OEM/ANSI code pages
* refactor(ui): remove admin auto-launch warning and clean i18n
* feat(windows): user-level auto-launch via task XML
* docs: Changelog.md
2025-12-26 14:42:21 +08:00
Slinetrac
0992556b4a
feat(update-viewer): support rendering HTML in update markdown #5932
...
Closes #5932
2025-12-23 20:48:14 +08:00
Sukka and Slinetrac
8e48e4ed10
chore(eslint): add eslint-plugin-react-compiler ( #5918 )
...
* chore(eslint): add `eslint-plugin-react-compiler`
* refactor: fix eslint warnings and avoid in-render mutations
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com >
2025-12-22 12:51:20 +08:00
Slinetrac
23e551e384
feat(tray): add optional inline outbound modes in tray menu #5881
...
Closes #5881
2025-12-21 10:33:19 +08:00
Tunglies
16c3dcc616
fix(proxy): check if proxy port is in use #5891
2025-12-20 19:11:27 +08:00
Slinetrac
5afe11e55b
fix(monaco): disable MUI Dialog focus enforcement for Monaco editor #5885
...
Closes #5885
2025-12-20 16:12:45 +08:00
Cactus and Slinetrac
57b17ab8d3
feat: add navigation collapse functionality to layout ( #5815 )
...
* feat(layout): add collapsible navbar toggle in UI settings
* refactor(layout): adjust collapsed navbar styles
* docs: Changelog.md
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com >
2025-12-19 18:15:20 +08:00
Sline
fc84dc561c
feat(notice): persist toast position preference ( #5621 )
...
* feat(notice): persist toast position preference
* docs: Changelog.md
2025-12-19 18:04:23 +08:00
Sline
bd8eccdcea
feat(backup): add local backup import flow ( #5669 )
...
* feat(backup): add local backup import flow
* refactor(backup): robustify history listing and propagate import error details
* docs: Changelog.md
2025-12-19 17:46:31 +08:00
Slinetrac
b6af7b7440
fix(tun): set auto-redirect default to false to improve cross-distro compatibility #5845
...
Closes #5845
2025-12-17 16:20:06 +08:00
Slinetrac
bae65a523a
chore: rename files to kebab-case and update imports
2025-12-09 13:52:42 +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
32a5044026
fix(updater): compute real download progress and stabilize progress bar states
2025-12-02 11:06:10 +08:00
Slinetrac
45d4f0e89c
chore: remove meta-json-schema #5656 #5478
2025-11-29 15:10:41 +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
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
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
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
a5de24a545
fix(webdav): prevent dialog refresh loop and stabilize busy-state handling
2025-11-17 18:16:13 +08:00
Slinetrac
f315a98afd
fix: monaco editor line count limit
2025-11-17 07:41:37 +08:00
Tunglies
d0d35da2f1
fix(editor): update theme mode for MonacoEditor to use 'light' instead of 'vs' in multiple components #5440
2025-11-13 08:39:10 +08:00
Sline
2a2de29224
feat: tray menu enhance ( #5412 )
...
* feat(tray): move outbound modes into a dedicated submenu
* refactor: Enable 'Show Proxy Groups Inline' by default
* refactor(tray): move `copyEnv` to `more` submenu
2025-11-12 14:10:20 +08:00