Merge RB-20 — route cancel and delete through runSubmit, surface the error

CQ-002: ApplicationsStore.cancel and AdminCasesStore.delete reached the raw
ApiClient and swallowed the failure in a bare catch, so a failed cancel made the
row reappear with no message. Both now fold through runSubmit and expose
lastError, which the two pages render.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

# Conflicts:
#	docs/project/refactor-backlog-setup/refactor-backlog/99-backlog.md
#	libs/shared/docs/behaviour-spec.mdx
This commit is contained in:
eho
2026-08-27 18:33:38 +02:00
9 changed files with 267 additions and 15 deletions
+10 -2
View File
@@ -20,7 +20,7 @@ tested where._
Every bullet below is a real test name from the suite — an `it()` title (frontend) or a test
method name (backend), read as a sentence. Nothing here is hand-written prose: this page
**is** the suite, reshaped for a business reader. 460 frontend behaviours across
**is** the suite, reshaped for a business reader. 465 frontend behaviours across
9 contexts; 237 backend behaviours across 41 test
classes.
@@ -406,7 +406,15 @@ classes.
- loads and parses the cross-owner list
- deletes optimistically and confirms via the admin endpoint
- rolls back the removal when the delete fails
- rolls back the removal and surfaces the error when the delete fails
- clears a stale error on the next delete attempt
#### ApplicationsStore
- loads and parses the list
- cancels optimistically and confirms via the DELETE endpoint
- rolls back the removal and surfaces the error when the cancel fails
- clears a stale error on the next cancel attempt
#### STEPS (fixed)