sagit
938e9ff4fd
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-05 13:22:12 +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
75cd60ea3e
feat(ui): update list view tables styling for Node, Monitor, User, Tunnel, and Limit ( #354 )
2026-03-20 13:15:15 +08:00
sagitchu
6b1264ae90
feat: align node and user list view UI
2026-03-20 11:01:37 +08:00
sagitchu
08bc91e5c9
feat(ui): add list view for node and user pages
2026-03-20 10:00:56 +08:00
sagit
6458b5af00
feat: beautify monitor tab and improve user page ( #343 )
2026-03-18 22:46:02 +08:00
sagitchu
455900ba41
Merge branch 'main' into opencode/shiny-falcon
...
# Conflicts:
# go-backend/internal/http/handler/mutations.go
# go-backend/tests/contract/issue313_entry_port_conflict_contract_test.go
2026-03-18 14:09:00 +08:00
sagit
ea21a7deef
fix(user): improve tunnel selector contrast in dark mode ( #336 )
2026-03-18 04:10:32 +00:00
sagitchu
46a60376c4
Merge remote-tracking branch 'origin/main' into opencode/shiny-falcon
...
# Conflicts:
# vite-frontend/src/pages/node.tsx
# vite-frontend/src/pages/user.tsx
2026-03-17 15:18:25 +08:00
sagitchu
9de240f034
feat(monitoring): add node/tunnel metrics, service monitors, and health checks
...
- Add NodeMetric/TunnelMetric/ServiceMonitor models and repository methods
- Implement metrics ingestion service with per-minute bucket aggregation
- Add health checker for node connectivity monitoring
- Wire node metrics from WebSocket SystemInfo messages
- Add tunnel metrics ingestion from flow upload endpoint
- Create monitoring REST API endpoints for nodes, tunnels, services
- Implement service monitor CRUD and execution (TCP/ICMP checks)
- Add MonitorPermission for non-admin access control
- Create frontend monitor page with node/tunnel/service views
- Add tunnel metrics ingestion from agent flow reports
- Include schema migration for tunnel_metric unique index
- Fix tunnel entry port conflict validation to use transaction
Entire-Checkpoint: 030821a7c8e3
2026-03-17 14:59:09 +08:00
sagitchu
4e38b73cac
Keep UI improvements: Modal styles, expiryReminderDismissed, BatchActionResultModal
2026-03-15 22:51:09 +08:00
sagitchu
8f336377f6
Revert user page search bar to inline implementation for consistency
2026-03-15 22:28:44 +08:00
abai569ok
375877b223
2.1.8-beta1.7
2026-03-15 20:33:53 +08:00
sagit
e56dd898ef
fix(dialog): prevent scroll to top on modal close ( #318 )
...
* fix(dialog): prevent both open and close auto focus to avoid page scroll
Add onOpenAutoFocus handler to prevent Radix Dialog from auto-focusing
content on open, which can cause unwanted scroll behavior.
* fix(dialog): remove onOpenAutoFocus, keep only onCloseAutoFocus
Remove onOpenAutoFocus handler that was causing scroll issues on first open.
Keep onCloseAutoFocus to prevent scroll to trigger element on close.
Key fix: Move {...props} before onCloseAutoFocus to prevent override.
* fix(dialog): prevent scroll to top on modal close
- Move {...props} before onCloseAutoFocus to prevent override
- Simplify handler to just e.preventDefault()
- Apply fix to both dialog.tsx and modal.tsx
2026-03-14 02:32:35 +00:00
sagitchu
ad9b336fb9
refactor(quota): migrate traffic quota from tunnel to user level
...
- Replace tunnel_quota table with user_quota table
- Add user-level daily/monthly quota tracking and enforcement
- Update user CRUD to include quota configuration
- Migrate backup/restore to use user quota fields
- Update frontend API and UI for user quota management
2026-03-12 14:17:57 +08:00
sagit
de9ab51def
feat: node management enhancements and UX improvements ( #297 )
...
* feat(nodes): add renewal cycle and auto-advance scheduling
- Add renewal_cycle field to nodes for tracking paid vs free cycles
- Implement auto-advance scheduling when renewal is processed
- Add migration test for renewal_cycle column
- Update dashboard to show renewal cycle count
- Add renewal status display on node detail page
* fix(frontend): show rule count in compact view mode for forward pages
* style(frontend): format code and improve node card layout
Entire-Checkpoint: 08b760b76538
* fix: restore renewal.ts from main to resolve build errors
2026-03-09 10:01:55 +08:00
sagitchu
f1bdb2e2ef
feat(frontend): implement AJAX no-refresh UX improvements ( #276 )
...
- Add dashboard auto-refresh with 5s polling and visibility-aware pause
- Harden node realtime reconnection with exponential backoff and polling fallback
- Implement local state patching for forward/tunnel/user mutations
- Add batch operation progress feedback UI
- Add shared list-state helpers for replace/remove operations
- Preserve derived UI state during server payload merges
Closes #276
Entire-Checkpoint: 7d6188355d7f
2026-03-08 19:15:02 +08:00
sagit
f6eb88d75e
refactor: 统一术语,将'转发'改为'规则' ( #273 )
...
- 更新所有页面中的'转发'术语为'规则'
- 统一UI文案,提升用户体验一致性
- 关联 #269 #271
Entire-Checkpoint: 5646e42aa33b
2026-03-05 15:07:42 +08:00
sagitchu
2e3d5c9249
fix: preserve speed_limit and auto_clear when saving forwards and user tunnels
...
- Add speed_limit and auto_clear fields to forward update mutation
- Update user tunnel save to preserve these fields
- Add contract test for forward save preserving speed_limit
- Add plan documents for the fixes
2026-03-03 22:10:33 +08:00
sagitchu
975948dcf6
fix(frontend): simplify speed limit selector UX
2026-02-27 19:53:19 +08:00
sagitchu
06f76d918f
fix(frontend): unify speed rule placeholders in selects
2026-02-27 08:33:10 +08:00
sagit
feb357ff17
fix: tunnel chain order and speed limit UI improvements ( #216 )
...
* fix(backend): use correct chain order index for tunnel nodes
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
* fix(frontend): filter '不限速' from speed limit dropdowns and preserve node order
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
---------
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-26 21:30:25 +08:00
sagitchu
61c5b5e759
feat: add speed limit contract tests and refine limit/user UI
2026-02-26 20:18:29 +08:00
sagitchu
466cc65069
fix: stabilize federation forward runtime cleanup and wire frontend version update UX
2026-02-25 11:20:51 +08:00
sagit
42ae3457b5
feat(frontend): persist filter state across page reloads ( #189 )
...
* feat(frontend): persist filter state across page reloads
Add useLocalStorageState hook to persist filter/search state in
forward, node, tunnel, user, and limit pages. Reset filter clears
the persisted value from localStorage.
* feat(ui): add collapsible sidebar and smooth animations
2026-02-22 19:01:03 +08:00
sagitchu
d483258eef
fix(frontend): ship pending card-view animation and interaction refinements
2026-02-22 15:52:48 +08:00
sagitchu
a15be253f5
feat: add framer-motion animations (page transitions, modals, dropdowns, buttons, search bar)
2026-02-21 21:16:42 +08:00
sagitchu
572d1c16a6
feat: Implement toggleable search input and data filtering across tunnel, user, and forward pages.
2026-02-21 20:43:32 +08:00
sagitchu
1383174b31
refactor: Standardize empty state UI for tunnel and user pages, update announcement banner styling, and add new entries to .gitignore.
2026-02-21 16:36:36 +08:00
sagit
5a1b72387d
fix(frontend): polish batch actions and sharing page guidance ( #157 )
...
* fix(frontend): polish batch actions and sharing page guidance
* fix(frontend): add top spacing above sharing section banners
* fix(frontend): allow manual and calendar expiry date input
* fix(frontend): switch batch action buttons to warning tone
* fix(frontend): switch batch action buttons to default tone
2026-02-20 12:50:17 +08:00
sagit
66de566a00
fix(frontend): stabilize multiselect behavior and UI spacing ( #154 )
...
* fix(frontend): left-align announcement logo in homepage banner
* fix(frontend): keep multiselect panels floating and preserve summaries
* fix(frontend): rebalance config card header spacing
* fix(frontend): normalize formatting and fix multiselect modal behavior
* fix(frontend): restore config divider spacing on desktop
2026-02-19 20:50:12 +08:00
Sagit
c4d807f1c4
fix(frontend): align card body spacing with node cards
2026-02-19 10:16:59 +00:00
Sagit
9189c68800
fix(frontend): normalize card spacing and multiselect overflow
2026-02-19 09:17:04 +00:00
sagit
efbdabceca
fix(frontend): align diagnosis status and permission layout ( #148 )
...
* fix(frontend): align diagnosis status and permission layout
* fix(frontend): polish batch toolbar controls on cards
* fix(user): stabilize tunnel permission checkbox interactions
2026-02-19 16:46:37 +08:00
sagit
6e5a71f489
fix(frontend): resolve scroll, diagnosis layout, and multi-select regressions ( #147 )
...
* fix(frontend): restore modal scroll and bridged multi-select UI
* fix(frontend): collapse multi-select panel and clean diagnosis labels
2026-02-19 16:10:02 +08:00
Sagit
30c96a280d
feat(frontend): wire pages to shadcn bridge and modular helpers
2026-02-19 05:15:26 +00:00
Sagit
6d57b49595
style(user): simplify search input wrapper classes
2026-02-18 18:55:50 +00:00
Sagit
d12c5bf2e1
feat(user): support user-group assignment in user management
2026-02-18 14:47:12 +00:00
root
efd5a107b9
fix: migrate frontend to Vite 7 and resolve lint warnings
2026-02-06 06:09:17 +00:00
root
6f6fececa8
style: 美化用户隧道权限分配表单UI并统一代码格式
...
- 使用HeroUI Checkbox组件替换原生checkbox
- 重构隧道列表为card-based tile风格
- 添加选中/未选中/已分配状态视觉区分
- 应用eslint --fix代码格式统一
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-02-04 02:22:28 +00:00
root
72c2e28667
fix: 移除未使用的变量修复TypeScript编译错误
2026-02-03 15:55:30 +00:00
root
0e5cd86ed1
feat: 简化用户隧道权限分配,支持多选隧道批量分配 ( #8 )
...
- 新增批量分配接口 POST /tunnel/user/batch-assign
- 支持一次选择多个隧道进行分配
- 每个隧道可单独设置限速规则
- flow/num/flowResetTime/expTime 自动从用户设置继承
- 前端表单简化为隧道多选列表+限速选择
- 已分配的隧道显示'已分配'标记且不可重复选择
2026-02-03 13:59:05 +00:00
qaq
03f1123c5c
统一ui
2025-08-29 11:28:56 +08:00
qaq
b1647ed309
修复转发暂停问题 增加安卓apk
2025-08-20 13:43:35 +08:00
qaq
6f80e26a8f
优化
2025-08-15 12:25:06 +08:00
qaq
d6685447b3
修复无法及时暂停的bug
2025-08-09 21:27:00 +08:00
qaq
b567628700
修复bug
2025-08-06 15:00:39 +08:00
qaq
62f9da97f4
增加拖拽排序
2025-08-05 22:16:21 +08:00
qaq
a06904ee3a
新增转发导入,导出,批量添加功能
2025-08-05 17:35:18 +08:00
qaq
8e4b69e335
新增转发导入,导出,批量添加功能
2025-08-05 17:28:42 +08:00