From 61471580c730720dae32fb30c8f613f6b00016e1 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Sun, 16 Aug 2026 16:26:57 -0700 Subject: [PATCH] fix(native-chat): avoid unretained summary blobs --- .../agent-session-wire/unhandled-provider-frame.test.ts | 3 +-- .../agent-session-wire/unhandled-provider-frame.ts | 9 +-------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/main/native-chat/agent-session-wire/unhandled-provider-frame.test.ts b/src/main/native-chat/agent-session-wire/unhandled-provider-frame.test.ts index f241f94337a..9de8ee78ea9 100644 --- a/src/main/native-chat/agent-session-wire/unhandled-provider-frame.test.ts +++ b/src/main/native-chat/agent-session-wire/unhandled-provider-frame.test.ts @@ -178,7 +178,7 @@ describe('unhandled provider frame journal fallback', () => { expect(row?.body.providerFrame?.kind).toBe('notification:warning') }) - it('bounds a provider sentence and persists its overflow', () => { + it('bounds a provider sentence inline', () => { const message = 'abcdefghij' const row = unhandledProviderFrameJournalItem( 'codex', @@ -194,7 +194,6 @@ describe('unhandled provider frame journal fallback', () => { expect(row?.body.text).toContain('abcdefgh') expect(row?.body.text).toContain('[Orca: output truncated') - expect(row?.blobs.map((blob) => blob.payload)).toContain(message) }) it('unwraps a nested sentence and falls back to the opcode when there is none', () => { diff --git a/src/main/native-chat/agent-session-wire/unhandled-provider-frame.ts b/src/main/native-chat/agent-session-wire/unhandled-provider-frame.ts index 1b378b3056b..32d2e32809c 100644 --- a/src/main/native-chat/agent-session-wire/unhandled-provider-frame.ts +++ b/src/main/native-chat/agent-session-wire/unhandled-provider-frame.ts @@ -79,19 +79,12 @@ export function unhandledProviderFrameJournalItem( // one; the raw frame stays behind the row's disclosure either way. const message = readableMessage(payload) const display = message ? boundInlineText(message, limits) : null - const blobs = new Map() - if (bounded.truncated) { - blobs.set(bounded.digest, serialized) - } - if (message && display?.bounded.truncated) { - blobs.set(display.bounded.digest, message) - } return { body: { kind: 'status', text: display?.text ?? `${provider} ยท ${kind}`, providerFrame: { provider, kind, payload: bounded } }, - blobs: [...blobs].map(([digest, blobPayload]) => ({ digest, payload: blobPayload })) + blobs: bounded.truncated ? [{ digest: bounded.digest, payload: serialized }] : [] } }