summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSachnun <[email protected]>2025-12-12 09:07:31 +0700
committerGitHub <[email protected]>2025-12-11 20:07:31 -0600
commita5cb4e41f5694744ec172c0b452a805f43ee55dc (patch)
treecf6430dd47006c5041090444ca83d4ea10f49e3b
parent88b2382b9766eaf36d5a8710d030ba44d2b8c34b (diff)
downloadopencode-a5cb4e41f5694744ec172c0b452a805f43ee55dc.tar.gz
opencode-a5cb4e41f5694744ec172c0b452a805f43ee55dc.zip
fix(tui): restore input on timeline revert and show newest first (#5366)
-rw-r--r--packages/opencode/src/cli/cmd/tui/routes/session/dialog-timeline.tsx12
-rw-r--r--packages/opencode/src/cli/cmd/tui/routes/session/index.tsx1
2 files changed, 11 insertions, 2 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/dialog-timeline.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/dialog-timeline.tsx
index 8c8576cc0..da868221e 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/session/dialog-timeline.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/session/dialog-timeline.tsx
@@ -5,8 +5,13 @@ import type { TextPart } from "@opencode-ai/sdk/v2"
import { Locale } from "@/util/locale"
import { DialogMessage } from "./dialog-message"
import { useDialog } from "../../ui/dialog"
+import type { PromptInfo } from "../../component/prompt/history"
-export function DialogTimeline(props: { sessionID: string; onMove: (messageID: string) => void }) {
+export function DialogTimeline(props: {
+ sessionID: string
+ onMove: (messageID: string) => void
+ setPrompt?: (prompt: PromptInfo) => void
+}) {
const sync = useSync()
const dialog = useDialog()
@@ -26,10 +31,13 @@ export function DialogTimeline(props: { sessionID: string; onMove: (messageID: s
value: message.id,
footer: Locale.time(message.time.created),
onSelect: (dialog) => {
- dialog.replace(() => <DialogMessage messageID={message.id} sessionID={props.sessionID} />)
+ dialog.replace(() => (
+ <DialogMessage messageID={message.id} sessionID={props.sessionID} setPrompt={props.setPrompt} />
+ ))
},
})
}
+ result.reverse()
return result
})
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 22e740afe..1c1e4b65e 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
@@ -289,6 +289,7 @@ export function Session() {
if (child) scroll.scrollBy(child.y - scroll.y - 1)
}}
sessionID={route.sessionID}
+ setPrompt={(promptInfo) => prompt.set(promptInfo)}
/>
))
},