785c832e02
fix: 限速输入统一为 Mbps,去掉 mbToBits 转换
...
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
Issue Check Inactive / issue-check-inactive (push) Has been cancelled
- 订阅表单 speed_limit 去掉 bitsToMb/mbToBits 转换,直接存 Mbps
- traffic_limit speed_limit 标签从 KB 改为 Mbps
- 节点组 speed_limit 标签从 KB/s 改为 Mbps
- Display trafficSpeed 类型直接显示 {value} Mbps
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-27 02:47:40 -07:00
5a493fce67
fix: 修复订阅跳转引号问题 + 设备组显示设备类型 + 统一用户名显示
...
Build and Release / Build (push) Has been cancelled
- 去掉所有 Link search 中的 String() 包装(7处),修复 URL 引号问题
- View Owner 改用 useNavigate 强制导航,解决同页面跳转不生效
- 设备组详情成员列表添加 auth_type Badge 和 device_type Badge
- 设备组列表 owner 列统一为 [AUTH_TYPE Badge] + identifier 格式
- UserDetail 组件统一设备标识逻辑,去掉 shortenDeviceIdentifier
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-26 21:36:12 -07:00
5019f76a73
fix: 修复用户管理搜索栏被 ProTable params 覆盖问题
...
ProTable 的渲染逻辑是:有 params 就渲染内置 ColumnFilter,
否则才渲染 header.title。导致自定义 UserSearchBar 不显示。
- 删除 params 配置
- 新增 buildSearchParams() 将 searchRef 的 type/value 转换为 API 参数
- request 直接调用 buildSearchParams() 而非依赖 filter
2026-03-24 01:34:14 -07:00
8d0ddbb5ef
fix: 修复合并后 TypeScript 编译错误
...
- 补充 RefObject import(local-captcha、slider-captcha、node-group-form)
- 删除 slider-captcha 中无用的 _scaleX/_scaleY 变量
- user_subscribe_id 类型转换 number → string
- 移除 services 文件中失效的 @ts-expect-error 指令
2026-03-24 01:23:36 -07:00
ef54d2479d
chore: 恢复本地定制修改(stash pop)
2026-03-23 22:08:58 -07:00
d6616c5859
merge: 同步 upstream/main 新功能到定制版本
...
- feat: Add slider verification code (bd67997)
- fix bug: Inventory cannot be zero (1f7a6ee)
- fix: resolve merge conflicts and lint errors
2026-03-23 21:50:10 -07:00
3806264343
merge: 同步 upstream/main 新功能到定制版本
...
Build and Release / Build (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
- 分流规则 + 用户流量统计
- 验证码功能
- 节点分组管理 UI
- 重构用户分组组件
2026-03-19 03:16:59 -07:00
830430645c
merge: 同步 origin/main (v1.4.0) 到定制版本
Build and Release / Build (push) Has been cancelled
2026-03-19 02:56:42 -07:00
6b92979c7c
feat: 自定义版本功能更新
...
Build and Release / Build (push) Has been cancelled
- 新增家庭共享订阅管理
- 新增用户邀请统计
- 新增签名和订阅模式设置表单
- 更新 API 服务层和国际化文件
- UI 组件优化(enhanced-input、pro-table)
2026-03-19 01:56:13 -07:00
EUForest
f8fbf5529f
✨ feat: add traffic limit rules and user traffic statistics
2026-03-14 17:59:27 +08:00
EUForest
eac7b27f60
✨ feat: Authentication verification code
2026-03-10 19:03:39 +08:00
31803a1d24
feat: 后台订单列表新增手动激活按钮
...
- API 层新增 activateOrder 方法 (POST /v1/admin/order/activate)
- pending(1) 和 cancelled(3) 状态的订单显示 Activate 按钮
- 点击后调用后端手动激活接口,强制发放订阅权益
2026-03-09 04:08:23 -07:00
EUForest
4b4edd48e3
refactor(group): remove deprecated user group components
...
Remove unused user group management components as user groups have been deprecated in favor of node groups only.
2026-03-08 23:42:39 +08:00
EUForest
ae31019477
feat(group): add node group management UI
...
Add node group management interface with automatic user assignment and traffic-based grouping.
Features:
- Node group CRUD with traffic range configuration
- Three grouping modes: average, subscription-based, and traffic-based
- Group recalculation with preview and history tracking
- Subscribe-to-group mapping management
- User subscription group locking
- Group calculation history with detailed reports
- Multi-language support (en-US, zh-CN)
- Enhanced node and subscription forms with group selection
2026-03-08 23:39:30 +08:00
web@ppanel
778e78ac68
fix(user): show expire time & improve renewal dialog on mobile ( #22 )
...
* 🐛 fix(admin): prioritize follow-up tickets by updated time
* ✨ feat(dashboard): show node/user traffic ranks side-by-side
* 🐛 fix(user): show expire time & improve renewal dialog on mobile
2026-03-04 08:16:33 -08:00
semantic-release-bot
8317e93d6b
🚀 chore(release): Release 1.3.12 / 发布版本 1.3.12 [skip ci]
...
## [1.3.12](https://github.com/perfect-panel/frontend/compare/v1.3.11...v1.3.12 ) (2026-02-26)
### 🐛 Bug Fixes / 问题修复
* **admin:** prioritize follow-up tickets ([#18 ](https://github.com/perfect-panel/frontend/issues/18 )) ([a07d1ca](a07d1ca48e ))
2026-03-04 08:16:32 -08:00
web@ppanel
116f6e5360
fix(admin): prioritize follow-up tickets ( #18 )
...
* 🐛 fix(admin): prioritize follow-up tickets by updated time
* ✨ feat(dashboard): show node/user traffic ranks side-by-side
2026-03-04 08:16:31 -08:00
semantic-release-bot
370d59d5ad
🚀 chore(release): Release 1.3.11 / 发布版本 1.3.11 [skip ci]
...
## [1.3.11](https://github.com/perfect-panel/frontend/compare/v1.3.10...v1.3.11 ) (2026-02-21)
### 🐛 Bug Fixes / 问题修复
* **admin:** stabilize node sorting with duplicate sort values ([15fc37d](15fc37db9e ))
2026-03-04 08:16:30 -08:00
ppanel-web
08702fb643
fix(admin): stabilize node sorting with duplicate sort values
2026-03-04 08:16:29 -08:00
ppanel-web
bbea15dea4
Fix unstable node sorting order
2026-03-04 08:16:28 -08:00
ppanel-web
98da7b1476
🐛 fix node sort persistence on drag reorder
2026-03-04 08:16:26 -08:00
EUForest
dc55d85056
fix(admin): handle int64 precision loss in getUserSubscribe API
...
Add transformResponse to convert large integers to strings before JSON parsing
to prevent precision loss for int64 values like user IDs that exceed
JavaScript's MAX_SAFE_INTEGER.
2026-02-14 00:44:28 +08:00
EUForest
b45ec4b56e
Merge remote-tracking branch 'upstream/main'
2026-02-13 23:11:47 +08:00
EUForest
a2689b4892
fix: remove pinned and popup parameters when querying all announcements
2026-02-13 23:09:23 +08:00
semantic-release-bot
f486c62475
🚀 chore(release): Release 1.3.10 / 发布版本 1.3.10 [skip ci]
...
## [1.3.10](https://github.com/perfect-panel/frontend/compare/v1.3.9...v1.3.10 ) (2026-02-10)
### 🐛 Bug Fixes / 问题修复
* **admin:** persist reset-password Turnstile verify setting (Fixes [#10 ](https://github.com/perfect-panel/frontend/issues/10 )) ([8831c9b](8831c9be9c ))
2026-02-10 00:58:43 +00:00
ppanel-web
8831c9be9c
fix(admin): persist reset-password Turnstile verify setting ( Fixes #10 )
2026-02-10 00:57:42 +00:00
EUForest
4c753adaa6
fix: show redemption code entry for all users regardless of subscription status
2026-02-09 00:21:22 +08:00
EUForest
9765a0c742
🐛 fix: TypeScript build errors in redeem-code component
...
- Fix type error for accessing response.data.message with proper type assertion
- Remove invalid 'loading' prop from Button component
- Add conditional text rendering for loading state
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 21:52:43 +08:00
EUForest
0a57896d87
Merge branch 'main' of https://github.com/OmnTeam/ppanel-frontend
2026-02-08 21:43:36 +08:00
semantic-release-bot
860200c059
🚀 chore(release): Release 1.3.9 / 发布版本 1.3.9 [skip ci]
...
## [1.3.9](https://github.com/perfect-panel/frontend/compare/v1.3.8...v1.3.9 ) (2026-02-08)
### 🐛 Bug Fixes / 问题修复
* **auth:** support OAuth callbacks with hash router (Fixes [#9 ](https://github.com/perfect-panel/frontend/issues/9 )) ([fee44fa](fee44fa1b2 ))
* **user:** mobile announcement close + payment method selection (Fixes [#8 ](https://github.com/perfect-panel/frontend/issues/8 )) ([b32ba55](b32ba55ab8 ))
* **user:** satisfy biome check for oauth/payment UI ([6e3ef8a](6e3ef8ab7e ))
2026-02-08 08:50:27 +00:00
ppanel-web
6e3ef8ab7e
fix(user): satisfy biome check for oauth/payment UI
2026-02-08 08:49:17 +00:00
ppanel-web
b32ba55ab8
fix(user): mobile announcement close + payment method selection ( Fixes #8 )
2026-02-08 08:45:46 +00:00
ppanel-web
fee44fa1b2
fix(auth): support OAuth callbacks with hash router ( Fixes #9 )
2026-02-08 08:42:16 +00:00
EUForest
1f9b7ea1db
✨ feat: add redemption code feature to user dashboard
...
- Add redemption code input component in dashboard
- Integrate redemption API endpoint
- Add i18n support for Chinese and English
- Display redemption section alongside subscriptions
2026-02-06 23:59:31 +08:00
semantic-release-bot
9f1de03175
🚀 chore(release): Release 1.3.8 / 发布版本 1.3.8 [skip ci]
...
## [1.3.8](https://github.com/perfect-panel/frontend/compare/v1.3.7...v1.3.8 ) (2026-02-06)
### 🐛 Bug Fixes / 问题修复
* **payment:** satisfy img size lint rule ([30a6967](30a6967187 ))
* **payment:** use native WeChat Pay QR data ([160e6da](160e6da3f6 ))
2026-02-06 07:10:57 +00:00
ppanel-web
30a6967187
🧹 fix(payment): satisfy img size lint rule
2026-02-06 07:09:55 +00:00
ppanel-web
160e6da3f6
🐛 fix(payment): use native WeChat Pay QR data
2026-02-06 07:06:16 +00:00
EUForest
3ee2c711ef
✨ feat: Device short code lookup
...
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-31 11:58:17 +08:00
EUForest
902e5fe59a
✨ feat: Device short code lookup
2026-01-31 11:58:17 +08:00
semantic-release-bot
e73df2d29b
🚀 chore(release): Release 1.3.7 / 发布版本 1.3.7 [skip ci]
...
## [1.3.7](https://github.com/perfect-panel/frontend/compare/v1.3.6...v1.3.7 ) (2026-01-27)
### 🐛 Bug Fixes / 问题修复
* **admin:** refresh user list after balance update ([7e1d574](7e1d5746d4 ))
* **build:** ensure version.lock directory exists + fix merge typo ([052a0a4](052a0a4209 ))
* **ci:** avoid void|Promise union for refetch ([6dd743b](6dd743bbf4 ))
* **i18n:** remove duplicate locale keys ([ed3f6cb](ed3f6cb737 ))
### 🔧 Chores / 其他变更
* **openapi:** regenerate services & patch axios requestType typing ([0ec4f84](0ec4f84fa9 ))
* **release:** Release 1.2.4-dev.2 / 发布版本 1.2.4-dev.2 [skip ci] ([98676fa](98676fa27c ))
* **release:** Release 1.3.7-dev.1 / 发布版本 1.3.7-dev.1 [skip ci] ([852b2b8](852b2b84ee ))
2026-01-27 18:30:41 +00:00
web@ppanel
2c345d1729
Merge pull request #6 from perfect-panel/develop
...
Merge develop into main
2026-01-28 02:29:40 +08:00
semantic-release-bot
852b2b84ee
🚀 chore(release): Release 1.3.7-dev.1 / 发布版本 1.3.7-dev.1 [skip ci]
...
## [1.3.7-dev.1](https://github.com/perfect-panel/frontend/compare/v1.3.6...v1.3.7-dev.1 ) (2026-01-27)
### 🐛 Bug Fixes / 问题修复
* **admin:** refresh user list after balance update ([7e1d574](7e1d5746d4 ))
* **build:** ensure version.lock directory exists + fix merge typo ([052a0a4](052a0a4209 ))
* **ci:** avoid void|Promise union for refetch ([6dd743b](6dd743bbf4 ))
* **i18n:** remove duplicate locale keys ([ed3f6cb](ed3f6cb737 ))
### 🔧 Chores / 其他变更
* **openapi:** regenerate services & patch axios requestType typing ([0ec4f84](0ec4f84fa9 ))
* **release:** Release 1.2.4-dev.2 / 发布版本 1.2.4-dev.2 [skip ci] ([98676fa](98676fa27c ))
2026-01-27 18:28:24 +00:00
web-ppanel
ed3f6cb737
🧹 fix(i18n): remove duplicate locale keys
2026-01-27 18:27:20 +00:00
web-ppanel
052a0a4209
🐛 fix(build): ensure version.lock directory exists + fix merge typo
2026-01-27 18:21:39 +00:00
web-ppanel
6458f2c8ad
🔀 merge: sync with origin/develop (resolve release conflicts)
2026-01-27 18:19:11 +00:00
web-ppanel
830c18c9e4
🔀 merge: main into develop
2026-01-27 18:16:34 +00:00
semantic-release-bot
98676fa27c
🚀 chore(release): Release 1.2.4-dev.2 / 发布版本 1.2.4-dev.2 [skip ci]
...
## [1.2.4-dev.2](https://github.com/perfect-panel/frontend/compare/v1.2.4-dev.1...v1.2.4-dev.2 ) (2026-01-27)
### 🐛 Bug Fixes / 问题修复
* **admin:** refresh user list after balance update ([7e1d574](7e1d5746d4 ))
* **ci:** avoid void|Promise union for refetch ([6dd743b](6dd743bbf4 ))
### 📚 Documentation / 文档更新
* Add one-click installation script for PPanel with Docker support ([912c5c4](912c5c4cb6 ))
### 🔧 Chores / 其他变更
* **openapi:** regenerate services & patch axios requestType typing ([0ec4f84](0ec4f84fa9 ))
2026-01-27 18:12:42 +00:00
web-ppanel
6dd743bbf4
🧹 fix(ci): avoid void|Promise union for refetch
2026-01-27 18:11:32 +00:00
web-ppanel
7e1d5746d4
🐛 fix(admin): refresh user list after balance update
2026-01-27 18:08:34 +00:00
web-ppanel
9e0dd4c874
🌐 i18n: add admin subscription UI strings
2026-01-27 18:02:18 +00:00