Merge RB-22 — tolerate a 404 on GET /brief with a one-shot reset
CQ-007 expand half. BriefStore.load() treats a 404 as 'no brief yet' and calls the existing reset() command once. load()'s error channel becomes the BriefLoadFailure union, because runResult folds the HTTP status away and the store needs it. Today's backend never 404s, so the branch is a no-op until RB-23 lands the contract half. 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:
@@ -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. 465 frontend behaviours across
|
||||
**is** the suite, reshaped for a business reader. 467 frontend behaviours across
|
||||
9 contexts; 237 backend behaviours across 41 test
|
||||
classes.
|
||||
|
||||
@@ -180,6 +180,11 @@ classes.
|
||||
- flushes a pending debounced edit immediately and clears the pending flag
|
||||
- is a no-op when no edit is pending
|
||||
|
||||
#### BriefStore.load — 404 tolerance (RB-22)
|
||||
|
||||
- a 404 drives exactly one reset(), which populates the store
|
||||
- a second 404 does not drive a second reset()
|
||||
|
||||
#### BriefStore.previewLetter
|
||||
|
||||
- opens the composed letter in a new tab on success
|
||||
|
||||
Reference in New Issue
Block a user