Commit graph

82 commits

Author SHA1 Message Date
dongmucat
d6913d28aa feat(web): refine app shell layout polish
变更摘要:

- 优化应用壳布局,统一 search 与 dashboard 的内容宽度与切换时机

- 恢复 search 与 dashboard 页面的上浮入场动画,并保留 sticky header 阴影效果

- 将本次新增前端测试收纳到 web/test/app,并纳入 TypeScript 检查范围

- 同步调整 landing quick start 文案字号与本地开发代理地址

关键文件:

- web/src/app/layout.tsx

- web/src/app/layout-main-content.ts

- web/src/app/page-shell-style.ts

- web/test/app/layout-main-content.test.ts

- web/vite.config.ts
2026-03-19 17:32:27 +08:00
XiaoSeS
f2cf22b3e1 feat: add user profile update feature with moderation support
* feat: add user profile update feature with moderation support

Add ability for users to update their display name with optional machine/human review.

Backend:
- Add profile_change_request table (V15 migration)
- Add UserProfileService with moderation workflow
- Add PATCH /api/v1/user/profile and GET /api/v1/user/profile endpoints
- Add ProfileModerationService interface with NoOp implementation
- Add ProfileModerationProperties for machine/human review toggles
- Update AuthController /me to refresh session when displayName changes
- Add i18n messages for profile validation and responses

Frontend:
- Add /settings/profile page with edit-on-click pattern
- Add profileApi.updateProfile() to client
- Update user menu: add "Profile Settings", make "Security Settings" local-only
- Add i18n translations (en/zh) for profile settings

Testing:
- Add UserProfileControllerTest with 8 test cases
- Add UserProfileServiceTest with 6 test cases
- Add AuthControllerTest case for session refresh on displayName change

* version sql

* merge main

* feat: add profile review admin workflow

* feat(web): add pagination to skill review list

