- 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
- Backend: /api/v1/auth/me now fetches fresh roles from DB and updates
session when roles have changed, so users see role changes on page
refresh without re-login
- Frontend: invalidate ['auth', 'me'] cache after admin user mutations
(role change, status change, approve, disable, enable) and account merge
- Login: fix reversed eye icon (Eye=visible, EyeOff=hidden)
- Login: hide browser-native password reveal button to avoid duplicate
- Reset form fields and mutation state when create-token dialog reopens
- Fix delete pagination: check items.length === 0 (post-delete) instead of 1
- Restrict skill download to PUBLISHED versions only
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
- 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
- Backend: /api/v1/auth/me now fetches fresh roles from DB and updates
session when roles have changed, so users see role changes on page
refresh without re-login
- Frontend: invalidate ['auth', 'me'] cache after admin user mutations
(role change, status change, approve, disable, enable) and account merge
- Login: fix reversed eye icon (Eye=visible, EyeOff=hidden)
- Login: hide browser-native password reveal button to avoid duplicate
- Reset form fields and mutation state when create-token dialog reopens
- Fix delete pagination: check items.length === 0 (post-delete) instead of 1
- Restrict skill download to PUBLISHED versions only
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