diff --git a/scripts/build-desktop-artifact.test.ts b/scripts/build-desktop-artifact.test.ts index aa733d53163148c5889f9ce39df7c27ab5634f32..4b9294e16887c33db0015fe6c6979a81869b7aea 100644 --- a/scripts/build-desktop-artifact.test.ts +++ b/scripts/build-desktop-artifact.test.ts @@ -684,6 +684,9 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { assert.deepStrictEqual((linux.linux as Record).protocols, [ { name: "T3 Code", schemes: ["t3code", "t3code-dev"] }, ]); + assert.deepStrictEqual(linux.toolsets, { appimage: "1.0.3" }); + assert.notProperty(mac, "toolsets"); + assert.notProperty(win, "toolsets"); assert.deepStrictEqual(mac.files, [...DESKTOP_FILE_EXCLUSIONS, ...MAC_FILE_EXCLUSIONS]); assert.deepStrictEqual(linux.files, [...DESKTOP_FILE_EXCLUSIONS, ...LINUX_FILE_EXCLUSIONS]); assert.deepStrictEqual(win.files, DESKTOP_FILE_EXCLUSIONS); diff --git a/scripts/build-desktop-artifact.ts b/scripts/build-desktop-artifact.ts index f8f5a6ca2d52dd37c7ec1677eda7ee1dc51b5455..6bf280469c695933de2a38206a608848ba4fec66 100644 --- a/scripts/build-desktop-artifact.ts +++ b/scripts/build-desktop-artifact.ts @@ -2762,6 +2762,10 @@ export const createBuildConfig = Effect.fn("createBuildConfig")(function* ( } if (platform === "linux") { + // electron-builder 26 defaults to its legacy AppImage runtime, which + // dynamically loads the system libfuse2 library. Pin the static runtime so + // the AppImage also launches on distributions that only provide FUSE 3. + buildConfig.toolsets = { appimage: "1.0.3" }; buildConfig.linux = { // The .deb is built from the same unpacked app after the AppImage. // electron-builder lists both in latest-linux.yml and writes