diff options
| author | Dax Raad <[email protected]> | 2025-07-23 20:42:02 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-07-23 20:42:02 -0400 |
| commit | 1ad529db59195be0e5a003c97370709087524390 (patch) | |
| tree | fcee3702696efc2bf109436698cd1a7a001a699a /packages | |
| parent | 96866e52ce4b28d8f380d84722f411e786781f51 (diff) | |
| download | opencode-1ad529db59195be0e5a003c97370709087524390.tar.gz opencode-1ad529db59195be0e5a003c97370709087524390.zip | |
wip: fix redoing
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/server/server.ts | 1 | ||||
| -rw-r--r-- | packages/tui/internal/components/chat/messages.go | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index 1b123f532..4caaead28 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -490,6 +490,7 @@ export namespace Server { zValidator("json", Session.RevertInput.omit({ sessionID: true })), async (c) => { const id = c.req.valid("param").id + log.info("revert", c.req.valid("json")) const session = await Session.revert({ sessionID: id, ...c.req.valid("json") }) return c.json(session) }, diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go index e498de9f0..76fc33b2e 100644 --- a/packages/tui/internal/components/chat/messages.go +++ b/packages/tui/internal/components/chat/messages.go @@ -925,6 +925,13 @@ func (m *messagesComponent) UndoLastMessage() (tea.Model, tea.Cmd) { } func (m *messagesComponent) RedoLastMessage() (tea.Model, tea.Cmd) { + // Check if there's a revert state to redo from + if m.app.Session.Revert.MessageID == "" { + return m, func() tea.Msg { + return toast.NewErrorToast("Nothing to redo") + } + } + before := float64(0) var revertedMessage app.Message for _, message := range m.app.Messages { |
