Repository navigation
fix(deps): bump electron to 42.11.12 - #49
Open
lacymorrow wants to merge 1 commit into
Open
lacymorrow wants to merge 1 commit into
lacymorrow wants to merge 1 commit into
Conversation
Clears five high advisories from the 2026-09-15 baseline: GHSA-qmv3-fv6v-rmhq, GHSA-hq2x-r82h-9wj4, GHSA-9qh4-3jw8-366w, GHSA-gr2m-v5gq-v685 and GHSA-j84w-jfhq-vhvj. The highest fix floor among them is 42.10.0. 42.3.3 to 42.11.12 stays inside major 42. The app builds and boots on it. bun.lock also absorbs drift that was already sitting in the repo. The PR body splits what the bump touched from what any bun install would have rewritten anyway.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Five high advisories off the 2026-09-15 supply-chain baseline, all five in
electronand all five cleared by one bump. Part of LACA-2116, the follow-up to the criticals in LACA-2111.What moved
packages/desktopdevDependencyelectron,42.3.3to42.11.12.42.10.0 is the highest floor, so that is the minimum that clears all five. I went to 42.11.12 instead, the newest release still on the 42 line, so this does not come back as a sixth alert next month. The old pin was
42.3.3, which means this is a minor move inside major 42 and no Electron API breakage is in play. Upstream is on 44 now, but chasing that is a separate conversation from a security bump.The bun.lock diff is bigger than the bump, and most of it is not mine
bun.lockshows 23 insertions and 67 deletions. That looked wrong, so I measured it instead of guessing. I installed on a clean checkout of the parent commit, with no electron change, and diffed three ways: the committed lock, the clean reinstall, and this branch.18 lock entries are pre-existing drift. Any
bun installondevproduces them, with or without this PR. The committed lock is simply stale against the committedpackage.jsonfiles. Two parts to it:@vitest/coverage-v8chain gets dropped:@vitest/coverage-v8,@vitest/utils,@vitest/pretty-format,magicast,ast-v8-to-istanbul,js-tokens,@bcoe/v8-coverage, the fouristanbul-*entries,html-escaper,make-dir, plusencodingandiconv-lite.grep -r coverage-v8 --include=package.jsonfinds nothing, so no workspace package asks for it anymore. Also two duplicateeffect@4.0.0-beta.74subtrees under@standard-community/*.1.7.13and1.18.29to1.7.14, matching what therelease: v1.7.14commit already put in thepackage.jsonfiles.11 lock entries are actually from the electron bump, and they all trace to one upstream change. Electron 42.11.12 replaced its
extract-zip@^2.0.1dependency with@electron-internal/extract-zip@^1.0.1:The
get-streamrows are a hoist shuffle, not a version change in disguise. 5.2.0 used to sit at the top becauseextract-zipwanted it; withextract-zipgone,execa's 8.0.1 hoists up andcacheable-requestkeeps 5.2.0 nested. Both versions are still in the tree.If you would rather not carry the drift in a security PR, say so and I will split it into its own lock-resync PR. I left it in because hand-editing a lock to hide what
bun installgenuinely does seemed worse than explaining it.Reachability: this one is real, unlike the rest of LACA-2116
The other eight advisories on this issue live in a
docs-sitedirectory that never ships. These five do not.electronis the runtime of a desktop app that Lacy actually runs, so a Chromium or Node vulnerability in it is reachable by definition the moment the app renders untrusted content, and an AI coding agent renders plenty of model output and repo content. The dev-dependencyscopeon the Dependabot alerts is misleading here.electronis a devDependency only becauseelectron-builderbundles the runtime into the packaged app rather than resolving it at runtime.I did not try to pin down individual exploit paths for the five, because the conclusion does not change: this is the bump worth doing, and the rest of LACA-2116 is hygiene.
Verification
A typecheck would not have caught an Electron regression, so I booted it.
bun run buildinpackages/desktopgreen. electron-vite built main, preload and renderer, 25.8s.Then the real smoke test: launched the built app on the new binary and left it up. Raw log:
Main process up, sidecar server spawned and reached ready, renderer loaded and ran its own console logging, first-launch onboarding went through, then a clean shutdown with the sidecar exiting 0. No crash, no uncaught exception. The one warning in the log is the Electron insecure-CSP notice, which is pre-existing and only fires in unpackaged dev builds.
bun run typecheckinpackages/desktopfails with 286 errors, and that is not from this change. I ran it on the parent commit too and the output is byte-identical after normalizing the temp-dir path prefix. The errors are mostly unresolved@/...path aliases inpackages/app. Worth its own issue, but it is a pre-existing red on this fork.