-
Notifications
You must be signed in to change notification settings - Fork 929
Description
Bug description
On macOS, the Sparkle "Software Update" dialog for Nextcloud 33.0.0 appears every day despite clicking "Install Update" each time. The update is downloaded successfully (.pkg.tbz files accumulate in ~/Library/Caches/com.nextcloud.desktopclient/org.sparkle-project.Sparkle/PersistentDownloads/) but the installation never completes. The macOS install log (/var/log/install.log) confirms no Nextcloud installation occurred after the initial 4.0.8 install.
Steps to reproduce
- Install Nextcloud Desktop Client v4.0.8 on macOS
- Have "Automatically download and install updates in the future" checked
- Wait for the Sparkle update dialog to appear offering v33.0.0
- Click "Install Update"
- The dialog closes but the update is never installed
- The next day, the same dialog reappears
Expected behavior
Clicking "Install Update" should install v33.0.0 and not show the dialog again.
Actual behavior
The update dialog reappears daily. Downloaded .pkg.tbz files accumulate in the Sparkle cache without being installed.
Root cause
In src/gui/updater/sparkleupdater_mac.mm, the backgroundUpdateChecksAllowed delegate method only checks skipUpdateCheck() but ignores the autoUpdateCheck() config preference. This creates an inconsistency with Sparkle 2's internal state management — the delegate reports background checks are allowed without properly consulting the auto-update configuration, which can cause Sparkle's SPUStandardUpdaterController state machine to misbehave during the install flow.
Similarly, backgroundCheckForUpdate() checks !ConfigFile().skipUpdateCheck() instead of ConfigFile().autoUpdateCheck().
This was already fixed on the main/33.0.0 branch in #9406 but was never backported to stable-4.0.
Environment
- Nextcloud Desktop Client: 4.0.8
- macOS: Tahoe (Darwin 25.3.0)
- Sparkle: 2.6.4
Fix
Backport of #9406 to stable-4.0 — see linked PR.