Kaynağa Gözat

wip: fix redoing

Dax Raad 7 ay önce
ebeveyn
işleme
1ad529db59

+ 1 - 0
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)
         },

+ 7 - 0
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 {