Skip to content

lib: use Web IDL interface brand checks - #65846

Open
panva wants to merge 1 commit into
nodejs:mainfrom
panva:webidl-interface-brand-checks
Open

lib: use Web IDL interface brand checks#65846
panva wants to merge 1 commit into
nodejs:mainfrom
panva:webidl-interface-brand-checks

Conversation

@panva

@panva panva commented Sep 6, 2026

Copy link
Copy Markdown
Member

Use explicit brand predicates for interface conversion instead of prototype ancestry. Update CryptoKey and AbortSignal together with the shared converter contract.

Read internal AbortSignal state during composition. Preserve genuine signals after prototype changes without invoking shadowed getters.

cc @nodejs/web-standards

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/crypto

@nodejs-github-bot nodejs-github-bot added crypto Issues and PRs related to the crypto subsystem. needs-ci PRs that need a full CI run. labels Sep 6, 2026
@panva panva added the web-standards Issues and PRs related to web-platform APIs and standards compliance. label Sep 6, 2026
Use explicit brand predicates for interface conversion instead of
prototype ancestry. Update CryptoKey and AbortSignal together with the
shared converter contract.

Read internal AbortSignal state during composition. Preserve genuine
signals after prototype changes without invoking shadowed getters.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: GitHub Copilot
@panva
panva force-pushed the webidl-interface-brand-checks branch from 658c888 to 98a7ff5 Compare September 6, 2026 09:37
@codecov

codecov Bot commented Sep 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.00000% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.20%. Comparing base (7991140) to head (98a7ff5).
⚠️ Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
lib/internal/abort_controller.js 76.47% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #65846      +/-   ##
==========================================
+ Coverage   90.19%   90.20%   +0.01%     
==========================================
  Files         771      771              
  Lines      264622   264623       +1     
  Branches    50223    50232       +9     
==========================================
+ Hits       238663   238710      +47     
+ Misses      16965    16896      -69     
- Partials     8994     9017      +23     
Files with missing lines Coverage Δ
lib/internal/crypto/webidl.js 97.16% <100.00%> (ø)
lib/internal/streams/iter/webidl.js 100.00% <100.00%> (ø)
lib/internal/webidl.js 100.00% <100.00%> (ø)
lib/internal/abort_controller.js 95.98% <76.47%> (+0.63%) ⬆️

... and 35 files with indirect coverage changes

🚀 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.

@panva panva added author ready PRs with CI started, the required approvals, and no outstanding review comments. request-ci Add this label to start a Jenkins CI on a PR. labels Sep 6, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 6, 2026
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs with CI started, the required approvals, and no outstanding review comments. crypto Issues and PRs related to the crypto subsystem. needs-ci PRs that need a full CI run. web-standards Issues and PRs related to web-platform APIs and standards compliance.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants