Skip to content

Update Electron 35 & Node 22 - #1372

Merged
bcotrim merged 10 commits into
trunkfrom
update/electron-35
May 13, 2025
Merged

Update Electron 35 & Node 22#1372
bcotrim merged 10 commits into
trunkfrom
update/electron-35

Conversation

@bcotrim

@bcotrim bcotrim commented May 12, 2025

Copy link
Copy Markdown
Contributor

Related issues

Proposed Changes

  • Upgrade Electron from 33.4.9 to 35.0.0
  • Upgrade Node.js from 20.18.3 to 22.12.0
  • Add node-abi 4.8.0 as a dev dependency

Note: These changes are in preparation for the workaround mentioned here: electron/electron#41613 (comment)

Testing Instructions

  • Run nvm use
  • Run npm install && npm start
  • Verify the application launches correctly with the new Electron version
  • Test core functionality to ensure compatibility with the upgraded versions
  • Run tests, lint and build
  • Run checks on Windows and macOS

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?
@bcotrim
bcotrim requested a review from a team May 12, 2025 10:40
@bcotrim bcotrim self-assigned this May 12, 2025

@gcsecsey gcsecsey left a comment

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.

Thanks for making these changes @bcotrim for explaining the preparation for the workaround.

With the updated node version, I also needed to do an npm i for the project to start properly, I added this to the testing steps.

I couldn't find any regressions while testing the app using the updated versions. ✅

When running npm test, I'm getting these failing tests on this branch currently:
CleanShot 2025-05-12 at 12 14 55@2x

Comment thread e2e/sites.test.ts Outdated

const whatsNewModal = new WhatsNewModal( session.mainWindow );
if ( await whatsNewModal.locator.isVisible( { timeout: 5000 } ) ) {
if ( await whatsNewModal.locator.isVisible( { timeout: 20000 } ) ) {

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.

This is causing some tests to be flaky.
It took me a while to find the cause for it since it never happened locally.

One solution I can think of is skipping the modal in the app if we are running e2e.
If anyone has any better suggestions please let me know.

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.

I ended up implementing a way around it for E2E in 703613b
Let me know what you think.

@bcotrim
bcotrim force-pushed the update/electron-35 branch from 7c5cddf to 6d29edd Compare May 12, 2025 20:07
@bcotrim
bcotrim requested a review from gcsecsey May 12, 2025 20:23
@bcotrim

bcotrim commented May 12, 2025

Copy link
Copy Markdown
Contributor Author

Thanks for the review @gcsecsey
I don't see any unit tests errors locally or on CI, can you share more details of your environment, please?

@gavande1 gavande1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The app starts and functions normally for me. All tests pass. Looks good to me! 👍

@nightnei nightnei left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM 👍

@bcotrim
bcotrim merged commit a28e578 into trunk May 13, 2025
@bcotrim
bcotrim deleted the update/electron-35 branch May 13, 2025 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants