Skip to content

feat(wintertc): migrate abort, encoding and url from boa_runtime - #5463

Draft
KaustubhOG wants to merge 4 commits into
boa-dev:mainfrom
KaustubhOG:feat/wintertc-migrate-encoding-url-abort
Draft

feat(wintertc): migrate abort, encoding and url from boa_runtime#5463
KaustubhOG wants to merge 4 commits into
boa-dev:mainfrom
KaustubhOG:feat/wintertc-migrate-encoding-url-abort

Conversation

@KaustubhOG

Copy link
Copy Markdown
Contributor

Part of the TC55 migration (#4988), following the move + re-export pattern from #5418.

Clubs the three remaining standalone modules, which are mutually independent and each a mechanical move. They are three separate commits, so I can split them into individual PRs if you prefer. After this, fetch is the only module left.

Changes:

Line counts (before and after, in both locations):

File boa_runtime (before) boa_wintertc before boa_wintertc after
abort/mod.rs 236 (deleted) 23 (stub) 242
abort/tests.rs 327 (deleted) 0 (did not exist) 327
encoding/mod.rs (was text/mod.rs) 268 (deleted) 27 (stub) 280
encoding/encodings.rs 81 (deleted) 0 (did not exist) 81
encoding/tests.rs 478 (deleted) 0 (did not exist) 478
url/mod.rs (was url.rs) 247 (deleted) 25 (stub) 268
url/tests.rs 113 (deleted) 0 (did not exist) 113

@KaustubhOG
KaustubhOG requested a review from a team as a code owner July 26, 2026 19:55
@github-actions github-actions Bot added the Waiting On Review Waiting on reviews from the maintainers label Jul 26, 2026
@github-actions github-actions Bot added this to the v1.0.0 milestone Jul 26, 2026
@github-actions github-actions Bot added C-Dependencies Pull requests that update a dependency file C-Tests Issues and PRs related to the tests. C-Runtime Issues and PRs related to Boa's runtime features labels Jul 26, 2026
@github-actions

github-actions Bot commented Jul 26, 2026

Copy link
Copy Markdown

Test262 conformance changes

Test result main count PR count difference
Total 53,578 53,578 0
Passed 51,426 51,426 0
Ignored 1,648 1,648 0
Failed 504 504 0
Panics 0 0 0
Conformance 95.98% 95.98% 0.00%

Tested main commit: 665f03924a54e5162be227e7e909612e36f6e35a
Tested PR commit: 86dcfcb6853988c3561838c8d240e175f8060bc2
Compare commits: 665f039...86dcfcb

@codecov

codecov Bot commented Jul 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.23529% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 62.78%. Comparing base (6ddc2b4) to head (86dcfcb).
⚠️ Report is 1050 commits behind head on main.

Files with missing lines Patch % Lines
core/wintertc/src/abort/mod.rs 88.88% 9 Missing ⚠️
core/wintertc/src/encoding/mod.rs 86.95% 9 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #5463       +/-   ##
===========================================
+ Coverage   47.24%   62.78%   +15.54%     
===========================================
  Files         476      533       +57     
  Lines       46892    59919    +13027     
===========================================
+ Hits        22154    37622    +15468     
+ Misses      24738    22297     -2441     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread core/runtime/src/lib.rs Outdated
Comment on lines +100 to +108
//! - `abort` — `AbortController` and `AbortSignal` (requires the `fetch` feature)
//! - [`base64`] — `atob` and `btoa`
//! - [`clone`] — `structuredClone`
//! - [`console`] — the `console` object
//! - [`microtask`] — `queueMicrotask`
//! - [`interval`] — the timer APIs (`setTimeout`, `clearTimeout`, `setInterval`, `clearInterval`),
//! kept under their historical `interval` name
//! - [`microtask`] — `queueMicrotask`
//! - [`text`] — `TextEncoder` and `TextDecoder`, kept under their historical `text` name
//! - `url` — the `URL` class (requires the `url` feature)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing doc links for url and abort. Is that intentional?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was intentional because the modules are feature-gated. I’ve added compatible Rustdoc links and verified both feature configurations with -D warnings.

@jedel1043 jedel1043 added Waiting On Author Waiting on PR changes from the author and removed Waiting On Review Waiting on reviews from the maintainers labels Aug 28, 2026
Moves `abort` into `boa_wintertc` following the move + re-export pattern
established by boa-dev#5418, and points `boa_runtime` at it.

The module is unconditional in `boa_wintertc` — `AbortController` and
`AbortSignal` are TC55 APIs in their own right, so they should not depend on
the `fetch` feature. `boa_runtime` keeps its historical `fetch` gate on the
re-export so its public API is unchanged.
Moves `boa_runtime::text` into `boa_wintertc::encoding`, the name the TC55
skeleton reserved for the Encoding Standard APIs, and points `boa_runtime` at
it. `boa_runtime::text` stays as a re-export under its historical name, so the
public API is unchanged.

`bytemuck` moves to `boa_wintertc` along with the module (it was its only
user), as does the `test-case` dev-dependency.
Moves `url` into `boa_wintertc` and points `boa_runtime` at it. The only
addition to the module is a free `register` entry point wrapping
`Url::register`, matching the signature `boa_wintertc::register` expects.

The `url` crate moves with the module, so `boa_runtime`'s `url` feature now
just forwards to `boa_wintertc/url`. It stays a dev-dependency of
`boa_runtime` because the `fetch` e2e tests use it directly.
@KaustubhOG
KaustubhOG force-pushed the feat/wintertc-migrate-encoding-url-abort branch from a03ae6f to 86dcfcb Compare September 2, 2026 17:42
@KaustubhOG
KaustubhOG marked this pull request as draft September 2, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-Dependencies Pull requests that update a dependency file C-Runtime Issues and PRs related to Boa's runtime features C-Tests Issues and PRs related to the tests. Waiting On Author Waiting on PR changes from the author

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants