fabro/apps/fabro-web
Bryan Helmkamp 3435c02dca
fix(web): cover new archived RunStatus in Files empty-state taxonomy
origin/main introduced a new `archived` lifecycle status as a terminal
state reached by explicit user action on a previously terminal run.
deriveEmptyKind didn't know about it — archived runs with files would
have rendered "The diff for this run is no longer available. If you
expect files here, please report it.", which is wrong; the diff was
captured normally, the run was just archived later.

Adds `archived` to the terminal-success branch so archived runs show
the correct empty-state copy (R4b or R4c2) based on total_changed,
same as a succeeded run.

The regression-guard test is also tightened: it now iterates over
`RunStatus` from @qltysh/fabro-api-client rather than a hand-
maintained list, so any future addition to the OpenAPI spec fails
this test until the decision table grows a branch. This exact class
of silent-regression is what made me miss archived in the first
place.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 19:41:03 -04:00
..
app fix(web): cover new archived RunStatus in Files empty-state taxonomy 2026-04-19 19:41:03 -04:00
public Add screenshots, workflow diagram, lightbox, and fix logotype viewBox 2026-03-16 10:09:57 -04:00
scripts feat(install): add browser-based setup flow 2026-04-19 11:20:58 -04:00
.dockerignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
.gitignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
index.template.html fix(fabro-web): default unsaved theme selection to dark 2026-04-08 12:10:34 -04:00
package.json build(web): upgrade @pierre/diffs to 1.1.15 2026-04-19 17:00:50 -04:00
tsconfig.json Fix login route collision after SPA cutover 2026-04-01 21:55:30 -07:00