fix(desktop): enable AppImage to run on modern Linux without installing libfuse2#2677
Open
yomgui wants to merge 1 commit into
Open
fix(desktop): enable AppImage to run on modern Linux without installing libfuse2#2677yomgui wants to merge 1 commit into
yomgui wants to merge 1 commit into
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
@yomgui is attempting to deploy a commit to the Different AI Team on Vercel. A member of the Team first needs to authorize it. |
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.
PR: fix(desktop): enable AppImage to run on modern Linux without installing libfuse2
Summary
From a user perspective, this PR ensures that the Linux AppImage launches successfully on modern Linux installations (such as Fedora Silverblue 44) without requiring the installation of the legacy FUSE2 (
libfuse.so.2) package. Startup, direct installation, and automatic update flows remain fully functional and seamless.Technically, this is achieved by upgrading
electron-builderto26.15.3and opting into the official static AppImage runtime toolset (toolsets.appimage: "1.0.3"). This natively compiles the AppImage without FUSE2 dynamic links inside the standard build pipeline, avoiding custom post-build repackaging scripts and preserving updater metadata, SHA-512 checksums, and blockmap integrity.Why
Previously, the Linux AppImage produced by
electron-builderon thedevbranch used the legacy AppImageKit 12 runtime, which dynamically loadslibfuse.so.2(FUSE2) at launch. On modern Linux distributions (such as Fedora Silverblue 44) that only ship with FUSE3 by default, the AppImage fails immediately with:An experimental attempt to repack the AppImage with a post-build script was rejected because it bypassed the standard release pipeline and invalidated the updater manifest metadata and blockmap integrity. Opting into the native static runtime is the clean, supported way to fix FUSE3 compatibility without side effects.
Comparison:
devvs.fix/appimage-static-runtimedevbaseline)fix/appimage-static-runtime)e8ab197c5ab852b0901.0.3effcebc(2019)type2-runtimecommitdd6cebelibfuse.so.2(FUSE2)217,316,064bytes)201,262,796bytes)1, FUSE2 load error)electron-builder.ymlintegration)Issue
Scope
electron-builderfrom25.1.8to26.15.3in package.json to gain static runtime toolset support.toolsets.appimage: "1.0.3"in electron-builder.yml.openwork(required by the modern builder's safety constraints).fraimzverification flow in appimage-static-runtime.flow.mjs.Out of scope
Testing
Ran
pnpm install --frozen-lockfilepnpm --filter @openwork/desktop testpnpm --filter @openwork/desktop typecheck:electronpnpm --filter @openwork/desktop package:electronpnpm fraimz --flow appimage-static-runtimeResult
fraimzverification flow completed successfully (1 passed, 0 failed), validating that:devfails to run on FUSE3-only Fedora Silverblue 44 with a FUSE2 loading error.fix/appimage-static-runtimelaunches successfully, initializes Electron, and runs the workspace server successfully on the same FUSE3-only host.CI status
Manual verification
type2-runtime):./apps/desktop/dist-electron/openwork-linux-x86_64-*.AppImage --appimage-versionlibfuse.so.2) and verify it launches and connects successfully.Evidence
internal(app-less) cli/build verification run. No UI/CDP interactions are involved, so no video or screenshots are captured. The raw command executions and system audits are fully asserted and witnessed within thefraimz.htmlreport.Risk
electron-buildernatively, avoiding any custom or unsafe post-build repack steps.Rollback
electron-builderto25.1.8inapps/desktop/package.jsonand remove thetoolsets.appimageblock inapps/desktop/electron-builder.yml.