From 4bad6265d5376ea5f6124f64cb0045c03256fba1 Mon Sep 17 00:00:00 2001 From: BlitzOS Upstream Prep Date: Wed, 2 Sep 2026 00:26:21 +0000 Subject: [PATCH] fix(components): mount the quick-open file dialog on desktop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `{fileQuickOpenDialog}` is mounted only inside the `if (isMobile)` return, so on desktop Ctrl/Cmd+P has no dialog to open. The keydown handler still runs and calls `preventDefault`, which is why the chord reads as dead rather than as unbound. Mount it beside the other always-mounted dialogs in the desktop return. They portal out, so tree position does not matter — the comment above that block already says so for the two dialogs already there. Model: claude-opus-5[1m] --- .../components/src/components/sessions/session-detail.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/components/src/components/sessions/session-detail.tsx b/packages/components/src/components/sessions/session-detail.tsx index cf08bfa3a..8db8824f8 100644 --- a/packages/components/src/components/sessions/session-detail.tsx +++ b/packages/components/src/components/sessions/session-detail.tsx @@ -5758,6 +5758,10 @@ const SessionDetail = ({ copies) so the `session.renameCurrent` / `session.archiveCurrent` keyboard shortcuts have a mounted target on desktop. They portal out, so tree position doesn't matter. */} + {/* Quick open file (Ctrl/Cmd+P) is one of them: without this mount the + desktop handler ran, preventDefault'd the chord, and had no dialog to + open. */} + {fileQuickOpenDialog} {archiveConfirmDialog} {dirtyForkDialog} {worktreeForkObservers}