summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/context
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-18 09:38:35 -0600
committerAdam <[email protected]>2025-12-18 11:16:33 -0600
commit268f37f8c9813b3805e508d37c20fec6e6e12cb1 (patch)
tree50c24c2763e1a69cceef19f6e675d0bb6e17bca9 /packages/desktop/src/context
parentb0aaf04957336538dc49d2b0416f44dfbd538531 (diff)
downloadopencode-268f37f8c9813b3805e508d37c20fec6e6e12cb1.tar.gz
opencode-268f37f8c9813b3805e508d37c20fec6e6e12cb1.zip
fix(desktop): prompt history nav, optimistic prompt dup
Diffstat (limited to 'packages/desktop/src/context')
-rw-r--r--packages/desktop/src/context/sync.tsx14
1 files changed, 4 insertions, 10 deletions
diff --git a/packages/desktop/src/context/sync.tsx b/packages/desktop/src/context/sync.tsx
index cb782c24b..ca25cae98 100644
--- a/packages/desktop/src/context/sync.tsx
+++ b/packages/desktop/src/context/sync.tsx
@@ -33,14 +33,13 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
},
addOptimisticMessage(input: {
sessionID: string
- text: string
+ messageID: string
parts: Part[]
agent: string
model: { providerID: string; modelID: string }
}) {
- const messageID = crypto.randomUUID()
const message: Message = {
- id: messageID,
+ id: input.messageID,
sessionID: input.sessionID,
role: "user",
time: { created: Date.now() },
@@ -53,15 +52,10 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({
if (!messages) {
draft.message[input.sessionID] = [message]
} else {
- const result = Binary.search(messages, messageID, (m) => m.id)
+ const result = Binary.search(messages, input.messageID, (m) => m.id)
messages.splice(result.index, 0, message)
}
- draft.part[messageID] = input.parts.map((part, i) => ({
- ...part,
- id: `${messageID}-${i}`,
- sessionID: input.sessionID,
- messageID,
- }))
+ draft.part[input.messageID] = input.parts.slice()
}),
)
},