improvement(ux): submit on Enter in chip modals and advance table rows#5781
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Several modals (OAuth connect, rename document, create workspace) drop redundant body-level Enter handlers in favor of the shared behavior. The workflow editor table sub-block treats Enter as move focus to the same column, next row (with guards for tag/env dropdowns and stale refs after row delete). Reviewed by Cursor Bugbot for commit 45d46d9. Configure here. |
Greptile SummaryThis PR adds consistent Enter-key behavior to chip modals and workflow tables. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (4): Last reviewed commit: "fix(table): clean up cell refs on unmoun..." | Re-trigger Greptile |
- stopPropagation on field Enter-submit so a parent onKeyDown can't re-fire the primary (double OAuth connect, etc.) - register primary via useLayoutEffect so it's set before paint (no null-Enter window) - drop now-redundant parent Enter handlers in connect-oauth/create-workspace/rename-document modals
0b3ed5d to
79828f4
Compare
|
@cursor review |
Focusing an empty cell auto-opens the tag dropdown; without closing it a follow-up Enter inserts a tag instead of navigating down the column.
|
@cursor review |
- delete inputRefs/overlayRefs entries when a cell detaches so deleting a row can't leave stale position-keyed entries - guard Enter advance with isConnected so a stale ref can never steal focus into a detached node
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 45d46d9. Configure here.
Summary
ChipModalnow fires its footer's primary action when Enter is pressed in any single-lineinput/emailfield — Enter-to-submit goes from opt-in (a per-fieldonSubmitmost modals forgot to wire) to automatic across every chip modal. Guards IME composition and respects the primary'sdisabledstate.ChipModalFooterskips registeringvariant: 'destructive'primaries. Closes the latent "Enter-to-delete from a textbox" footgun.submitOnEnteropt-out for config-knob fields inside larger forms (applied to the scheduled-task "Number of runs" input so Enter doesn't submit the modal prematurely).Type of Change
Testing
Tested manually.
tsc(emcn + app) and fulllint:checkgreen. Not covered by automated tests (emcn's test env is node-only, no jsdom).Checklist