Skip to content

[pull] main from awslabs:main#248

Merged
pull[bot] merged 1 commit into
Tiamat-Tech:mainfrom
awslabs:main
Jun 1, 2026
Merged

[pull] main from awslabs:main#248
pull[bot] merged 1 commit into
Tiamat-Tech:mainfrom
awslabs:main

Conversation

@pull

@pull pull Bot commented Jun 1, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

* feat(wpt): improve WPT conformance across fetch, URL, streams, and WebCrypto

Raises bundle/js/__tests__/wpt from 161 to 169 passing tests (out of 180)
with zero unit-test regressions, through a series of targeted spec-
correctness fixes.

Fetch: real Subresource Integrity verification (sha-256/384/512 with
strongest-metadata selection and base64+base64url decoding); 421
Misdirected Request retry on a fresh TCP connection per Fetch \u00a74.5;
duplex: 'half' enforcement for streaming request bodies; reject_with_error
now surfaces the actual JS exception value instead of an uninitialized
one.

URL: Windows drive-letter normalization (/w|/ -> /w:/); file-URL host
preservation when path has a drive letter; USVString conversion on
constructor input (lone UTF-16 surrogates -> U+FFFD); spec-correct port
setter whitespace handling; /.-sentinel stripping on set_hostname;
blob-URL origin null-opacity for non-HTTP(S) inner URLs; trailing-space
percent-encoding on non-special opaque paths.

Streams: implement type: 'owning' with structural-transfer on
controller.enqueue(chunk, {transfer}); fix reentrancy borrow conflict in
byobRequest when user code patches Object.prototype.then mid-enqueue;
Rust-side direct-drain of closed ReadableStream queues so
Response.text()/.json() etc. resist Object.prototype.then pollution.

WebCrypto: subtle.digest snapshots input bytes synchronously at call time
(no longer at first poll), so post-call buffer mutations can't alter the
result; detached BufferSource is treated as empty per WebIDL. TextDecoder
got the same detached-buffer treatment.

Also: console counters/timers moved from thread_local! to
Ctx::store_userdata so multiple contexts don't conflate state.

* fmt + clippy

* No implicit lifetime

* Remove excessive comments

* Fix flaky cache

* Cleanup

* cleanup

* Cleanup fetch

* do not hold borrow across invokes

* Cleanup and dedup formdata

* Use primordials

* Use Coerced as fallback

* define_as_webidl_iterator

* Import cleanup

* Update wpt

* Fix buffer encoding def

* Import fix

* Cleanup stringify

---------

Co-authored-by: richarddd <richard.davison1@gmail.com>
@pull pull Bot locked and limited conversation to collaborators Jun 1, 2026
@pull pull Bot added the ⤵️ pull label Jun 1, 2026
@pull pull Bot merged commit fa44e04 into Tiamat-Tech:main Jun 1, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant