From 9b2c03ee25321c16928eda74f4036f36f0b1afce Mon Sep 17 00:00:00 2001 From: Lorenzo <150276837+Bombatomica64@users.noreply.github.com> Date: Tue, 6 Oct 2026 21:41:30 +0200 Subject: [PATCH] fix(desktop): build AppImage with the static runtime toolset (fixes libfuse2 launch failure) (#7765) Co-authored-by: Julius Marminge --- scripts/build-desktop-artifact.test.ts | 3 +++ scripts/build-desktop-artifact.ts | 4 ++++ 2 files changed, 7 insertions(+) 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 -- 2.54.0