Skip to content

Commit a5cb4e4

Browse files
authored
fix(tui): restore input on timeline revert and show newest first (anomalyco#5366)
1 parent 88b2382 commit a5cb4e4

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

packages/opencode/src/cli/cmd/tui/routes/session/dialog-timeline.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,13 @@ import type { TextPart } from "@opencode-ai/sdk/v2"
55
import { Locale } from "@/util/locale"
66
import { DialogMessage } from "./dialog-message"
77
import { useDialog } from "../../ui/dialog"
8+
import type { PromptInfo } from "../../component/prompt/history"
89

9-
export function DialogTimeline(props: { sessionID: string; onMove: (messageID: string) => void }) {
10+
export function DialogTimeline(props: {
11+
sessionID: string
12+
onMove: (messageID: string) => void
13+
setPrompt?: (prompt: PromptInfo) => void
14+
}) {
1015
const sync = useSync()
1116
const dialog = useDialog()
1217

@@ -26,10 +31,13 @@ export function DialogTimeline(props: { sessionID: string; onMove: (messageID: s
2631
value: message.id,
2732
footer: Locale.time(message.time.created),
2833
onSelect: (dialog) => {
29-
dialog.replace(() => <DialogMessage messageID={message.id} sessionID={props.sessionID} />)
34+
dialog.replace(() => (
35+
<DialogMessage messageID={message.id} sessionID={props.sessionID} setPrompt={props.setPrompt} />
36+
))
3037
},
3138
})
3239
}
40+
result.reverse()
3341
return result
3442
})
3543

packages/opencode/src/cli/cmd/tui/routes/session/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,7 @@ export function Session() {
289289
if (child) scroll.scrollBy(child.y - scroll.y - 1)
290290
}}
291291
sessionID={route.sessionID}
292+
setPrompt={(promptInfo) => prompt.set(promptInfo)}
292293
/>
293294
))
294295
},

0 commit comments

Comments
 (0)