wonfen
56141e6dfa
feat: use optimistic updates for system proxy toggle
2026-03-17 12:50:44 +08:00
wonfen
68ca01cfea
refactor: streamline proxy availability checks and remove redundant methods
2026-03-17 09:25:16 +08:00
wonfen
2043b24e4b
feat: use actual OS proxy status
2026-03-17 09:25:16 +08:00
wysha-object
4ceb7e6043
feat: Allow toggling pause of traffic stats animation on blur ( #6463 )
...
* feat: Allow toggling pause of traffic stats animation on blur
* fix: React Hook useCallback has a missing dependency
* chore: i18n
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-16 08:17:12 +00:00
renovate[bot]
13538914be
chore(deps): update dependency @eslint-react/eslint-plugin to v3 ( #6522 )
...
* chore(deps): update dependency @eslint-react/eslint-plugin to v3
* chore: remove deprecated rules
* chore: remove eslint from pre-push
* chore: update lint-staged config
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-16 05:40:15 +00:00
Slinetrac
c672a6fef3
refactor: lint ( #6511 )
...
* refactor: lint
* chore: remove eslint-plugin/config-prettier
2026-03-15 07:40:11 +00:00
Slinetrac
837508c02c
feat(monaco): reintroduce meta-json-schema ( #6509 )
...
* refactor(editor): make EditorViewer controlled and unify document state handling
* fix(monaco-yaml): add patchCreateWebWorker
* feat(monaco): reintroduce meta-json-schema
* fix(editor): reset document state on target change
2026-03-15 06:04:59 +00:00
Slinetrac
9989bff4e6
refactor(monaco): simplify editor worker bootstrap ( #6500 )
2026-03-13 09:33:25 +00:00
Slinetrac
ece1862fae
refactor: monaco init ( #6496 )
2026-03-13 07:28:15 +00:00
renovate[bot]
b707dd264e
build(vite)!: migrate to Vite 8, switch to Oxc-based @vitejs/plugin-react, and clean up legacy compatibility config ( #6492 )
...
* chore(deps): update npm dependencies to v8
* build(vite)!: migrate to Vite 8, switch to Oxc-based @vitejs/plugin-react, and clean up legacy compatibility config
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-03-13 06:42:09 +00:00
Slinetrac
7ebf27ba52
refactor: do not trigger autobackup on profile change ( #6464 )
...
* refactor: do not trigger autobackup on profile change
* chore: i18n
2026-03-11 06:56:15 +00:00
Tunglies
0e89afb01f
fix(window-provider): maximize avoiding loop detection
2026-03-09 06:46:36 +08:00
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
Tunglies
c429632d80
refactor: update PointerSensor activation constraint to improve responsiveness
2026-03-07 13:58:50 +08:00
Tunglies
262b6f8adf
fix: unexpected latency when switching nodes #6363
2026-02-26 15:47:02 +08:00
AetherWing
4dc515ba4d
docs: del useless word ( #6358 )
2026-02-23 15:40:14 +00:00
AetherWing
e1d914e61d
Chore(i18n): Improve Chinese–English typesetting ( #6351 )
...
* chore(i18n): add spacing after "TUN"
* docs: Changelog
* chore(i18n): Improve Chinese–English typesetting
* Apply suggestions from code review
* chore: i18n
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-02-23 05:17:23 +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
Jelipo
44851466cf
fix: add margin and border radius to group svg image ( #6300 )
2026-02-12 04:24:30 +00:00
wonfen
81c56d46c1
perf: optimize IP info card
2026-02-12 08:49:41 +08:00
Sline
31c0910919
feat: Masque ( #6303 )
2026-02-11 12:38:44 +00:00
JingxinXu
bba71aaa4c
feat: added clear btn in filter component ( #6229 ) ( #6295 )
...
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-02-11 06:40:47 +00:00
Sline
a019b26ceb
fix: types ( #6298 )
2026-02-11 05:48:31 +00:00
wonfen
a4617d1fed
feat: add clear ingress/egress and data flow indicators for proxy chain
2026-02-11 04:41:46 +08:00
許景欣
277ded4c44
fix: displays rule lineNo instead of index in rule page ( #6230 ) ( #6286 )
...
* fix: displays rule lineNo instead of index in rule page (#6230 )
* fix(rules): derive line numbers in view model without mutating shared rules
* doc: update changelog
---------
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-02-10 05:11:14 +00:00
renovate[bot]
a7041657c9
chore(deps): lock file maintenance npm dependencies ( #6282 )
...
* chore(deps): lock file maintenance npm dependencies
* chore(deps): run pnpm update
* chore: add parserOptions
* refactor: fix @eslint-react/no-implicit-key
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-02-09 07:37:07 +00:00
Sline
7730cd1c5b
refactor: fix eslint no-useless-assignment preserve-caught-error ( #6276 )
2026-02-08 05:19:41 +00:00
Tunglies
5480e57e67
feat: allow pass user-agent for IP detection ( #6272 )
...
* feat: allow pass user-agent when lookup ip API
* Update src/services/api.ts
Co-authored-by: Sukka <isukkaw@gmail.com>
* refactor: optimize user-agent retrieval with memoization
---------
Co-authored-by: Sukka <isukkaw@gmail.com>
2026-02-07 08:11:47 +00:00
Tunglies
5bcb057bf9
style: fix prettier
2026-02-07 16:15:43 +08:00
Tunglies
c30eaa3678
refactor: reduce webview lock contention ( #6271 )
...
* refactor: replace handle::Handle::get_window() with WindowManager::get_main_window() in multiple files
* refactor: enhance WindowManager to return window state alongside the main window instance
* refactor: update useProfiles and ProfilePage to support profile overrides and improve patchProfilesConfig return type
* refactor: enhance handle_success to check main window existence before notifying profile changes
* refactor: simplify get_main_window_with_state by using pattern matching and improve window state handling
* refactor: fix window activation by removing unnecessary reference in activate_existing_main_window
* refactor: remove redundant macOS conditional for window_manager import
2026-02-07 05:45:15 +00:00
wonfen
afa591c279
chore: replace node test with 1.1.1.1
2026-02-07 04:21:01 +08:00
Sukka
e9d63aee5e
perf(ip-info-card): reduce IP API load even more ( #6263 )
...
* refactor(ip-info-card): reduce retry, use succeed as lastFetchTs
* refactor(ip-info-card): stop countdown during revalidation
* perf(ip-info-card): avoid aggressive schedule revalidation
* perf(ip-info-card): try stop interval on window minimized
* perf(ip-info-card): only mutate after card scroll into view once
* perf(ip-info-card): interval only when card has been visible
* chore: add more debug information
* Update src/components/home/ip-info-card.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: reset countdown state after mutate finishes
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-06 09:09:36 +00:00
AetherWing
6f424ebd2b
fix(home-ui): align signal icon delay states with formatDelay ( #6249 )
...
* fix(ui): align signal icon delay states with formatDelay
* docs: changelog.md
2026-02-04 12:11:11 +00:00
Sukka
90e193099f
refactor(ip-info-card): make ip info card much better ( #6226 )
...
* perf(ip-info-card): make ip info card much better
* fix(ip-info-card): remove unused useEffect deps
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor(ip-info-card): use `async-retry`, bail out non-2XX resp
* feat(ip-info-card): add new backend
* feat(ip-info-card): only revalidate when window is visible
* perf(ip-info-card): reduce re-renders when window is hidden
* fix(ip-info-card): remove `mutate` from `useEffect` arg
* Update src/components/home/ip-info-card.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: drop AbortSignal.timeout for old safati compat
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 01:40:13 +00:00
AetherWing
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
36926df26c
refactor: remove SWR_REALTIME configuration and simplify SWR usage in AppDataProvider
2026-01-27 20:07:48 +08:00
Tunglies
6477dd61c3
perf: reduce various timeout and retry intervals for improved responsiveness to fetch proxy infomation ( #6072 )
2026-01-25 07:31:34 +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
Tunglies
0c6631ebb0
fix(ip-info-card): handle offline state and clashConfig absence in IP info fetching ( #6085 )
...
* fix(ip-info-card): handle offline state and clashConfig absence in IP info fetching
* fix: eslint errors
2026-01-25 07:12:17 +00:00
Sline
93e7ac1bce
feat(webdav): cache connection status and adjust auto-refresh behavior ( #6129 )
2026-01-25 06:49:12 +00:00
Sline
b921098182
refactor(connections): switch manager table to TanStack column accessors and IConnectionsItem rows ( #6083 )
...
* refactor(connection-table): drive column order/visibility/sorting by TanStack Table state
* refactor(connection-table): simplify table data flow and align with built-in API
* refactor(connection-table): let column manager consume TanStack Table columns directly
2026-01-25 06:49:10 +00:00
Sline
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
Tunglies
334cec3bde
fix: update tauri-plugin-mihomo version, improve error handling #6149
2026-01-24 09:19:52 +08:00
DikozImpact
d81aa5f233
Ru language fix ( #6143 )
...
* Ru language fix
* Update proxies.json
* Update home.json
2026-01-23 07:42:31 +08:00
renovate[bot]
98f12a9c72
chore(deps): lock file maintenance npm dependencies ( #6119 )
...
* chore(deps): lock file maintenance npm dependencies
* chore: run pnpm update
* fix(components): satisfy ESLint destructuring and narrow unknown errors
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Slinetrac <realakayuki@gmail.com>
2026-01-19 12:05:48 +08:00
Sline
fd98caccd2
revert: use-app-data ( #6088 )
...
* Revert "refactor(app-data): split monolithic context into focused SWR hooks (#5576 )"
This reverts commit 8e8182f70793f44e76ca3bb71eb98d6d60701e13.
# 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