Skip to content

feat(core): implement platform-specific in-place update installers (#282) - #295

Merged
ZhuchkaTriplesix merged 4 commits into
devfrom
issue/282-platform-installers
Jul 10, 2026
Merged

feat(core): implement platform-specific in-place update installers (#282)#295
ZhuchkaTriplesix merged 4 commits into
devfrom
issue/282-platform-installers

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

  • Linux: AppImage in-place swap via detached shell script; GitHub release .zip bundles replace the running Flutter bundle directory (rsync/cp fallback).
  • Windows: Silent Inno-style .exe launch (/SILENT /NORESTART /CLOSEAPPLICATIONS) or .zip bundle replace via detached batch script.
  • macOS: Extract signed .app from release zip, verify codesign --verify --deep --strict, replace bundle via detached script and open.
  • Guards: Snap/Flatpak runtimes throw PackageManagerUpdateRequiredException with update hints; zip extraction blocks path traversal.

Fixes #282. Completes auto-updater epic Phase 3.

Test plan

  • flutter test test/core/updater/
  • flutter analyze lib/core/updater
  • Linux: download release zip → Restart & Update Now → app relaunches from updated bundle
  • Windows: silent .exe installer path (when published)
  • macOS: signed .app zip on notarized build

)

Add Linux AppImage/bundle, Windows silent exe/zip, and macOS signed .app
replacement installers with detached helper scripts, snap/flatpak guards,
and secure zip extraction wired into AppUpdaterService.installDownloadedUpdate.
@github-actions github-actions Bot added enhancement New feature or request core Core library logic and services labels Jul 10, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit a704d74 into dev Jul 10, 2026
4 checks passed
@ZhuchkaTriplesix ZhuchkaTriplesix self-assigned this Jul 12, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/282-platform-installers branch July 26, 2026 14:39
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
feat(core): implement platform-specific in-place update installers (#282)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core library logic and services enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant