apache / apache/maka

test(desktop): enumerate failure and edge states for high-traffic surfaces

Open
#3,944 15 comments 0 reactions 1 assignee Claimed by @liuxiaocs7 View on GitHub
Dominant language
TypeScript
Stars
5.4k
Forks
502
Avg merge
1d 2h
Merged PRs (30d)
716

Description

## Problem

Storybook is where a surface's states become simultaneously visible, and most of ours are not in it: **27** files with stories against **189** product `.tsx`.

Depth is not the problem — 195 story variants across those 27 files, with `settings-pages` at 42, `module-hubs` 29, `app-shell` 24, `session-workbar` 23. The gap is breadth.

Three findings already report the same shape from different angles:

- #3446 F5: "of the 28, **0** render on the reference screen and only 2 render across 7 stories probed … A distribution assertion on one or two reference screens would not catch this and will not defend it afterwards."
- #3893 names 10 surfaces with no a11y audit coverage — chat rendering, tool results, error states, diff viewer, terminal, browser panel, task panel, daily review, agent graph, model picker.
- #3834: a CSS comment cites `e2e/sidebar-geometry.spec.ts` as the guarantee for the sidenav's definite height; that file does not exist.

The states that never appear in normal use are the ones that never get tuned: empty, failed, loading, offline, unauthorised, very long text, very many rows.

## Desired outcome

Not a repo-wide sweep. Take the surfaces #3893 already names and add stories for each one's failure and edge states, so both this gate and the a11y audit have something to run against. One surface per PR.

Open question for the thread: whether "a new surface enumerates its failure states" joins the review baseline, or stays a per-surface judgement. Better decided after the first few land.

*AI use: Claude Code assisted with source and issue investigation; the analysis and conclusions are my own.*

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.