Skip to content

Fix macOS auto-update: preserve framework symlinks in the update zip - #2049

Merged
RhysSullivan merged 1 commit into
mainfrom
fix-mac-updater-zip
Sep 18, 2026
Merged

RhysSullivan merged 1 commit into
mainfrom
fix-mac-updater-zip

Conversation

@RhysSullivan

Copy link
Copy Markdown
Collaborator

Every Mac on 1.6.8 sees "Restart to update" for 1.6.9 do nothing.

The 1.6.9 mac zip was built with electron-builder 26.15.0, which swapped its bundled 7-Zip 16.02 for 7-Zip 24.09. The new 7za dereferences symlinks by default, so the framework Versions/Current -> A links were expanded into copies (zip went from 200 MB to 421 MB, zero symlink entries). The extracted app fails codesign --verify with "bundle format is ambiguous", Squirrel.Mac rejects it, and quitAndInstall becomes a no-op. The DMG is unaffected. Upstream fixed this in later 26.15.x by passing -snl.

  • Bump electron-builder to 26.16.1. A local arm64 build has all 14 symlink entries again at 208 MB, same as 1.6.8.
  • Publish job verifies each mac zip before upload: symlink entries must be present, and on signed builds the extracted app must pass codesign --verify --deep --strict.
  • Desktop install path: show "Restarting…" on click, stop a spawned sidecar only in before-quit-for-update (after Squirrel has accepted the bundle), and surface a rejected install as "Update failed" instead of leaving the card unchanged.

Ships as a desktop patch release so 1.6.8 and 1.6.9 installs pick up a valid zip.

@RhysSullivan
RhysSullivan marked this pull request as ready for review September 18, 2026 17:10
@RhysSullivan
RhysSullivan merged commit dc0808d into main Sep 18, 2026
39 of 42 checks passed
@RhysSullivan
RhysSullivan deleted the fix-mac-updater-zip branch September 18, 2026 17:10
@RhysSullivan RhysSullivan mentioned this pull request Sep 18, 2026
@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

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