Skip to content

Conversation

@nilsdebruin
Copy link

Electron Upgrade Walkthrough

Overview

Successfully upgraded Leapp desktop application to Electron v40. This upgrade enhances performance, security, and compatibility with modern macOS versions.

Changes Made

  • Electron Upgrade: Bumped electron to ^40.2.1 in packages/desktop-app.
  • Dependencies: Upgraded related packages (electron-builder, electron-rebuild -> @electron/rebuild logic handled by npm, electron-updater, @electron/remote).
  • Native Modules:
    • dpapi-addon: Upgraded nan to latest version to support V8 changes in Electron v40.
    • Configuration: Linked dpapi-addon locally in desktop-app to ensure correct build with updated nan.
    • Ignored Artifacts: Added dpapi-addon/build to .gitignore to prevent committing build artifacts.
  • Git:
    • Created feature branch feat/upgrade-electron.
    • Signed off all commits (-s) as per contribution guidelines.

Verification Results

Build Verification

  • leapp-core: Built successfully.
  • Native Modules: keytar and dpapi-addon rebuilt successfully against Electron v40 headers.
  • Angular App: compiled successfully (npm run build-dev).

Runtime Verification

  • Application Startup: Verifed via npm run build-and-run-dev. The application builds and launches successfully.

Next Steps for User

  1. Push Branch: Push the feat/upgrade-electron branch to your fork.
    git push origin feat/upgrade-electron
  2. Create PR: Open a Pull Request from your fork to the upstream leapp repository.
    • Ensure the PR description mentions the dpapi-addon update and the .gitignore change.
    • Mention that dpapi-addon at root is now used directly via file: protocol in desktop-app (monorepo style) or request upstream to publish a new dpapi-addon version on npm if they prefer.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 6, 2026

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.

1 participant