summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/server/server.ts1
-rw-r--r--packages/tui/internal/components/chat/messages.go7
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 {