Skip to content

fix(panel): walk every control on the extensions browser - #196

Merged
StuBehan merged 1 commit into
mainfrom
fix/extensions-browser-traversal
Sep 18, 2026
Merged

StuBehan merged 1 commit into
mainfrom
fix/extensions-browser-traversal

Conversation

@StuBehan

Copy link
Copy Markdown
Collaborator

Follows #194, rebased onto main now that's merged.

Same thing you caught on the extension config page, on its sibling. The browser drew a back chevron and, on a failed fetch, a Try again, and the ring never reached either. Both had a key already (Esc and ⌘R) so nothing was unreachable, it just looked half wired next to a page that walks its buttons.

↑↓ now walk the chevron, Try again and the rows. ⏎ does whatever the ring is on. The bar keeps one hint per action and adds ⏎ to the selected one rather than printing a second hint naming it, which is what made the config page say "Back ⏎ · Move · Back Esc" the first time I tried it. The row verb drops off the bar entirely when the ring isn't on a row, since Install or Settings would be naming something the chevron will not do.

The search field is deliberately not a target. Every other control needs ⏎ to reach it; the field is reached by typing, which is what the page already does with any printable key, and a ring you step onto to start typing is a second way to do a thing that needs none.

Seeding order is rows, then Try again, then the chevron. A failed fetch still shows what's installed so there's usually a row to land on, but with nothing installed and nothing published, Try again is the only thing on the page worth pressing.

Checked in the app: chevron ring and ⏎ on it, the row verb appearing and disappearing, and the return landing back on Browse extensions in Settings. The Try again ring is unit tested but I couldn't get GitHub to rate limit me again to eyeball it.

@StuBehan
StuBehan merged commit ffed721 into main Sep 18, 2026
7 checks passed
@StuBehan
StuBehan deleted the fix/extensions-browser-traversal branch September 18, 2026 17:59
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