|
|
@@ -40,6 +40,7 @@ import { useTerminal, type LocalPTY } from "@/context/terminal"
|
|
|
import { useLayout } from "@/context/layout"
|
|
|
import { Terminal } from "@/components/terminal"
|
|
|
import { checksum, base64Encode, base64Decode } from "@opencode-ai/util/encode"
|
|
|
+import { findLast } from "@opencode-ai/util/array"
|
|
|
import { getFilename } from "@opencode-ai/util/path"
|
|
|
import { useDialog } from "@opencode-ai/ui/context/dialog"
|
|
|
import { DialogSelectFile } from "@/components/dialog-select-file"
|
|
|
@@ -748,7 +749,7 @@ export default function Page() {
|
|
|
}
|
|
|
const revert = info()?.revert?.messageID
|
|
|
// Find the last user message that's not already reverted
|
|
|
- const message = userMessages().findLast((x) => !revert || x.id < revert)
|
|
|
+ const message = findLast(userMessages(), (x) => !revert || x.id < revert)
|
|
|
if (!message) return
|
|
|
await sdk.client.session.revert({ sessionID, messageID: message.id })
|
|
|
// Restore the prompt from the reverted message
|
|
|
@@ -758,7 +759,7 @@ export default function Page() {
|
|
|
prompt.set(restored)
|
|
|
}
|
|
|
// Navigate to the message before the reverted one (which will be the new last visible message)
|
|
|
- const priorMessage = userMessages().findLast((x) => x.id < message.id)
|
|
|
+ const priorMessage = findLast(userMessages(), (x) => x.id < message.id)
|
|
|
setActiveMessage(priorMessage)
|
|
|
},
|
|
|
},
|
|
|
@@ -780,14 +781,14 @@ export default function Page() {
|
|
|
await sdk.client.session.unrevert({ sessionID })
|
|
|
prompt.reset()
|
|
|
// Navigate to the last message (the one that was at the revert point)
|
|
|
- const lastMsg = userMessages().findLast((x) => x.id >= revertMessageID)
|
|
|
+ const lastMsg = findLast(userMessages(), (x) => x.id >= revertMessageID)
|
|
|
setActiveMessage(lastMsg)
|
|
|
return
|
|
|
}
|
|
|
// Partial redo - move forward to next message
|
|
|
await sdk.client.session.revert({ sessionID, messageID: nextMessage.id })
|
|
|
// Navigate to the message before the new revert point
|
|
|
- const priorMsg = userMessages().findLast((x) => x.id < nextMessage.id)
|
|
|
+ const priorMsg = findLast(userMessages(), (x) => x.id < nextMessage.id)
|
|
|
setActiveMessage(priorMsg)
|
|
|
},
|
|
|
},
|