From 90cae21deb3b07d3a3b5ff66cf2706322c42e061 Mon Sep 17 00:00:00 2001 From: imccyu <276526105+imccyu@users.noreply.github.com> Date: Thu, 27 Aug 2026 16:52:40 +0800 Subject: [PATCH] fix: ci --- .../shared/bridge/messages/runtime/frames.ts | 4 +++ .../inspector/tests/network.host.spec.ts | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/packages/experimental/inspector/src/shared/bridge/messages/runtime/frames.ts b/packages/experimental/inspector/src/shared/bridge/messages/runtime/frames.ts index aa58dd1290..9d06c6e738 100644 --- a/packages/experimental/inspector/src/shared/bridge/messages/runtime/frames.ts +++ b/packages/experimental/inspector/src/shared/bridge/messages/runtime/frames.ts @@ -131,6 +131,9 @@ export function parseClientRuntimeCancelFrame(value: Record): C * @param value - Untrusted acknowledgement frame. * @returns The validated acknowledgement frame. */ +/* jscpd:ignore-start */ +// Deliberately mirrors parseClientRuntimeCancelFrame: each wire parser spells +// out its own envelope literally instead of sharing a tag-parameterized helper. export function parseClientRuntimeResponseAcknowledgedFrame( value: Record, ): ClientRuntimeResponseAcknowledgedFrame { @@ -147,6 +150,7 @@ export function parseClientRuntimeResponseAcknowledgedFrame( requestId: wireId<'ClientRuntimeRequestId'>(value.requestId, 'requestId'), } } +/* jscpd:ignore-end */ /** * Parse and rebuild one Client-to-Worker Runtime response. diff --git a/packages/experimental/inspector/tests/network.host.spec.ts b/packages/experimental/inspector/tests/network.host.spec.ts index 6ad8c3e846..09298cad7d 100644 --- a/packages/experimental/inspector/tests/network.host.spec.ts +++ b/packages/experimental/inspector/tests/network.host.spec.ts @@ -205,6 +205,31 @@ describe('Inspector Network domain', () => { }) }) + it('marks a failure after response headers truncated with the transport error', () => { + const store = new NetworkStore({ maxRetainedRequests: 10, maxJournalBytes: 1_024 }) + const observed: unknown[] = [] + const unsubscribe = store.subscribe((event) => { observed.push(event) }) + store.append(source, [ + ...requestRecords('midstream', 'partial').slice(0, 3), + { + sequence: 4, + monotonicMs: 4, + topic: 'fetch/error', + payload: { requestId: 'midstream', message: 'socket reset', canceled: false }, + }, + ]) + + expect(store.responseBody(requestId('midstream'))).toMatchObject({ + bytes: Buffer.from('partial'), + truncated: true, + captureError: 'socket reset', + complete: true, + }) + expect(observed.at(-1)).toMatchObject({ type: 'request-failed', errorText: 'socket reset', canceled: false }) + unsubscribe() + store.dispose() + }) + it('retains request capture metadata and isolates malformed observations', () => { const store = new NetworkStore({ maxRetainedRequests: 10, maxJournalBytes: 1_024 }) const observed: unknown[] = []