home channels: EmojiPicker Return on src/ui; AddChannel, DraftRow, HomeIcon covered (no bead)
Merged
TE
1mo ago+55+55+01234567890123456789-20-20-01234567890123456789
Summary
This replaces the channels Home's pending and allowlist entries from #19419 with real fixes, per Leo: cmux-next base reds get fixed, not allowlisted.
- EmojiPicker: Return in the search picks the first result through
ui/KeyboardScopeinstead of a rawonKeyDown. It also no longer picks while an IME is composing. Theui-rules.pending.jsonline is gone. A native<form>submit wouldn't work here: the Popover portals to the body, but React's submit would bubble to the Composer's form. - AddChannel, DraftRow, HomeIcon:
pages.home-channelsalready renders them in theadd-channelanddraftvariants and in every toolbar. The entry nowcoversthem, and they're offgallery-coverage.allowlist.json. - New variant
emoji-return: open Emoji, type "rocket", press Return. The play checks the first result is in the composer and the popover has closed.
Testing
bun test test/gallery-coverage.test.ts test/ui-rules.test.ts: everything passes except the GitActions base red, which #19566 fixes.bun run checkpasses.- The plays run in the gallery PR diff browsers.
Changelog
none
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.
Summary by cubic
Replaces the channels Home pending and allowlist entries with real fixes.
- EmojiPicker's search now picks the first result on Return through
ui/KeyboardScopeinstead of a rawonKeyDown, and ignores Return while an IME is composing (including WebKit'skeyCode229 case). - AddChannel, DraftRow, and HomeIcon are now covered by the gallery, so they come off the coverage allowlist.
- Adds an
emoji-returngallery play that opens the Emoji popover, types "rocket", presses Return, and verifies the first result is in the composer and the popover has closed. - GitActions comes off the ui-rules pending list: #19566 moved its key handling onto
src/ui, dropping the stale pending line.