Skip to content

Restore prompt responds to the mouse - #17

Open
kingb wants to merge 1 commit into
mainfrom
fix/restore-modal-mouse
Open

kingb wants to merge 1 commit into
mainfrom
fix/restore-modal-mouse

Conversation

@kingb

@kingb kingb commented Sep 10, 2026

Copy link
Copy Markdown
Owner

Fixes a v0.6.0 usability bug: the restore-on-launch prompt only answered to the keyboard. Its buttons (Restore / Start fresh / Older) and the Older archive rows now respond to mouse clicks.

  • One shared geometry helper drives both the drawing and the hit-testing, so the two can never drift apart.
  • Clicking a button focuses and activates it through the exact same code path as pressing Enter, so click and keyboard semantics are identical by construction (including which snapshot gets archived).
  • Clicking outside the prompt does nothing: the prompt is a deliberate question, and typing already dismisses it into a fresh session.
  • The drawing refactor is behavior-neutral: the before/after fixture renders are byte-identical (SHA-256 verified) for both prompt screens.

460 tests green including 7 new geometry/classifier tests; clippy and fmt clean.

🤖 Generated with Claude Code

The restore-on-launch modal swallowed left clicks with no hit-testing
at all, so its Restore/Start fresh/Older buttons and the Older list
rows only worked from the keyboard.

Panel and button/row rects now come from one shared geometry helper
in ember-render, consumed by both the draw and a new pure hit
classifier, so the two can never drift. A click on a button or row
focuses and activates it through the exact same action-construction
methods Enter already uses; a click anywhere else stays a no-op since
the modal is deliberate. Fixture renders before and after are
byte-identical, and the new geometry/classifier unit tests plus the
full workspace suite pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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