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

Support Node 23 #979

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Support Node 23 #979

wants to merge 5 commits into from

Conversation

kkoopa
Copy link
Collaborator

@kkoopa kkoopa commented Oct 18, 2024

V8 Was bumped, this would be a patch release, since I already claimed support for Node 23 in 2.22.0.
Also fixes #978.

@kkoopa
Copy link
Collaborator Author

kkoopa commented Oct 19, 2024

Turns out it is not that easy. First, a couple tests need updating. Second, the interceptors are not correctly handled in that they do require return values or will require them soon. I have some workarounds in mind, but implementing them will take a bit of effort. Addons will require a tiny bit of rewriting if using interceptors, but that is par for the course.

@kkoopa
Copy link
Collaborator Author

kkoopa commented Oct 19, 2024

Some tests are still failing related to the Holder change and interceptors. It might be that the tests simply need updating due to the functionality used not being allowed anymore. I do not have time to figure out what the deal is, so this will be stuck until someone clears it up.

Use FunctionCallbackInfo::This instead.

See http://crbug.com/333672197.
This requires minor changes in user code due to the need to call
and return from Intercepted::No or Intercepted::Yes. While an
operator conversion on classes would have been nicer,
implicit conversion to void is not possible.
@kkoopa
Copy link
Collaborator Author

kkoopa commented Oct 19, 2024

I believe I fixed the tests. Let us wait and see.

@kkoopa
Copy link
Collaborator Author

kkoopa commented Oct 21, 2024

@bnoordhuis Any chance you remember what the deal with Holder versus This in node::ObjectWrap was ten years ago and what it currently is wrt. to, say, the accessors tests here https://github.com/nodejs/nan/blob/main/test/cpp/accessors.cpp? I found this old PR #524, but do not know what applies to which version of what any more.

@devinbinnie
Copy link

+1 this. Ended up needing to manually patch to use Electron v33.

@agracio
Copy link

agracio commented Oct 25, 2024

It looks like this PR is stalled, I am using this workaround for my Electron 33 builds: #978 (comment). Works with any version of Electron supported by nan v2.22.0.
Also have an additional workaround for GitHub Action and local scripts for C++ compiler version 20 for both Electron 32 and 33.
Although I only have a C++ v20 compiler failure on Windows but not macOS or Linux runners.

@bugsounet
Copy link

@kkoopa seems to work with MagicMirror test suite (and others local test with some library)

@richardMSFT
Copy link

Any updates on this PR's status?

@bugsounet
Copy link

pinging @kkoopa ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Electron 33 broken
5 participants