agent pane: Commit form keys and scope radios on src/ui, ui-rules base red (no bead)
Merged
TE
1mo ago+161+161+012345678901234567890123456789-29-29-01234567890123456789
Summary
Base red: webviews/test/ui-rules.test.ts failed every PR's react-apps-check after 75fd77581f5f (cx-ncc.1, Commit and Push in the changes view). It flagged a raw onKeyDown on the commit message (changes/GitActions.tsx:190) and a raw role="radiogroup" (:205).
This fixes the file on the shared parts rather than with a pending entry:
- Message keys: Cmd-Return commits and Escape closes the form (not the changes view). Both now go through
ui/KeyboardScope, with the same behavior as before. - Staged / All: the radios are a
ui/ChoiceGroup, a native radio group in a fieldset, so the browser owns the roles, arrow keys and focus. From the radios, Return commits and Escape closes the form, as in the message. The fieldset's native border, margin and min-width are reset so the chip looks the same. - Gallery: a new entry
agent-pane.changes-git-actionscoversGitToolbarButtonsandGitWriteBar, both removed from the gallery allowlist. Its variants are: toolbar, commit form, Include new files, busy, refused push with git's output, and a keyboard play (arrows move the scope radios, Escape in the message closes the form).
Testing
bun test test/ui-rules.test.ts:3 pass, 1 failon base (the two lines above),4 pass, 0 failhere. No pending entry was added.bun test test/gallery-coverage.test.tspasses with the two allowlist lines removed.bun run checkpasses: oxlint, oxfmt, types, layers, type scale.- The gallery plays run in the gallery PR diff browsers.
Changelog
none
š¤ Generated with Claude Code