From 91f599d9a33d295589aa369bc4dc205d902b5d3e Mon Sep 17 00:00:00 2001 From: smckee-r7 Date: Wed, 4 Mar 2026 11:43:44 +0000 Subject: [PATCH] fix(har): don't wait for HTTP version in HAR tracer For hanging requests in Firefox/WebKit, the HTTP version promise never resolves, causing HAR flush to hang indefinitely. Remove from barrier promises while keeping the non-blocking update. Fixes issues introduced in #39434 --- packages/playwright-core/src/server/har/harTracer.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/playwright-core/src/server/har/harTracer.ts b/packages/playwright-core/src/server/har/harTracer.ts index bf23b3dc26d43..a9e5aa0e6d817 100644 --- a/packages/playwright-core/src/server/har/harTracer.ts +++ b/packages/playwright-core/src/server/har/harTracer.ts @@ -362,10 +362,11 @@ export class HarTracer { }); this._addBarrier(page || request.serviceWorker(), promise); - this._addBarrier(page || request.serviceWorker(), response.httpVersion().then(httpVersion => { + // Update httpVersion but don't wait on hanging requests + response.httpVersion().then(httpVersion => { harEntry.request.httpVersion = httpVersion; harEntry.response.httpVersion = httpVersion; - })); + }).catch(() => {}); // Response end timing is only available after the response event was received. const timing = response.timing();