You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up from the independent review of #77 (scoped publishing keys in Settings). All low severity; none block.
apps/web/app/routes/api.user-api-keys.ts DELETE with a malformed JSON body returns 500 instead of 400 (POST got the guard).
apps/web/app/routes/settings.tsx the create dialog closes before the server responds; on 400/403 the user loses the name and selected publishers.
apps/web/app/components/settings/api-keys-table.tsx a key whose stored scopes parse to [] shows an empty Access cell instead of "No access".
api.user-api-keys.tsscopes: null returns 400 while docs only describe omitting the field (fails safe; document or accept null as omitted).
The route has no Origin/CSRF check and relies on the session cookie's default SameSite=Lax; a sibling subdomain could send cookie-bearing requests. Pre-existing; consider an Origin check on mutating auth routes.
settings.tsx after Done the plaintext key stays in the in-memory action result until the next navigation (not re-shown).
Separate: the api.skill-favorite client chunk contains the key_hash column name (no data); check that no server-only module is imported client-side there.
Shipped: fixed by #96 (squash fbd0333, merged 2026-10-20 after 6 isolated review rounds). Deployed to production skillx-web (worker version 27d34bce at fbd0333; current 7d29ff0a at 79f98fb). Smoke 2026-10-20: /, /api/search and registry keys 200.
Activity
fix(web): harden API key settings (origin check, errors, empty scopes)
mrgoonie commentedon Oct 20, 2026
Shipped: fixed by #96 (squash fbd0333, merged 2026-10-20 after 6 isolated review rounds). Deployed to production skillx-web (worker version 27d34bce at fbd0333; current 7d29ff0a at 79f98fb). Smoke 2026-10-20:
/,/api/searchand registry keys 200.fix: alias slugs, .pi untracking, release scan tuning, API key settin…