From 56331080402897edd42d86b09b0ecbadd15de826 Mon Sep 17 00:00:00 2001 From: Stefan Neamtu Date: Tue, 31 Mar 2026 14:44:28 +0200 Subject: [PATCH] fix: use content-length header to avoid buffering full response bodies (#711) Check the content-length header first before falling back to res.body(). Avoids buffering entire responses (images, videos, large payloads) just to record byte length in the network buffer. Co-Authored-By: Claude Opus 4.6 (1M context) --- browse/src/browser-manager.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browse/src/browser-manager.ts b/browse/src/browser-manager.ts index f4ade9e1e..f374b9f3a 100644 --- a/browse/src/browser-manager.ts +++ b/browse/src/browser-manager.ts @@ -1022,8 +1022,8 @@ export class BrowserManager { const res = await req.response(); if (res) { const url = req.url(); - const body = await res.body().catch(() => null); - const size = body ? body.length : 0; + const cl = await res.headerValue('content-length'); + const size = cl != null ? parseInt(cl, 10) : (await res.body().catch(() => null))?.length ?? 0; for (let i = networkBuffer.length - 1; i >= 0; i--) { const entry = networkBuffer.get(i); if (entry && entry.url === url && !entry.size) {