Skip to content

fix(updater): restore native Linux bundle detection - #190

Open
capaj wants to merge 1 commit into
Lampese:mainfrom
capaj:fix/189-linux-updater-permissions
Open

capaj wants to merge 1 commit into
Lampese:mainfrom
capaj:fix/189-linux-updater-permissions

Conversation

@capaj

@capaj capaj commented Sep 22, 2026

Copy link
Copy Markdown

Fixes #189.

Root cause

The release build uses Tauri CLI 2.9.6 with tauri-utils 2.8.3. The CLI predates the newer bundle-marker format and cannot embed the correct Linux bundle type. The v0.2.20 Linux build logs confirm the marker-patching failure. Unknown bundle types fall back to the AppImage installer, which tries to replace the system-owned executable directly instead of using the native package installer. This explains the reported permission error, based on build logs and source inspection rather than an end-to-end reproduction.

Build evidence: https://github.com/Lampese/codex-switcher/actions/runs/35472923995/job/105977085911
Upstream change: tauri-apps/tauri@0575dd2

Changes

Upgrade the Tauri CLI requirement and all locked platform binaries to 2.10.1. Keep other dependencies and the application version unchanged.

Separate download completion from installation success. Display an installing state when the Finished event arrives, and only offer Restart after downloadAndInstall resolves successfully.

Add six installation-lifecycle tests, two toolchain/lockfile tests, and a Node 22 GitHub Actions workflow.

Validation

All 8 tests pass with npm run test:updater on Node 22.16.0. The original CLI configuration fails both toolchain tests. git diff --check passes. Tests ran against checksum-verified source files in a local fixture.

Full dependency installation, application build, native packaging, and a signed .deb update were not run. Before release, verify the bundle-marker warning is gone and a newly built .deb uses the native installer and handles authorization correctly.

Existing binaries with missing metadata need a one-time manual installation of a corrected release; this build-tooling fix cannot repair an already-installed binary.

Upgrade the Tauri CLI and locked platform binaries to 2.10.1 so Linux
bundles receive the marker expected by the runtime updater. Keep the UI
in the installing state until installation succeeds, and add regression
tests for the toolchain and update lifecycle.

Fixes Lampese#189
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.

Update failed: Permission denied (os error 13)

1 participant