diff --git a/playwriter/src/cdp-relay.ts b/playwriter/src/cdp-relay.ts index 0264822..e331e71 100644 --- a/playwriter/src/cdp-relay.ts +++ b/playwriter/src/cdp-relay.ts @@ -1303,10 +1303,15 @@ export async function startPlayWriterCDPRelayServer({ } // Set up promise to wait for final chunk + let timeoutId: ReturnType const finalPromise = new Promise((resolve) => { - recording.resolveStop = resolve + const wrappedResolve = (result: StopRecordingResult) => { + clearTimeout(timeoutId) + resolve(result) + } + recording.resolveStop = wrappedResolve // Timeout after 30 seconds - setTimeout(() => { + timeoutId = setTimeout(() => { if (recording.resolveStop) { recording.resolveStop = undefined resolve({ success: false, error: 'Timeout waiting for recording data' })