# avril's Streams build `polyfill.js` remains the unmodified upstream distribution. avril uses `polyfill.avril.js`, generated from web-streams-polyfill 4.3.0 at commit `12b4fedec6c01503a137d837204ca0b85992461e` with `avril.patch` applied. The patch replaces promise rejection-suppression reactions with avril's private `markPromiseHandled` binding. Internal observation retains its first reaction and marks the resulting promise handled instead of attaching a second reaction. A frozen fulfilled promise is reused by internal default algorithms, tee pulls, and initial pipe bookkeeping. Public results, callback assimilation, and pending backpressure promises still use separate promises. The cached promise does not shadow `constructor`: that would invalidate V8's global promise-species protector and slow unrelated promise operations. Regenerate with Node.js 22+ and npm on PATH: ```sh node exts/webstreams/src/vendor/build.mjs ``` The build fetches the pinned upstream commit, installs its locked dependencies without lifecycle scripts, applies the readable source patch, and runs upstream's ES2015 polyfill bundler. The license banner is copied from the original vendored distribution rather than using the build date.