summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/cli/cmd/tui/routes/session/index.tsx15
1 files changed, 12 insertions, 3 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
index c9940261b..e010707a9 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
@@ -54,6 +54,7 @@ import { DialogMessage } from "./dialog-message"
import type { PromptInfo } from "../../component/prompt/history"
import { iife } from "@/util/iife"
import { DialogConfirm } from "@tui/ui/dialog-confirm"
+import { DialogPrompt } from "@tui/ui/dialog-prompt"
import { DialogTimeline } from "./dialog-timeline"
import { DialogSessionRename } from "../../component/dialog-session-rename"
import { Sidebar } from "./sidebar"
@@ -583,11 +584,19 @@ export function Session() {
transcript += `---\n\n`
}
+ // Prompt for optional filename
+ const customFilename = await DialogPrompt.show(
+ dialog,
+ "Export filename",
+ `session-${sessionData.id.slice(0, 8)}.md`,
+ )
+
+ // Cancel if user pressed escape
+ if (customFilename === null) return
+
// Save to file in current working directory
const exportDir = process.cwd()
-
- const timestamp = new Date().toISOString().replace(/[:.]/g, "-")
- const filename = `session-${sessionData.id.slice(0, 8)}-${timestamp}.md`
+ const filename = customFilename.trim()
const filepath = path.join(exportDir, filename)
await Bun.write(filepath, transcript)