Skip to content

Palette chord is dropped in an extension modal until its iframe has focus #1307

Description

@Juliusolsson05

Found by #1300 review A (reading, not run).

Sequence: open an extension modal. Radix focuses its DialogContent while the iframe is loading, or before the iframe's document takes focus. The user presses the palette chord.

  • nativeInput.ts:29-39 forwards nothing, because contents.focusedFrame is the host frame, not the extension.
  • In the renderer, the key's target is not the modal iframe, so extensionModal is false in useKeybinds.ts:592-611.
  • The owner gate (DialogContent carries the app owner marker, dialog.tsx:49-57) then drops open-command-palette.

The user sees no palette until they click into the extension.

This predates #1300. #1300 makes the Electron journey wait for the frame's focus, so that test no longer exercises this path, and it needs its own coverage.

Fix direction: when an extension modal owns the screen, route the palette chord from the host too (the dialog is the extension's shell), or focus the iframe as soon as it loads. Severity: P3 (class C4).

🤖 Generated with Claude Code

Activity

  1. added a commit that references this issue on Sep 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingclass:C4-input-trapA modal/latch/overlay traps inputsev:P3Minortype:bugSomething works wrong

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions