From 608afc8d54514aefadaff219fec920480d910fe9 Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Fri, 23 Jan 2026 17:26:32 +0100 Subject: [PATCH] fix: clear setTimeout on successful recording stop to prevent process hang --- playwriter/src/cdp-relay.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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' })