Commit graph

131 commits

Author SHA1 Message Date
yun-zhi-ztl
296c713652 fix: add my skills status filters 2026-03-19 17:06:26 +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
yun-zhi-ztl
13840754ad feat(dashboard): add back navigation for subpages 2026-03-15 14:20:07 +08:00