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
chore: bump Node.js to v16.2.0 #29244
Conversation
fe422d2
to
c827e97
Compare
c827e97
to
74f495f
Compare
61b4278
to
590bcf4
Compare
...hes/node/build_modify_js2c_py_to_allow_injection_of_original-fs_and_custom_embedder_js.patch
Outdated
Show resolved
Hide resolved
f9daf4b
to
fdaacbd
Compare
809bcaa
to
78794da
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly LGTM. This is looking good. +1 on Jeremy's comments about crypto.
Also I lean towards Anna's idea upstream about finding a way to handle unhandled exceptions without adding new undocumented API. Also, I I'm still curious why it's needed, so one nit on this PR might be to update the patch comment to add more background explaining that 🙂
patches/node/src_add_get_set_pair_for_unhandled_rejections_mode.patch
Outdated
Show resolved
Hide resolved
|
||
This PR adds a get/set pair for unhandled rejections modes. | ||
|
||
We do not want unhandled rejections to crash the process and want to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@codebytere I'm curious about this too. What's prompting this patch?
@ckerr @nornagon in v15 Node.js made a change such that unhandled rejections exit/crash the process. I introduced this patch because I think this behavior isn't appropriate for all Electron processes, and that we instead want to selectively enable it. For example, I think that this behavior is fine/expected in |
To clarify this, the "undocumented API" is internal to NodeJS in cpp land, there's no public facing API here from Electrons perspective.
To answer this question though, we already differ from Node in regards to global error handling for precisely the reasons @codebytere outlined above. What is expected behavior for a NodeJS script / server is entirely unexpected for a desktop application. One unhandled rejection / exception should not pull the entire app down. That's actually why we have this global uncaughtException handler which prevents nodes default behavior of bringing down the process because by default in electron that error is handled. The approach we took here is slightly different (rather we made the unhandled rejection behavior it's old-form which people expect) but an equivalent solution would be to add a similar global The TLDR here is expectations of unhandled errors are fundamentally different between desktop apps and node scripts. |
patches/node/fix_handle_boringssl_and_openssl_incompatibilities.patch
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm overall, v happy to see all the upstreamed crypto stuff!
…e.patch Co-authored-by: Charles Kerr <charles@charleskerr.com>
Release Notes Persisted
|
Description of Change
Upgrading Node.js to v16.2.0. A work in progress, which ideally will go out in Electron v14.
Checklist
npm test
passesRelease Notes
Notes: : Updated Node.js to v16.2.0.