diff options
| author | Adam <[email protected]> | 2026-04-08 14:02:23 -0500 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-04-08 14:02:23 -0500 |
| commit | 689b1a4b3ab3c33aecc76b84c579b2efce444d6c (patch) | |
| tree | e15a9ceaf044e75b15df7c0918aa9e145c808541 /packages/app/src/context/sync.tsx | |
| parent | d98be39344b8a39d16b62ce927be71a2c6a61a53 (diff) | |
| download | opencode-689b1a4b3ab3c33aecc76b84c579b2efce444d6c.tar.gz opencode-689b1a4b3ab3c33aecc76b84c579b2efce444d6c.zip | |
fix(app): diff list normalization
Diffstat (limited to 'packages/app/src/context/sync.tsx')
| -rw-r--r-- | packages/app/src/context/sync.tsx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/packages/app/src/context/sync.tsx b/packages/app/src/context/sync.tsx index b023e8ddc..fb02a2d2d 100644 --- a/packages/app/src/context/sync.tsx +++ b/packages/app/src/context/sync.tsx @@ -13,6 +13,7 @@ import { useGlobalSync } from "./global-sync" import { useSDK } from "./sdk" import type { Message, Part } from "@opencode-ai/sdk/v2/client" import { SESSION_CACHE_LIMIT, dropSessionCaches, pickSessionCacheEvictions } from "./global-sync/session-cache" +import { diffs as list, message as clean } from "@/utils/diffs" const SKIP_PARTS = new Set(["patch", "step-start", "step-finish"]) @@ -300,7 +301,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({ input.client.session.messages({ sessionID: input.sessionID, limit: input.limit, before: input.before }), ) const items = (messages.data ?? []).filter((x) => !!x?.info?.id) - const session = items.map((x) => x.info).sort((a, b) => cmp(a.id, b.id)) + const session = items.map((x) => clean(x.info)).sort((a, b) => cmp(a.id, b.id)) const part = items.map((message) => ({ id: message.info.id, part: sortParts(message.parts) })) const cursor = messages.response.headers.get("x-next-cursor") ?? undefined return { @@ -509,7 +510,7 @@ export const { use: useSync, provider: SyncProvider } = createSimpleContext({ return runInflight(inflightDiff, key, () => retry(() => client.session.diff({ sessionID })).then((diff) => { if (!tracked(directory, sessionID)) return - setStore("session_diff", sessionID, reconcile(diff.data ?? [], { key: "file" })) + setStore("session_diff", sessionID, reconcile(list(diff.data), { key: "file" })) }), ) }, |
