From fdc98b7e4bc26f6d570c6ee15697189a258be292 Mon Sep 17 00:00:00 2001 From: arimu1 <19286898+arimu1@users.noreply.github.com> Date: Sat, 25 Jul 2026 09:19:23 +0700 Subject: [PATCH] fix(net): convert js_value stream chunks for fetch POST bodies JS controller.enqueue stores chunks as .js_value via enqueueValue, so collectBodyBytes must extract TypedArray/ArrayBuffer/string bytes with local scope and arena.dupe before buffering. Add multi-chunk success and open/locked reject fixtures in fetch.html. --- src/browser/tests/net/fetch.html | 42 ++++++++++++++++++- src/browser/webapi/streams/ReadableStream.zig | 23 +++++++++- 2 files changed, 62 insertions(+), 3 deletions(-) diff --git a/src/browser/tests/net/fetch.html b/src/browser/tests/net/fetch.html index c41dd8133..218051d27 100644 --- a/src/browser/tests/net/fetch.html +++ b/src/browser/tests/net/fetch.html @@ -352,9 +352,11 @@ { const state = await testing.async(); const payload = "name=Streamed&count=9"; + const enc = new TextEncoder(); const stream = new ReadableStream({ start(controller) { - controller.enqueue(new TextEncoder().encode(payload)); + controller.enqueue(enc.encode("name=Streamed&")); + controller.enqueue(enc.encode("count=9")); controller.close(); }, }); @@ -375,6 +377,44 @@ } + +