sagitchu
25dfb84324
fix: panel self-upgrade helper not recreating containers
...
- Add --force-recreate --remove-orphans to docker compose up so helper
actually replaces running containers with newly pulled images
- Add upgrade.log file for post-mortem debugging when helper fails
- Add pre-flight validation for docker-compose.yml and .env
- Fix "立即升级" button permanently disabled by relaxing the disabled
condition so auto-check on click can fire
2026-05-07 19:51:18 +08:00
sagit
5ebd4c2a91
feat: add panel self-upgrade workflow ( #492 )
2026-05-06 17:58:01 +08:00
sagitchu
5d22d4cb06
fix: refine advanced settings layout
2026-05-04 17:25:58 +08:00
sagitchu
cdcdfd8ff0
fix: use custom probe targets for diagnostics
...
Move custom probe target controls into the tunnel advanced settings and reuse the configured target in tunnel diagnosis output.
2026-05-02 14:23:51 +08:00
sagitchu
0f3242bf11
fix: reject raw probe target whitespace
2026-05-01 23:54:31 +08:00
sagitchu
d97d91801d
fix: reject leading zero probe IPv4
2026-05-01 23:50:41 +08:00
sagitchu
727ef56c67
fix: improve probe target form feedback
2026-05-01 23:46:56 +08:00
sagitchu
a923ec4785
fix: validate probe target port input
2026-05-01 23:39:14 +08:00
sagitchu
42c5492c1d
feat: add tunnel probe target UI
2026-05-01 23:36:14 +08:00
sagitchu
e5acc49186
feat: show current best exit state
2026-05-01 13:30:46 +08:00
sagit
3f3159aafd
Add best exit selection ( #486 )
...
* docs: add best exit selection design
* feat: add best exit selection
2026-05-01 08:12:17 +08:00
sagitchu
023be27287
feat: add monitoring retention controls
2026-04-28 11:41:07 +08:00
sagitchu
bd27b94909
fix: omit per-IP speed payload for users
2026-04-27 23:34:35 +08:00
sagitchu
a5a500bc0f
feat: add per-IP limit controls
2026-04-27 23:17:02 +08:00
sagit
2ca3849917
fix: apply proxy protocol and max connection settings
2026-04-27 10:54:25 +08:00
sagit
a625884d61
fix: remove unwanted hover underline from forward advanced settings ( #473 )
...
* fix: remove forward advanced settings hover underline
* fix: clear frontend lint warnings
2026-04-26 19:12:38 +08:00
sagit
799bb66fe5
feat: add local remote address toggle ( #472 )
2026-04-26 16:30:05 +08:00
sagit
3f374df724
fix: 保留用户/规则高级设置并增强节点运行时恢复 ( #468 )
...
* fix: 用户编辑时 maxConn 字段未正确回填
- User 接口添加 maxConn 类型定义
- handleEdit 中回填 maxConn 值
- normalizeUserItem 添加 maxConn 字段处理
解决编辑用户时最大连接数显示为 0 的问题
* fix: 保留转发设置并增强节点运行时恢复
2026-04-25 18:12:13 +08:00
sagit
9b923a2d0b
fix: remove duplicate maxConn input in user form ( #467 )
2026-04-24 21:56:46 +08:00
sagit
d9f28f53c7
style: move advanced settings to bottom and optimize UI ( #466 )
2026-04-24 19:10:36 +08:00
sagit
db25ba2cbe
style: move maxConn and speed limit inputs to advanced settings accordion ( #464 )
2026-04-23 20:29:52 +08:00
sagit
a498067261
fix: properly initialize maxConn in forward rules ( #463 )
...
* fix: initialize maxConn in forward creation and edit forms
* fix: add maxConn to Forward interface
2026-04-23 20:23:18 +08:00
sagit
b5922dccf2
fix: include maxConn when submitting forward forms ( #462 )
...
* fix: frontend missing maxConn setting during forward creation
* docs: check off plan
2026-04-23 20:11:20 +08:00
sagit
c259645227
feat: implement user and forward max connection limit ( #461 )
...
* docs: add implementation plan for max conn limit
* feat: add CLimiters support for websocket reporter
* feat: add max_conn field to user and forward models
* feat: implement max conn limiter dispatching
* feat: add maxConn to user and forward CRUD API
* feat: add max conn UI to user management and forward rules
* fix: load MaxConn in get forward record and add e2e contract test for max conn limit
2026-04-23 17:35:39 +08:00
sagitchu
6e60f5cfbd
fix: add visually hidden DialogTitle to resolve a11y warning and fix modal background
2026-04-22 09:21:47 +08:00
sagitchu
61dba0ae57
fix: remove trailing brace in tunnel.tsx to resolve CI error
2026-04-21 20:20:19 +08:00
sagitchu
f3d6366471
fix: increase kcp tunnel bandwidth limit and fix modal backgrounds
2026-04-21 20:16:58 +08:00
sagitchu
5107f59d94
fix: tolerate offline nodes when controlling forward services and editing tunnels
...
- controlForwardServices: skip offline nodes instead of failing entire operation,
so forward pause/resume/delete works when some entry nodes are offline
- onNodeOnline: always sync forward state on node reconnect (not just post-upgrade),
so forwards that changed status while a node was offline get synced
- add ListForwardIDsByNode repo method to sync all forwards (including paused)
- tunnel edit UI: allow deselecting already-selected offline nodes in
entry/chain/exit selectors, matching the backend's existing tolerance
2026-04-21 16:53:47 +08:00
sagitchu
d5d26d9cf9
fix(frontend): hide scrollbars on sidebar, modals, and secondary lists; fix diagnosis modal bg
2026-04-21 16:00:06 +08:00
sagitchu
eaf16bf17b
fix(frontend): enable horizontal scroll on all table lists for mobile
...
Change overflow-hidden to overflow-auto in table wrapper classNames
across all list pages (rules, tunnels, nodes, limits, groups, users,
monitor views). Also add table-fixed min-w to forward all-rules table
and fix unescaped entities in dashboard.
2026-04-21 14:18:44 +08:00
sagitchu
a968a10792
fix(frontend): fix dropdown padding, hide scrollbar, login input transparency
...
- Increase dropdown menu padding from p-1 to p-1.5
- Hide scrollbar in dropdown-menu-content and select listbox
- Change login page input bg from white/50 to white/10 for transparency
2026-04-21 12:41:49 +08:00
sagitchu
ea156c33bc
style(frontend): sync remaining glass UI theme files and cyberpunk theme
2026-04-21 12:40:00 +08:00
sagitchu
f6d2ab3270
fix(frontend): fix blank page after logout and login page branding
2026-04-21 09:33:04 +08:00
sagitchu
b382caa347
refactor(frontend): remove deprecated /settings route, redirect to /config
2026-04-21 09:26:44 +08:00
sagitchu
b42516cea1
fix(ui): refine glassmorphism and page transition animations
...
- Added custom light/dark background images to replace unsplash URLs.
- Enhanced active sidebar item shadow and backdrop blur for better visibility.
- Fixed double loading flickers on user, node, group, and panel-sharing pages.
- Removed opacity transitions from AnimatedPage to prevent backdrop-filter rendering issues during page navigation.
2026-04-21 09:19:02 +08:00
sagitchu
74ed74ba00
style: apply frosted glass backgrounds to inner cards and nested elements
...
- Replaced solid backgrounds (bg-white, bg-default-50) with high-blur translucent glass (backdrop-blur-3xl) inside tunnel topology nodes, dashboard forward rules, and flow charts.
- Matched the aesthetic of the inner components to inherit the adaptive light/dark mode root backgrounds.
2026-04-21 09:19:02 +08:00
sagitchu
7c1f5ca660
style: improve glassmorphism UI for background adaptability
...
- Increase backdrop blur and lower white/black background opacity on inner elements (tables, charts, tabs)
- Apply higher blur to admin layout sidebar and H5 layout navigation bar
- Remove solid backgrounds inside nested cards to inherit background themes
2026-04-21 09:19:02 +08:00
sagitchu
26013f8dfa
fix(ui): improve background handling and PWA update prompts
...
- Add adaptive solid color background support for dark/light themes.
- Replace mesh gradient with semi-transparent blurred background images.
- Fix background scrolling issue on mobile browsers.
- Remove borders from specific cards for consistent UI styling.
- Prevent caching of PWA service worker files in Nginx.
- Introduce interactive toast prompt for PWA updates instead of silent refresh.
2026-04-21 09:19:02 +08:00
sagitchu
ab0f36ba7b
style: optimize card and table backgrounds for better custom background visibility
2026-04-21 09:19:02 +08:00
sagitchu
cde379a1f4
fix: remove unused imports and leftover jsx in settings
2026-04-21 09:19:02 +08:00
sagitchu
96fc790ed7
feat: add global background image setting to config page
2026-04-21 09:19:02 +08:00
sagit
534d36f0a1
feat(ui): add persistent custom background image upload feature ( #415 )
2026-04-21 09:19:02 +08:00
sagit
7668e24f4b
feat(ui): redesign with transparent liquid glass ( #414 )
...
* docs: add design spec for iOS 26 Liquid Glass UI redesign
* docs: add implementation plan for iOS 26 Liquid Glass UI redesign
* feat(ui): add liquid glass CSS variables and update root layouts
* feat(ui): update Card and Modal components to iOS 26 Liquid Glass style
* feat(ui): redesign dashboard page to Liquid Glass style
* feat(ui): redesign node management page cards and charts
* feat(ui): redesign monitor page to Liquid Glass style
* feat(ui): redesign group and panel-sharing cards to Liquid Glass
* feat(ui): redesign settings and user components to Liquid Glass
* feat(ui): redesign profile and auth pages to Liquid Glass
* fix(ui): revert to LineChart to fix compilation issues
* refactor(ui): extract dashboard user header and cleanup admin layout
* feat(ui): refine monitor page hero metrics and fix build
* fix(ui): real data for monitor hero metrics and card padding adjustments
* fix(ui): apply global card padding and fix index layouts
* feat(ui): implement liquid-glass-react for all Card components
* fix(ui): resolve liquid-glass-react rendering issues causing invisible text and broken layout
* fix(ui): native CSS liquid-glass effect replacing NPM package
* fix(ui): cleanup duplicate closing tags and complete liquid glass tables
* fix(ui): apply perfect rounded corners to list views and table headers in non-compact mode
* fix(ui): apply liquid glass styling to grouped rules view in forward page
* fix(ui): re-implement liquid-glass natively to prevent text distortion and remove package dependency
* fix(ui): remove mouse distortion and preserve proper liquid glass texture
* fix(ui): remove svg filter causing text distortion and replace with pure css liquid glass
* fix(ui): apply properly scoped border radius to table headers
* fix(ui): remove hardcoded bg-default-50/60 from TableHeader
* fix(ui): apply global liquid glass styling and transparent overlays to all modals and dialogs
* fix(ui): remove absolute/relative class conflicts hiding Dialog modales and implement pure transparent layout
* feat(ui): apply global liquid glass styling to cards, buttons, and diagnosis modals
2026-04-21 09:19:02 +08:00
sagitchu
630e012ec1
fix(tunnel): resolve UDP stream interruption and add KCP protocol support
...
- Increase UDP listener default TTL from 5s to 30s to prevent idle disconnect
- Add mux keepalive config (15s interval, 45s timeout) to tunnel relay handler
- Add KCP as tunnel chain transport protocol with keepalive and UDP mode default
- Add KCP protocol option to tunnel UI (frontend)
- Remove generic 'tcp' fallback key from KCP metadata to prevent false TCP mode
- Simplify forward service config by removing unused tunnelTLSProtocol parameter
2026-04-20 23:57:43 +08:00
sagit
ebf412b9df
fix(ui): mobile modal scroll behavior ( #412 )
...
* docs: add announcement popup design spec
* docs: add announcement popup implementation plan
* fix(ui): change modal scroll behavior to inside for mobile screens
Fixes layout issue where modal footer and action buttons are pushed off screen on mobile devices.
2026-04-04 19:34:40 +08:00
sagit
9a85363e44
feat: Announcement Popup Notification ( #411 )
...
* docs: add announcement popup design spec
* docs: add announcement popup implementation plan
* feat(api): include update_time in announcement response
* feat(ui): add update_time to AnnouncementData interface
* feat(ui): create AnnouncementModal component
* feat(ui): manage announcement modal state in dashboard hook
* feat(ui): add announcement modal to dashboard layout
2026-04-04 13:00:11 +08:00
sagit
7b9b59644e
fix(ui): restore missing UI transition animations ( #408 )
...
- Wrap `Routes` with `AnimatePresence` to enable framer-motion page transition exit animations and fix harsh route changes.
- Replace `tw-animate-css` with `tailwindcss-animate` to properly bundle transition classes (like `animate-in`, `animate-accordion-down`) under Tailwind v4.
- This restores animation to modals, accordions, and all page navigations.
- Fix accessibility warning on table cell span element.
Fixes #283
2026-04-03 20:55:43 +08:00
sagitchu
1b3ae44940
feat: show license expiry date when commercial license is activated
2026-04-03 17:37:05 +08:00
sagitchu
513591fe67
feat(ui): conditionally render brand settings inside commercial license card
2026-04-03 17:27:48 +08:00
sagitchu
b892b2640e
feat(ui): display tunnel traffic ratio in forward list
2026-04-03 16:18:01 +08:00