fix(chat): multi-select answers commit again — per-key picker walk + free-text Other in multi-select #65
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/coding-lab!65
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "lab/20260709-0107"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #64
What broke
Any multi-select question answer — flat card or multi-question form, Other or not — posted fine, played its keystrokes, and then the picker just sat there: the walk onto the unnumbered Submit row was batched into ONE
send-keys Down Down Down Downcall, and the 2.1.198 picker drops bursts like that wholesale (live: cursor moved zero rows; the closing Enters toggled the top option off/on).keyDelaypacing only applied between ops, never inside the batch. Single-select shares the pattern but small indices stay under the drop threshold — which is why only multi-select visibly broke.What changed
Downis its own paced op across all recipes. Compat snapshots updated; live replay of the exact new op sequence committed and recorded{"Which toppings?":"Olives"}where the old sequence hung.other_textaccepted for multi-select answers (flat + per-question), the row's index never ridesselected,other_textalone is valid; intent backstop expects the text as one more", "segment (multiset compare, toggle order is not option order); web card renders the Other toggle + input in both the flat card and the form, Submit gated on non-empty text.other_text/plan feedback at the door: a pasted newline records as literal\rin the answer (live-observed) — rejected as 400 now.Verification
internal/tmuxxintegration tests fail identically on a clean tree — sandbox can't host their test tmux server, pre-existing).tscandeslintclean; new component flows for Other-in-multi (flat + form + Other-only + empty-text gating).🤖 Generated with Claude Code
https://claude.ai/code/session_01Li7oLGPiDruWZTkTxEJK5x