webviews: the check is green again (three warnings it counts as a red)

Merged
TE
17d ago
+9-6

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.

warningfilefix
jsx-a11y(prefer-tag-over-role)src/pages/history/HistoryPage.tsx:177the 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:30void 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


View with [code]smith Autofix with [code]smith
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> to role=status); the test now asserts the tag that carries the role.
  • The reply editor's autoFocus is UserBubble's own prop, which takes focus through a ref when the editor mounts, not the DOM attribute the jsx-a11y/no-autofocus rule 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 explicitly voided to satisfy no-floating-promises.