webviews: the check is green again (three warnings it counts as a red)
webviews' bun run check counts a warning as a failure, and three warnings landed today. What that blocks, exactly, after a review checked the claim: the pre-push hook refuses every push touching webviews/ (scripts/web_lint_prepush.py runs that same script with no warn mode), and web lint (fast) (cmux-next-web.yml) is red on every feat-cmux-next push. On a PR into feat-cmux-next the CI step itself only warns (CMUX_NEXT_STYLE_GUARDS=warn), so the test shards do run there โ an earlier draft of this description said a red check skipped them and cited #22197, which is the PR that removed that behavior. None of this is behavior.
| warning | file | fix |
|---|---|---|
jsx-a11y(prefer-tag-over-role) | src/pages/history/HistoryPage.tsx:177 | the disconnected line is an <output>, the status region the role belongs to, instead of a <div role="status"> |
jsx-a11y(no-autofocus) | src/agent-session/acpmux/conversation/IncomingMessageCard.tsx:180 (#22310) | the scoped disable this repo already uses for the rule, with the reason: this is UserBubble's own autoFocus prop, which takes focus through a ref when the editor mounts, not the DOM attribute the rule is about โ and the reader opened that reply editor with a click |
typescript(no-floating-promises) | test/sidebar-rail-css.test.tsx:30 | void window.happyDOM.close() |
.history-empty sets display: grid itself, so the tag change moves nothing. history-page-error asserted the role attribute; it now asserts the tag that carries it, which is the same guarantee (HTML-AAM maps <output> to role=status).
Changelog
none
Observed / Not run
Observed, on big-red: bun run check green โ 0 warnings, lint errors and type errors in 1998 files, all 2065 formatted โ where on this base it reports 3 warnings and exits 1. history-page-error 3 pass, history-page-parity 12 pass, sidebar-rail-css 1 pass, ui-rules 4 pass. Not run: the rest of the 160-file webview suite and the Swift build, neither of which this touches.
๐ค Generated with Claude Code
Agent session: big-red
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the three warnings that make webviews' bun run check fail, restoring a green check on every webviews PR.
bun run check treats a warning as a failure, and a red check skips the test shards after it in the same job (#22197). None of the fixes change behavior:
- The disconnected status region in the history page is an
<output>element instead of a<div role="status">(HTML-AAM maps<output>torole=status); the test now asserts the tag that carries the role. - The reply editor's
autoFocusisUserBubble's own prop, which takes focus through a ref when the editor mounts, not the DOM attribute thejsx-a11y/no-autofocusrule targets; it gets the scoped disable this repo already uses, with the reason. The reader opened that editor with a click. - The happy-dom
close()in the sidebar rail test is explicitlyvoided to satisfyno-floating-promises.