Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CP] fix needed for node 21 #53810

Closed
sigmundch opened this issue Oct 19, 2023 · 10 comments
Closed

[CP] fix needed for node 21 #53810

sigmundch opened this issue Oct 19, 2023 · 10 comments
Assignees
Labels
area-web Use area-web for Dart web related issues, including the DDC and dart2js compilers and JS interop. cherry-pick-approved Label for approved cherrypick request cherry-pick-merged Cherry-pick has been merged to the stable or beta branch. cherry-pick-review Issue that need cherry pick triage to approve merge-to-stable P1 A high priority bug; for example, a single project is unusable or has many test failures

Comments

@sigmundch
Copy link
Member

sigmundch commented Oct 19, 2023

Commit(s) to merge

e285a57

Target

stable

Prepared changelist for beta/stable

https://dart-review.googlesource.com/c/sdk/+/331323

Issue Description

Applications built with dart2js fail in the most recent release of node.js (node.js 21). This was caused by logic we relied on for years to adjust the program to its underlying runtime (browser, node, d8, jsshell).

What is the fix

A small adjustment to the logic that detects properties about the underlying runtime.

Why cherry-pick

This affects a lot of users. This doesn't affect applications deployed to browsers, but affects any binary deployed to node.js. That includes big projects like dart-sass.

The fix is also relatively simple and contained (Note that the bulkier change is on a test file called js_membrers.dart). It has passed all of our current tests that provide coverage on all other relevant environments (e.g. browsers)

Risk

low

Issue link(s)

#53784

cc @rakudrama @natebiggs

@sigmundch sigmundch added P1 A high priority bug; for example, a single project is unusable or has many test failures area-web Use area-web for Dart web related issues, including the DDC and dart2js compilers and JS interop. cherry-pick-review Issue that need cherry pick triage to approve labels Oct 19, 2023
@sigmundch
Copy link
Member Author

@itsjustkevin - let me know if you have any questions. For context on the severity for dart-sass, see #53784 (comment)

Hope this can go on next week's release 🤞

@itsjustkevin
Copy link
Contributor

@rakudrama thoughts on this cherry-pick?

@rakudrama
Copy link
Member

@rakudrama thoughts on this cherry-pick?

We should do it. The affected code has been stable for a long time - this reduces risk. Our primary use-case for dart2js on nodejs is broken. While it is not exactly our fault, we can help unblock the ecosystem.

@itsjustkevin itsjustkevin added the cherry-pick-approved Label for approved cherrypick request label Oct 20, 2023
@itsjustkevin
Copy link
Contributor

Perfect, @sigmundch merge away!!!

@sigmundch
Copy link
Member Author

thank you!

@gajus
Copy link

gajus commented Oct 22, 2023

Looks like the linked commit was merged. Where can I track the next steps?

@itsjustkevin itsjustkevin added the cherry-pick-merged Cherry-pick has been merged to the stable or beta branch. label Oct 23, 2023
@itsjustkevin
Copy link
Contributor

Hey @gajus there are no next steps for this cherry-pick, it has been merged and is in queue to be included in the next stable hotfix.

The issue will remain open until the fix has been landed in the stable branch.

@gajus
Copy link

gajus commented Oct 23, 2023

Amazing. Thank you for the update.

What's the cadence for these hotfixes?

@itsjustkevin
Copy link
Contributor

@gajus we attempt to release a beta or stable hotfix weekly if there are changes queued. There are times when this does not occur, but this is our general cadence.

@Uzlopak
Copy link

Uzlopak commented Oct 27, 2023

In node 21.1.0 navigator has now userAgent. Is your issue now solved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-web Use area-web for Dart web related issues, including the DDC and dart2js compilers and JS interop. cherry-pick-approved Label for approved cherrypick request cherry-pick-merged Cherry-pick has been merged to the stable or beta branch. cherry-pick-review Issue that need cherry pick triage to approve merge-to-stable P1 A high priority bug; for example, a single project is unusable or has many test failures
Projects
None yet
Development

No branches or pull requests

9 participants