skillhub/web/src/pages
xiose f55c520ebe feat(skill): add UPLOADED status for PRIVATE skill lifecycle
## Summary
- Add UPLOADED status for PRIVATE skills after security scan passes
- PRIVATE skill owners can test before confirming publish or submitting for review
- Rerelease now follows visibility rules (PRIVATE→UPLOADED, PUBLIC→PENDING_REVIEW)
- Auto-withdraw changes status to UPLOADED (not DRAFT) to keep versions visible

## Changes
- SkillVersionStatus: Add UPLOADED enum value
- SkillPublishService: PRIVATE skills go to UPLOADED after scan
- SecurityScanService: Visibility-based status transition after scan
- SkillGovernanceService: Withdraw→UPLOADED, delete allows UPLOADED
- SkillQueryService: Include UPLOADED in version list filters
- SkillReviewSubmitService: New service for submit-review and confirm-publish
- SkillLifecycleController: Add submit-review and confirm-publish endpoints
- Frontend: Add buttons, dialogs, and hooks for new operations

## Workflow
- PRIVATE: Publish → SCANNING → UPLOADED → confirm-publish → PUBLISHED
- PUBLIC: Publish → SCANNING → PENDING_REVIEW → PUBLISHED
2026-04-13 09:26:01 +08:00
..
admin test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
dashboard feat(skill): add UPLOADED status for PRIVATE skill lifecycle 2026-04-13 09:26:01 +08:00
settings Merge remote-tracking branch 'origin/main' into feature/notification-system 2026-03-23 17:12:13 +08:00
cli-auth.test.ts test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
cli-auth.tsx Fix frontend build and stabilize test suite 2026-03-17 11:16:01 +08:00
dashboard-preview.test.ts fix: harden hidden skill visibility and local dev restart flow (#62) 2026-03-17 15:26:12 +08:00
dashboard-preview.ts fix: harden hidden skill visibility and local dev restart flow (#62) 2026-03-17 15:26:12 +08:00
dashboard.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
dashboard.tsx feat: support Unicode characters in skill slugs (#196) 2026-03-31 10:17:34 +08:00
device.test.ts test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
device.tsx fix: improve dashboard UX and session refresh handling (#51) 2026-03-16 19:29:26 +08:00
home.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
home.tsx feat: support Unicode characters in skill slugs (#196) 2026-03-31 10:17:34 +08:00
landing.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
landing.tsx feat: support Unicode characters in skill slugs (#196) 2026-03-31 10:17:34 +08:00
login.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
login.tsx fix(web): swap password visibility toggle eye icons 2026-03-19 14:54:04 +08:00
namespace.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
namespace.tsx feat: support Unicode characters in skill slugs (#196) 2026-03-31 10:17:34 +08:00
notifications.test.tsx chore(notification): sync main and expand regression coverage 2026-03-23 15:04:47 +08:00
notifications.tsx feat(notification): add in-app notifications and harden delivery 2026-03-23 12:31:28 +08:00
privacy.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
privacy.tsx feat(web): add legal pages and footer links 2026-03-14 17:14:16 +08:00
register.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
register.tsx fix(web): map register API errors to field messages 2026-04-09 09:56:57 +05:30
search.test.tsx refactor: address code review findings from 2026-03-22 2026-03-23 13:48:23 +08:00
search.tsx fix(web): guard search page browser globals in tests 2026-04-09 10:25:25 +05:30
skill-detail-query.test.ts feat(notification): add in-app notifications and harden delivery 2026-03-23 12:31:28 +08:00
skill-detail-query.ts feat(notification): add in-app notifications and harden delivery 2026-03-23 12:31:28 +08:00
skill-detail.test.tsx feat(skill): add UPLOADED status for PRIVATE skill lifecycle 2026-04-13 09:26:01 +08:00
skill-detail.tsx feat(skill): add UPLOADED status for PRIVATE skill lifecycle 2026-04-13 09:26:01 +08:00
terms.test.tsx test(web): add colocated frontend coverage 2026-03-23 16:13:34 +08:00
terms.tsx feat(web): add legal pages and footer links 2026-03-14 17:14:16 +08:00