From 223c0a716f8200f5429b3b6c344b7a4a88281f2b Mon Sep 17 00:00:00 2001 From: Odelon Jhey Pacalso Date: Tue, 9 Jun 2026 09:48:37 +0800 Subject: [PATCH 1/3] fix: restore edit-selected-file keyboard shortcut (e key) Re-add support for the 'e' key to open the selected file in $EDITOR. Update help dialog to document the restored shortcut. --- src/ui/components/chrome/HelpDialog.tsx | 1 + src/ui/hooks/useAppKeyboardShortcuts.ts | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/ui/components/chrome/HelpDialog.tsx b/src/ui/components/chrome/HelpDialog.tsx index 51b63f39..1c222574 100644 --- a/src/ui/components/chrome/HelpDialog.tsx +++ b/src/ui/components/chrome/HelpDialog.tsx @@ -48,6 +48,7 @@ export function HelpDialog({ ["a", "toggle AI notes"], ["z", "toggle unchanged context"], ["l / w / m", "lines / wrap / metadata"], + ["e", "open file in $EDITOR"], ], }, { diff --git a/src/ui/hooks/useAppKeyboardShortcuts.ts b/src/ui/hooks/useAppKeyboardShortcuts.ts index 85b1ca20..9154b130 100644 --- a/src/ui/hooks/useAppKeyboardShortcuts.ts +++ b/src/ui/hooks/useAppKeyboardShortcuts.ts @@ -108,6 +108,7 @@ export function useAppKeyboardShortcuts({ toggleGapForSelectedHunk, toggleHelp, toggleHunkHeaders, + triggerEditSelectedFile, toggleLineNumbers, toggleLineWrap, toggleSidebar, @@ -466,6 +467,11 @@ export function useAppKeyboardShortcuts({ return; } + if (key.name === "e" || key.sequence === "e") { + runAndCloseMenu(triggerEditSelectedFile); + return; + } + if (key.name === "[") { runAndCloseMenu(() => moveToHunk(-1)); return; From f8877ec306ea28f6b2123746a5cce98ff718af89 Mon Sep 17 00:00:00 2001 From: Odelon Jhey Pacalso Date: Tue, 9 Jun 2026 10:01:48 +0800 Subject: [PATCH 2/3] fix: add keyboard hint to editor menu item and update test Display 'e' hint in the app menu for 'Open file in editor' action. Update help dialog test to reflect the restored shortcut. --- src/ui/components/ui-components.test.tsx | 1 + src/ui/lib/appMenus.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/ui/components/ui-components.test.tsx b/src/ui/components/ui-components.test.tsx index 52f70191..98a70300 100644 --- a/src/ui/components/ui-components.test.tsx +++ b/src/ui/components/ui-components.test.tsx @@ -2268,6 +2268,7 @@ describe("UI components", () => { "a toggle AI notes", "z toggle unchanged context", "l / w / m lines / wrap / metadata", + "e open file in $EDITOR", "Review", "/ focus file filter", "c create review note", diff --git a/src/ui/lib/appMenus.ts b/src/ui/lib/appMenus.ts index 4d5650ce..cf44d1d1 100644 --- a/src/ui/lib/appMenus.ts +++ b/src/ui/lib/appMenus.ts @@ -87,6 +87,7 @@ export function buildAppMenus({ { kind: "item", label: "Open file in editor", + hint: "e", action: triggerEditSelectedFile, }, ]; From b0d00ff717e64386459c6fc0f35f904c917a27da Mon Sep 17 00:00:00 2001 From: Odelon Jhey Pacalso Date: Tue, 9 Jun 2026 11:53:37 +0800 Subject: [PATCH 3/3] fix(test): bump HelpDialog terminal height to prevent scrolling Increase test terminal height from 38 to 39 rows. The HelpDialog content (37 rows) plus modal chrome (6 rows) requires exactly 39 rows to display without scrolling. At height=38, the modal capped at 36 rows, triggering scrollbox and hiding the bottom control rows like 'r / q' from the captured frame, causing the test to fail. This minimal adjustment ensures all documented control rows render in the test's viewport without activation of the scrollbox. --- src/ui/components/ui-components.test.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ui/components/ui-components.test.tsx b/src/ui/components/ui-components.test.tsx index 98a70300..297f2adc 100644 --- a/src/ui/components/ui-components.test.tsx +++ b/src/ui/components/ui-components.test.tsx @@ -2235,13 +2235,13 @@ describe("UI components", () => { const frame = await captureFrame( {}} />, 76, - 38, + 39, ); const expectedRows = [