diff options
| author | Sachnun <[email protected]> | 2025-12-12 09:07:31 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-11 20:07:31 -0600 |
| commit | a5cb4e41f5694744ec172c0b452a805f43ee55dc (patch) | |
| tree | cf6430dd47006c5041090444ca83d4ea10f49e3b | |
| parent | 88b2382b9766eaf36d5a8710d030ba44d2b8c34b (diff) | |
| download | opencode-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.tsx | 12 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/routes/session/index.tsx | 1 |
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)} /> )) }, |
