Skip to content

webstreams: rewrite ReadableStream, WritableStream, and TransformStream in C++ (zero JS builtins) - #33193

Merged
Jarred-Sumner merged 67 commits into
mainfrom
claude/webstreams-cpp
Jul 4, 2026
Merged

webstreams: rewrite ReadableStream, WritableStream, and TransformStream in C++ (zero JS builtins)#33193
Jarred-Sumner merged 67 commits into
mainfrom
claude/webstreams-cpp

webstreams: inline the async iterator's read path and reader.read()'s…

2d0e6e5
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Jul 4, 2026 in 33m 49s

Code review found 2 important issues

Found 1 candidates, confirmed 12. See review comments for details.

Details

Severity Count
🔴 Important 2
🟡 Nit 10
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit src/jsc/bindings/webcore/DOMClientIsoSubspaces.h:291 JSStreamsRuntime.h ASYNC_ITERATOR context comment stale for two new microtask handlers (HEAD 2d0e6e5)

Annotations

Check warning on line 291 in src/jsc/bindings/webcore/DOMClientIsoSubspaces.h

See this annotation in the file changed.

@claude claude / Claude Code Review

JSStreamsRuntime.h ASYNC_ITERATOR context comment stale for two new microtask handlers (HEAD 2d0e6e59)

**Actual location: `src/jsc/bindings/webcore/streams/JSStreamsRuntime.h:94-102`** (anchored here because that new file's diff hunk isn't addressable). HEAD commit 2d0e6e59 added `V(onAsyncIteratorResolveMicrotask)` and `V(onAsyncIteratorRejectMicrotask)` at :101-102 without updating the group's context-type comment at :94-96, which lists only two EXCEPT handlers — the two new handlers' context is a **JSPromise** (bodies at JSReadableStreamAsyncIterator.cpp:298/:305 do `uncheckedDowncast<JSPromis