Skip to content

Fix Linux AppImage for AppImageHub and Ubuntu 24.04, add engine check switch - #32

Merged
a23bc merged 2 commits into
mainfrom
fix/0.3.1-appimage
Nov 11, 2026
Merged

a23bc merged 2 commits into
mainfrom
fix/0.3.1-appimage

Conversation

@a23bc

@a23bc a23bc commented Nov 11, 2026

Copy link
Copy Markdown
Owner

What changed

Build Linux artifacts with mksquashfs' zlib default instead of xz, add a launcher that falls back to --no-sandbox only inside an AppImage when unprivileged user namespaces are restricted, and add a Settings switch for the launch ipatool update check.

Why

AppImageHub's mount helper rejects the xz-compressed SquashFS produced by compression: maximum, so the catalog submission for v0.3.0 failed. Ubuntu 24.04 also aborts the AppImage before the first window because its AppArmor policy blocks unprivileged user namespaces and the AppImage's SUID sandbox helper cannot be root-owned (issue #31). The engine update check already runs on launch and shows a toast; the new setting makes that GitHub request optional.

How it was verified

  • npm run typecheck, npx eslint src tests scripts, npx vitest run (33 files, 494 passed, 2 skipped), npm run build.
  • The afterPack hook was exercised against a temporary fake executable to confirm the wrapper and .bin layout.
  • The Linux package itself is verified from the CI artifact (zlib SquashFS and wrapper contents) before the release is published.

Not verified

  • Running the AppImage interactively on Ubuntu 24.04; the issue reporter can confirm the sandbox fallback.
  • The AppImageHub retest happens after the v0.3.1 release is published.

Checklist

  • One concern only — Linux AppImage packaging/startup plus the requested engine-check switch
  • npm run typecheck passes
  • npm test passes (coverage gate included)
  • npm run lint passes
  • New logic in src/shared/ has tests
  • No credential, token or local-only file is included
  • User-visible behaviour changes are described above

Build Linux artifacts with mksquashfs' zlib default so AppImageHub's mount
helper can read them, and add a launcher that only falls back to
--no-sandbox inside an AppImage when unprivileged user namespaces are
restricted. The .deb keeps its root-owned sandbox helper.
The check and its toast already existed but always ran. Make it explicit in
Settings and skip the GitHub request when disabled; it still never installs
a newer engine without confirmation.
@a23bc
a23bc merged commit 9b806c0 into main Nov 11, 2026
1 check 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.

1 participant