Skip to content

[Local|Release] Release desktop 2.2.5 (Mac staple retry) - #2362

Merged
MODSetter merged 2 commits into
mainfrom
dev
Oct 27, 2026
Merged

MODSetter merged 2 commits into
mainfrom
dev

Conversation

@MODSetter

@MODSetter MODSetter commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Second release pull request for 2.2.5. It adds one fix on top of #2358.

v2.2.5's first Desktop Release run (40415639797) failed on the macOS leg:

  • Notarization succeeded.
  • stapler then lost its connection to Apple's ticket service.
  • @electron/notarize 2.5.0 never retries a failed staple, so that one error failed the build.

#2361 patches the retry so it works.

Changes since main: only #2361 (the pnpm patch, its pnpm-workspace.yaml entry and the lockfile hash). The app's code and version are unchanged.

After merging:

  1. Move the still-draft v2.2.5 tag onto this merge. This starts a full Desktop Release run, which re-uploads every asset on the same draft.
  2. Publish once the build legs, legacy-update-bridge and release-extras are green.

High-level PR Summary

This is a release pull request for desktop version 2.2.5 that addresses a build failure in the macOS release pipeline. The previous release attempt succeeded in notarizing the app but failed when the stapler command lost connection to Apple's ticket service. Since @electron/notarize 2.5.0 doesn't retry failed staple operations, the build failed. This PR patches @electron/notarize to implement proper retry logic with exponential backoff (10s, 20s, 40s, then 60s twice) and increases retry attempts from 3 to 5, ensuring the staple operation can recover from transient network failures.

⏱️ Estimated Review Time: 5-15 minutes

💡 Review Order Suggestion
Order File Path
1 surfsense_local/electron/pnpm-workspace.yaml
2 surfsense_local/electron/patches/@electron__notarize@2.5.0.patch
3 surfsense_local/electron/pnpm-lock.yaml

Need help? Join our Discord

MODSetter and others added 2 commits October 26, 2026 17:41
…the connection

electron-builder notarizes through @electron/notarize 2.5.0, which wraps
the staple in promise-retry with `retries: 3`. promise-retry retries only
when the callback calls the retry it is handed, and that callback never
does, so the first failed staple fails the build. v2.2.5's Mac leg did
just that: notarization succeeded, then stapler lost its connection to
api.apple-cloudkit.com (NSURLErrorDomain -1005, stapler error 68).

The patch retries a failed staple five times, after 10, 20, 40, 60 and
60 s, and prints each failure. The waits also cover a ticket that has
not reached the ticket service yet.
fix(release): retry the Mac staple when Apple's ticket service drops the connection
@vercel

vercel Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
surf-sense-frontend Ready Ready Preview Oct 27, 2026 12:45am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Caution

Review failed

The pull request is closed.

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MODSetter
MODSetter merged commit 899a415 into main Oct 27, 2026
24 of 26 checks passed

This branch was successfully deployed

1 active deployment
Preview — b0ce3114 Deployed Oct 27, 2026 by vercel[bot]
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