Skip to content

feat(hotkeys): Show scopes and app hotkeys on the landing page - #1400

Merged
tannerlinsley merged 1 commit into
mainfrom
feat/hotkeys-landing-scopes
Oct 19, 2026
Merged

tannerlinsley merged 1 commit into
mainfrom
feat/hotkeys-landing-scopes

Conversation

@KevinVandy

Copy link
Copy Markdown
Member
  • Bumps @tanstack/react-hotkeys to ^0.15.1, the release that adds scopes. No other site code needed changes for it.
  • Replaces the "Labels for each platform" section with "Hotkey scopes". The board's code sits on the left, with its edit dialog wrapped in <HotkeysProvider scope="dialog" exclusive>, and a live board sits on the right. E opens the dialog, the board's hotkey lines get "Suspended" tags, and ⌘S saves the issue instead of the board.
  • Moves the platform and keyboard layout toggles into the "Shortcuts users can change" demo. That demo now declares its hotkeys with defineAppHotkeys, saves rebinding through useCustomHotkeys, and opens a ? cheat sheet built from useAppHotkeyList.
  • Reworks "What a keydown listener misses". The cards now name the problems (dialogs, focused buttons and menus, AltGr, out-of-date cheat sheets) and sit next to a hand-patched keydown listener. Hovering a card highlights the line that patches it.
  • The old IME card said composing Japanese or Chinese never triggers shortcuts. The library only blocks letter and key-position shortcuts during composition, so the new card says that.
  • Rewrites the hero paragraph to say what Hotkeys is instead of listing its features.
  • Updates the Hotkeys tagline and description in libraries.ts and hotkeys.tsx to mention scopes and rebinding.

Notes

The scopes demo's hotkeys listen on the board element, so it takes a click before J and E work. That keeps its J from also moving the list in the hero demo. While the dialog is open, its exclusive scope pauses every hotkey on the page, so the dialog closes when focus leaves the board.

- Bump @tanstack/react-hotkeys to ^0.15.1 for scopes.
- Replace the platform labels section with a live hotkey scopes demo.
- Move the platform and layout toggles into the recorder demo, which now
  uses app hotkeys and has a ? cheat sheet.
- Rework the keydown listener cards and show the patched listener beside them.
- Describe what Hotkeys is in the hero, and update the library tagline.
@KevinVandy
KevinVandy requested a review from a team October 19, 2026 18:06
@changeset-bot

changeset-bot Bot commented Oct 19, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: cde9a17

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​tanstack/​react-hotkeys@​0.14.0 ⏵ 0.15.1100 +1100100 +198 +1100

View full report

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
tanstack-com cde9a17 Commit Preview URL

Branch Preview URL
Oct 19 2026, 06:08 PM

@tannerlinsley
tannerlinsley merged commit de24473 into main Oct 19, 2026
7 checks passed
@tannerlinsley
tannerlinsley deleted the feat/hotkeys-landing-scopes branch October 19, 2026 18:14
@tannerlinsley

Copy link
Copy Markdown
Member

Found a small dismissal bug in the new cheat sheet demo that needs a follow-up.

AI review notes:
On the commit preview for cde9a17, I clicked “Cheat sheet”, then clicked inside the sheet. It stayed open, focus moved outside the shortcut target, and Escape no longer closed it. The overlay has no close button, and it covers the toggle underneath, so a pointer-only visitor also has no visible way to dismiss it.

A visible close button wired to the existing sheet state would give pointer and touch users a way out. Escape also needs to keep working after interacting with the sheet. This was checked in the desktop in-app browser, not on a physical touch device.

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.

2 participants