- useReviewList now passes page/size to backend and returns paginated response
- reviews.tsx maintains per-tab page state with prev/next controls
- namespace-reviews.tsx adapted to new response shape
- Added i18n keys for pagination (en/zh)
2026-03-19 17:23:05 +08:00
yun-zhi-ztl
4365a9363c fix(web): remove default focus outline on user menu trigger button 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
1a5b8de196 fix: handle archived skill version deletion 2026-03-19 14:54:04 +08:00
yun-zhi-ztl
ac94930c94 fix: hide governance entry for unauthorized users 2026-03-19 14:54:04 +08:00
vsxd
729b1c0498 docs: enrich frontend code documentation 2026-03-19 13:37:21 +08:00
XiaoSeS
626e00219e feat: add user profile update feature with moderation support (#90)
* feat: add user profile update feature with moderation support

Add ability for users to update their display name with optional machine/human review.

Backend:
- Add profile_change_request table (V15 migration)
- Add UserProfileService with moderation workflow
- Add PATCH /api/v1/user/profile and GET /api/v1/user/profile endpoints
- Add ProfileModerationService interface with NoOp implementation
- Add ProfileModerationProperties for machine/human review toggles
- Update AuthController /me to refresh session when displayName changes
- Add i18n messages for profile validation and responses

Frontend:
- Add /settings/profile page with edit-on-click pattern
- Add profileApi.updateProfile() to client
- Update user menu: add "Profile Settings", make "Security Settings" local-only
- Add i18n translations (en/zh) for profile settings

Testing:
- Add UserProfileControllerTest with 8 test cases
- Add UserProfileServiceTest with 6 test cases
- Add AuthControllerTest case for session refresh on displayName change

* version sql

* merge main
2026-03-19 10:16:40 +08:00
dongmucat
42e6fff693 feat: Implement core web application structure including landing page, skill registry, layout, routing, and internationalization. (#87) 2026-03-18 17:20:49 +08:00
vsxd
f4b9a26f6f fix: preserve local timezone in token expiration UI 2026-03-18 17:16:55 +08:00
Xudong Sun
4aa3d29599 refactor: skill lifecycle projection and docs (#78)
* Refactor skill lifecycle projection and docs

* Improve owner lifecycle visibility on skill detail

* Track download counts per skill version
2026-03-18 13:39:22 +08:00
yun-zhi-ztl
cc5fc7586f fix: improve disabled-account feedback and skill detail polish (#70)
* fix: keep download counts consistent across skill pages

* fix: stabilize empty search ordering across sorts

* fix: show disabled-account reason on login redirect

* fix: mute report input placeholder text

* fix: return skill detail to my skills page

* test: stabilize auth context filter coverage
2026-03-17 19:55:44 +08:00
dongmucat
09e1933f61 feat(web): refine header interactions and dashboard skill cards 2026-03-17 19:39:20 +08:00
dongmucat
ed6c2998a0 feat: Implement SkillHub UI redesign with new page templates, components, and related documentation. 2026-03-17 18:46:41 +08:00
dongmucat
67e3c8ff19 feat: Implement initial web application structure, core pages, and UI components with i18n support. 2026-03-17 17:03:55 +08:00
yun-zhi-ztl
252ba65297 fix: hide self-report action on skill detail 2026-03-17 14:05:40 +08:00
yun-zhi-ztl
c8ba86e8a2 test: cover skill query helpers 2026-03-17 11:54:16 +08:00
yun-zhi-ztl
9e916305f1 test: cover formatting and api error helpers 2026-03-17 11:51:40 +08:00
yun-zhi-ztl
0904f0feda fix: sync namespace member role updates 2026-03-17 11:30:57 +08:00
yun-zhi-ztl
99ff863681 fix: handle role downgrade on protected pages 2026-03-17 11:28:00 +08:00
yun-zhi-ztl
4e71c93e86 fix: hide account merge entry 2026-03-17 11:19:49 +08:00
yun-zhi-ztl
163320f7eb fix: paginate personal skills and stars 2026-03-17 11:06:47 +08:00
yun-zhi-ztl
c9e7e1ce28 Merge remote-tracking branch 'origin/main' into feature/project-fixbug
# Conflicts:
#	web/src/api/client.ts
#	web/src/app/router.tsx
#	web/src/pages/skill-detail.tsx
2026-03-17 10:55:11 +08:00
yun-zhi-ztl
71ed31fc46 fix: return skill detail back button to search 2026-03-17 10:53:00 +08:00
xiose
060a611a54 fix(auth): enforce owner isolation for skill publishing
- Change skill uniqueness constraint from (namespace_id, slug) to
  (namespace_id, slug, owner_id) to support per-user skill records
- Reject publish when another owner has a published skill with same slug
- Reject review approval when same-slug conflict exists
- Auto-withdraw pending review versions when submitting a new version
- Resolve visible skill by preferring published skill, then current
  user's own skill, to fix wrong skill returned for same-slug queries
- Invalidate all skill query cache on publish to prevent stale data
2026-03-16 20:56:28 +08:00
xiose
c23960ea0b fix(web): prevent text overflow in token dialogs
Add responsive text wrapping and overflow handling to token-related
components to prevent layout breaking with long token names or descriptions.

Changes:
- Add min-w-0 to dialog headers to allow flex shrinking
- Add break-all/break-words to prevent text overflow
- Add overflow-hidden to token display container
- Apply max-w-48 constraint to token name column
2026-03-16 20:39:33 +08:00
yun-zhi-ztl
84bc5c7d9d fix: improve dashboard UX and session refresh handling (#51)
* fix: refresh skill download counts after download

* fix: limit skill search query length

* fix: truncate long error messages in ui

* fix: refresh auth roles promptly

* fix: block disabled users with active sessions

* fix: add my skills preview to dashboard

* fix: align dashboard my skills layout

* fix: refine dashboard my skills preview

* fix: adjust dashboard my skills grid

* fix: keep dashboard more tile visible

* fix: refine dashboard copy tone
2026-03-16 19:29:26 +08:00
yun-zhi-ztl
dee07ad7a2 fix: truncate long error messages in ui 2026-03-16 17:30:30 +08:00
yun-zhi-ztl
c6fb349253 fix: limit skill search query length 2026-03-16 17:28:39 +08:00
yun-zhi-ztl
dfa0724d12 fix: refresh skill download counts after download 2026-03-16 16:28:16 +08:00
vsxd
5168e866da fix: make bootstrap admin opt-in and stabilize promotion errors 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
2b0bb25240 fix: stabilize promotion approval and documentation fallback 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
556e65efef feat: complete skill promotion submission flow 2026-03-16 16:03:46 +08:00
vsxd
bead940e3e test: stabilize api assertions and add frontend test setup 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
b30311a537 feat: build governance center workflow 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
8fc2c01a32 feat: complete namespace member management 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
889a6d3b9d feat: add namespace creation dialog 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
f92cdb31f2 feat: add namespace governance dashboard 2026-03-16 16:03:46 +08:00
yun-zhi-ztl
907885eb79 fix(skill): surface unavailable readme states 2026-03-15 20:09:32 +08:00
yun-zhi-ztl
c6b3eab034 fix(skill): keep published view stable for owners 2026-03-15 20:06:45 +08:00
yun-zhi-ztl
3446740b5f feat(web): add skill version management UI 2026-03-15 19:48:29 +08:00
yun-zhi-ztl
29a08d3c54 feat(skill): allow withdrawing pending submissions 2026-03-15 19:23:20 +08:00
yun-zhi-ztl
30545d6a8a fix(publish): clarify precheck failures and avoid duplicate toasts 2026-03-15 18:26:14 +08:00
yun-zhi-ztl
04eb468a19 feat(skill): add lifecycle management UI 2026-03-15 17:02:03 +08:00
yun-zhi-ztl
411e592362 feat(report): add skill report UI and admin page 2026-03-15 16:47:53 +08:00
yun-zhi-ztl
2b6f4e335e refactor(web): move portal APIs under api/web 2026-03-15 15:48:14 +08:00
yun-zhi-ztl
e188c8e060 fix(dialog): preserve centered modal positioning 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
6786b8a95c fix(toast): center feedback and remove native token tooltip 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
4c91b73592 fix(dialog): center popup content across app 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
d6608e4b29 fix(token): center token actions and toast layout 2026-03-15 14:20:07 +08:00
yun-zhi-ztl
fb32512ed9 fix(token): center token feedback toasts 2026-03-15 14:20:07 +08:00