Skip to content

feat(admin-ui): Wardrobe uninstall affordance (gh-#428) - #448

Merged
genwave-radio merged 2 commits into
mainfrom
feat/gh-428-wardrobe-uninstall
Aug 9, 2026
Merged

feat(admin-ui): Wardrobe uninstall affordance (gh-#428)#448
genwave-radio merged 2 commits into
mainfrom
feat/gh-428-wardrobe-uninstall

Conversation

@genwave-radio

Copy link
Copy Markdown
Collaborator

Closes #428 — the API shipped complete in F104 (204/404/409-naming-themes); the page just never grew the button. Now it has one. 🧥

  • Per-pack Uninstall → confirm dialog naming the pack → DELETE /api/fonts/{slug} → 204 toasts + router.refresh() (server page re-fetches, pack gone). House idioms throughout (useConfirm/toast/readErrorMessage — the PurgeUnavailableAction shape).
  • 409 renders the blockers: 'In use by: ' parsed from the problem detail (the 409 carries no structured theme list — parser is one documented pure function with the raw server sentence as fallback, so a future prose change degrades to still-correct info, never to a generic error). If we ever want it structural, a referencedThemes extension on the backend problem is the follow-up — noted, not required.
  • Stale '(later, M2)' comment on the page fixed.

Verification: 13 new specs (parser ×6, button ×7: DELETE target, 204 refresh, 409 naming, 404 relay, network, cancel-fires-nothing) + the existing wardrobe suite extended for the provider/mocks; full admin-ui suite 92 suites / 887 passed / 0 failed; next build green twice. Built by a worktree builder; reviewed + re-verified before PR.

…ug} finally gets a button

Per-pack confirm -> DELETE -> refresh; 409 names the referencing themes
('In use by: ...') via a narrowly-scoped parser over the problem detail
with the raw sentence as fallback; 404/network toast honestly. The
page's read-only doc-comment contract updated to name its one write
path. Closes #428
@genwave-radio
genwave-radio merged commit 58723b6 into main Aug 9, 2026
11 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 9, 2026
@genwave-radio
genwave-radio deleted the feat/gh-428-wardrobe-uninstall branch August 9, 2026 21:57
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

admin-ui: Wardrobe is read-only — surface uninstall (DELETE /api/fonts/{slug} already shipped)

1 participant