Skip to content

gui: Let Enter move on from every text field - #222

Draft
BenWestgate wants to merge 1 commit into
claude/project-thread-p319g5from
claude/project-thread-ju4kv7
Draft

BenWestgate wants to merge 1 commit into
claude/project-thread-p319g5from
claude/project-thread-ju4kv7

Conversation

@BenWestgate

Copy link
Copy Markdown
Owner

Requested by Ben · project thread

Bug. On "Restore my wallet ▸ Enter your cards", Enter did nothing even when every character checked out. No GUI text field handled Enter on this line (bails-v1-pin + #190/#191/#113/#217). gui-reviewability-v1 wires Enter per page on its two card fields only; this line never got it.

Change. One helper in _page, no per-page wiring. Enter in any text field moves to the next shown field, like the CLI's next prompt. From the last field it presses the first page action that is switched on: by default the primary (last) action. Card entry passes (Continue, Suggest a repair), the same way the CLI offers a correction for a card that doesn't check out. Actions that are switched off are never pressed.

Covers card entry (restore, check, repair, replace, seed), read-back, wallet record (fingerprint, then date), new wallet (name, passphrase, repeat, then Create), unlock, the YES gate, and the custom layout spin rows.

Budget. The GUI goes from 2,047 to 2,069 lines, so BUDGET goes from 2050 to 2070. Ben to decide: keep the raise, or trim elsewhere.

Checked. tools/gui_walkthrough.py on Xvfb now drives card entry, repair and read-back with Enter only, and checks field-to-field moves and that a switched-off action is never pressed: all 46 checks pass. python -m pytest: 658 passed, 2 skipped. The modules that need the bip32 oracle couldn't run because the proxy blocks its tarball, so CI covers them. ruff and mypy are clean.

Stacked on #217. Touches share entry, so it needs Ben's security review before it's marked ready.


Generated by Claude Code

Enter in a field did nothing, so a card that "checks out" still needed a
click on Continue. The CLI takes Enter as the answer to every prompt.

_page now wires every text field it holds, once: Enter moves to the next
shown field, and from the last presses the first page action that is
switched on (the last action by default). Card entry falls back to
"Suggest a repair", as the CLI offers a correction for a card that does
not check out. Covers card entry, read-back, wallet record, new wallet,
unlock, the YES gate and the custom layout numbers.

Claude-Session: https://claude.ai/code/session_01N8jLK7DpgY81q3JWXK4Zvz
@BenWestgate BenWestgate self-assigned this Nov 10, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant