Skip to content

fix(ui): dismiss the tray flyout with Esc - #21

Merged
mfuntowicz merged 1 commit into
fix/honest-empty-statefrom
fix/esc-to-dismiss
Aug 6, 2026
Merged

mfuntowicz merged 1 commit into
fix/honest-empty-statefrom
fix/esc-to-dismiss

Conversation

@mfuntowicz

@mfuntowicz mfuntowicz commented Aug 6, 2026 •

Copy link
Copy Markdown
Collaborator

The flyout could only be dismissed by clicking away (deactivation) —
there was no keyboard path at all. Copy the overlay window's in-repo
pattern: wrap the root Grid in a UserControl (KeyboardAccelerators live
on Control, not Window) with a window-level Escape accelerator that
hides the flyout, firing regardless of which element has focus.

Stack (merge in order, top first):

  1. fix(ui): wire the download cancel button into the row action cell #18 — fix(ui): wire the download cancel button into the row action cell
  2. fix(ui): surface model load failures instead of failing silently #19 — fix(ui): surface model load failures instead of failing silently
  3. fix(ui): make the empty-state text honest in every server state #20 — fix(ui): make the empty-state text honest in every server state
  4. fix(ui): dismiss the tray flyout with Esc #21 — fix(ui): dismiss the tray flyout with Esc
  5. feat(ui): show bytes, speed and ETA while a model downloads #22 — feat(ui): show bytes, speed and ETA while a model downloads
  6. feat(ui): preflight disk space and show sizes on Recommended rows #23 — feat(ui): preflight disk space and show sizes on Recommended rows
  7. fix(ui): make Recommended rows keyboard- and screen-reader-reachable #24 — fix(ui): make Recommended rows keyboard- and screen-reader-reachable
  8. fix(ui): surface LlamaManager.FailureMessage instead of dropping it #25 — fix(ui): surface LlamaManager.FailureMessage instead of dropping it
  9. feat(ui): first-run guidance — install indication and hotkey discovery #26 — feat(ui): first-run guidance — install indication and hotkey discovery
  10. fix(ui): smaller UX items — wording, glyphs, featured order, descriptions, logs #27 — fix(ui): smaller UX items — wording, glyphs, featured order, descriptions, logs

The flyout could only be dismissed by clicking away (deactivation) —
there was no keyboard path at all. Copy the overlay window's in-repo
pattern: wrap the root Grid in a UserControl (KeyboardAccelerators live
on Control, not Window) with a window-level Escape accelerator that
hides the flyout, firing regardless of which element has focus.
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