docs: correct /hotkeys ctrl+d copy to match save-draft-and-exit

The /hotkeys table described app.exit (Ctrl+D) as "Exit (when editor is
empty)", implying readline/EOF-style conditional exit. The handler exits
unconditionally and snapshots the current prompt as a resumable draft
regardless of editor content (custom-editor.ts fires onExit for app.exit
with no empty check; input-controller.ts handleCtrlD calls shutdown()
unconditionally, which persists the draft). Corrected the line to
"Exit (saves current prompt as draft)".

Fixes #8530
This commit is contained in:
roboomp
2026-08-14 08:26:37 +00:00
parent ad318c7572
commit ff9c5189c9
3 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -1110,7 +1110,7 @@ describe("RemoteAuthCredentialStore + AuthStorage integration", () => {
test("broker invalidation drops server-side last-good usage reports", async () => {
const credential = serverStore!.listAuthCredentials("anthropic")[0];
if (!credential || credential.credential.type !== "oauth") throw new Error("expected OAuth credential");
if (credential?.credential.type !== "oauth") throw new Error("expected OAuth credential");
serverStore!.updateAuthCredential(credential.id, {
...credential.credential,
expires: Date.now() + 3_600_000,
+4
View File
@@ -2,6 +2,10 @@
## [Unreleased]
### Fixed
- Fixed the `/hotkeys` table describing Ctrl+D (`app.exit`) as "Exit (when editor is empty)" when it actually exits unconditionally and saves the current prompt as a resumable draft ([#8530](https://github.com/can1357/oh-my-pi/issues/8530)).
## [17.3.3] - 2026-08-14
### Fixed
@@ -39,7 +39,7 @@ export function buildHotkeysMarkdown(bindings: HotkeysMarkdownBindings): string
"| `Tab` | Path completion / accept autocomplete |",
`| \`${appKey(bindings, "app.interrupt")}\` | Cancel autocomplete / interrupt active work |`,
`| \`${appKey(bindings, "app.clear")}\` | Clear editor (first) / exit (second) |`,
`| \`${appKey(bindings, "app.exit")}\` | Exit (when editor is empty) |`,
`| \`${appKey(bindings, "app.exit")}\` | Exit (saves current prompt as draft) |`,
`| \`${appKey(bindings, "app.suspend")}\` | Suspend to background |`,
`| \`${appKey(bindings, "app.display.reset")}\` | Reset terminal display |`,
`| \`${appKey(bindings, "app.thinking.cycle")}\` | Cycle thinking level |`,