From a0ac8d0c2ca9d1542c34606886325fb74b7330d0 Mon Sep 17 00:00:00 2001 From: Michaela Laurencin <35157522+mlaurencin@users.noreply.github.com> Date: Wed, 21 Oct 2026 16:07:09 -0400 Subject: [PATCH 1/4] ci: add E44 and E45 to test matrix --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 43d6d38..2b22a81 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,6 +24,8 @@ jobs: - 41 - 42 - 43 + - 44 + - 45 node-version: - '22.12.x' os: From 298ac5d2f87aca8335be67e7802ee04896402355 Mon Sep 17 00:00:00 2001 From: Michaela Laurencin <35157522+mlaurencin@users.noreply.github.com> Date: Wed, 21 Oct 2026 16:08:59 -0400 Subject: [PATCH 2/4] update package.json --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 7853323..3d1a67e 100644 --- a/package.json +++ b/package.json @@ -86,6 +86,8 @@ "electron41": "npm:electron@^41", "electron42": "npm:electron@^42", "electron43": "npm:electron@^43", + "electron44": "npm:electron@^44", + "electron45": "npm:electron@^45", "html-webpack-plugin": "^5.6.3", "husky": "^9.1.7", "lint-staged": "^17.4.1", From 2bd1bda3b02c323d557a9bcfb18877ffe2039bac Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 21 Oct 2026 20:55:58 +0000 Subject: [PATCH 3/4] chore: update yarn.lock Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01XniaQor2vcCA65mr3ADVM5 --- yarn.lock | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/yarn.lock b/yarn.lock index f0bf82e..1351b6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -642,6 +642,8 @@ __metadata: electron41: "npm:electron@^41" electron42: "npm:electron@^42" electron43: "npm:electron@^43" + electron44: "npm:electron@^44" + electron45: "npm:electron@^45" html-webpack-plugin: "npm:^5.6.3" husky: "npm:^9.1.7" lint-staged: "npm:^17.4.1" @@ -3504,6 +3506,34 @@ __metadata: languageName: node linkType: hard +"electron44@npm:electron@^44": + version: 44.9.3 + resolution: "electron@npm:44.9.3" + dependencies: + "@electron-internal/extract-zip": "npm:^1.0.1" + "@electron/get": "npm:^5.0.0" + "@types/node": "npm:^24.9.0" + bin: + electron: cli.js + install-electron: install.js + checksum: 10c0/c3559aaa78f768dbf28b821b600e39e5753f4b316d3eeee30b2f1d72357c7d2a574fcd888353006a9f83968ac4fe2006071696078b23cbfcf1e23dabbc1f25fe + languageName: node + linkType: hard + +"electron45@npm:electron@^45": + version: 45.0.0 + resolution: "electron@npm:45.0.0" + dependencies: + "@electron-internal/extract-zip": "npm:^1.0.1" + "@electron/get": "npm:^5.0.0" + "@types/node": "npm:^24.9.0" + bin: + electron: cli.js + install-electron: install.js + checksum: 10c0/53dc878a72815e89aadccb125d137d1e2dbeabbe9b8c0f2c1a49c114e85c4635aa32c83af6074f11e6ccbe433069c6c57299a5b473a63322e7957da1348c7d8d + languageName: node + linkType: hard + "electron@npm:^44.5.0": version: 44.5.0 resolution: "electron@npm:44.5.0" From ec7098b76855ba29dc2ba216ac11bdfcc43ff6f1 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 21 Oct 2026 21:30:45 +0000 Subject: [PATCH 4/4] test: reload test window after devtron install The test window is created before devtron.install() registers the renderer preload, so on Electron 44+ the first load can run without it and the renderer-side IPC tracking tests fail intermittently. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01XniaQor2vcCA65mr3ADVM5 --- spec/devtron-install-spec.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/spec/devtron-install-spec.ts b/spec/devtron-install-spec.ts index ad7ec8f..8ee1ed7 100644 --- a/spec/devtron-install-spec.ts +++ b/spec/devtron-install-spec.ts @@ -131,13 +131,12 @@ describe('Tracking IPC Events', () => { before(async function () { this.timeout(20 * 1000); - // wait until webContents is ready + // The test window is created before `devtron.install()` registers the renderer + // preload, so its first load can miss it. Reload so the preload is applied. await new Promise((resolve) => { const wc = mainWindow.webContents; - if (!wc.isLoading()) { - return resolve(); // already loaded - } wc.once('did-finish-load', () => resolve()); + wc.reload(); }); ipcMain.on('test-main-on', () => {});