Skip to content

chore(desktop): upgrade Electron to 44.4.3 - #50327

Merged
Hona merged 1 commit into
anomalyco:v2from
Hona:electron-44
Sep 21, 2026
Merged

Hona merged 1 commit into
anomalyco:v2from
Hona:electron-44

Conversation

@Hona

@Hona Hona commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

Electron 42.10.1 → 44.4.3 (Chromium 148 → 152, Node 24.19 → 24.21). 42 leaves the supported window when 45 ships.

Breaking changes that applied

Electron Change Here
44 clipboard rearchitected: readImage/writeImage removed, everything async, ClipboardItem main/files/index.ts migrated (below)
44 electron-context-menu reads the clipboard internally 4.1.2 → 5.0.0 ("Require Electron 44")
35→44 console-message positional args deprecated windows/recovery.ts uses the event object
43 dialogs default to ~/Downloads without defaultPath accepted as-is
44 macOS 12, win32-ia32, linux-armv7l, Unity, login-item flags, renderer clipboard, ANGLE static not used / CI matrix already 64-bit
// before
const image = clipboard.readImage()
clipboard.writeText(text)

// after
const items = yield* Effect.promise(() => clipboard.read())
const found = ["image/png", "image/jpeg"]
  .flatMap((mime) => items.filter((item) => item.types.includes(mime)).map((item) => ({ item, mime })))
  .at(0)
const payload = yield* Effect.promise(async () => found.item.getType(found.mime)) // Blob
const image = nativeImage.createFromBuffer(Buffer.from(yield* Effect.promise(() => payload.arrayBuffer())))
yield* Effect.promise(() => clipboard.writeText(text))

Benchmarks

bench:devex — cold bun dev:desktop to Home, fresh profile (Windows x64). Running it surfaced a dormant fresh-database bootstrap race in core, split out as #50344; the 42 baseline completed 3 runs before that race killed run 4, and the 44 column was measured with #50344 applied (5/5). The dominant phase is the source CLI booting under Bun and drifts between sessions; electronStartup is the Electron-attributable phase.

median ms 42.10.1 (v2, 3 runs) 44.4.3 (5 runs)
command → Home ready 24 205 18 922
electronStartup (spawn → app starting) 461 359
viteMainBundle 4 243 3 347
serviceProcessStartup 17 938 13 626
visibleWindowToHome 18 902 14 271

The bench itself was stale (loading task finished, awaiting server ready, server ready no longer log); milestones now track layers ready and the current window-before-service order.

bench:startup — packaged builds, same bundled CLI, alternating launches, warm service, 5 runs.

median ms since spawn 42.10.1 44.4.3
electronReady 124 121
windowVisible 163 162
screenSettled 189 191
appStarting 359 358
firstPaint 552 556
composerEditable 601 597
rendererIdle 660 650
main CPU (last run) 671 671
working set, all processes 504 MB 516 MB

Windows x64 package

42.10.1 44.4.3
NSIS installer 222.0 MB 230.8 MB
unpacked 737.1 MB 748.1 MB
libEGL.dll + libGLESv2.dll 8.1 MB gone (ANGLE statically linked)

Notes

  • [email protected] still uses positional console-message args in spyRendererConsole (upstream); args are deprecated, not removed.
  • test/browser-native.test.ts fails on v2 independently: browser.preview (feat(app): open agent-referenced files as rich artifact tabs #49882) is not exercised by the operation-coverage assertion.
  • Electron 45 heads-up: sandboxed preload loses Buffer/setImmediate/require("events"); sync safeStorage deprecated; display-capture permission split from media.

@Hona
Hona requested a review from Brendonovich as a code owner September 21, 2026 09:47
Copilot AI lite review requested due to automatic review settings September 21, 2026 09:47

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Migrates the clipboard module to the Electron 44 ClipboardItem API, bumps electron-context-menu to its Electron 44 release, moves the console-message listener off the deprecated positional arguments, and repairs the devex startup benchmark milestones.
@Hona
Hona merged commit 932c12a into anomalyco:v2 Sep 21, 2026
10 checks passed
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.

2 participants