diff options
| author | Adam <[email protected]> | 2025-12-18 09:38:35 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-18 11:16:33 -0600 |
| commit | 268f37f8c9813b3805e508d37c20fec6e6e12cb1 (patch) | |
| tree | 50c24c2763e1a69cceef19f6e675d0bb6e17bca9 /packages/desktop/src/context | |
| parent | b0aaf04957336538dc49d2b0416f44dfbd538531 (diff) | |
| download | opencode-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.tsx | 14 |
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() }), ) }, |
