Updates

Whenever you open Cirrus, it may check to see if an update to the app is available. This doesn’t use the popular Sparkle mechanism for updating in place, but works as detailed here.

Once the app has started up, it looks at whether update checking has been turned off in its preferences file. If that has, it abandons any attempt to check for updates. If checking is allowed, it then checks when it last checked for updates. If that was more than 12 hours ago, it continues to perform the check. It then connects to my GitHub server, from where it downloads a list of current versions of my apps. It doesn’t upload any data to the GitHub server at all, and no statistics beyond GitHub normal connection figures are collected either: no personal identifiers are recorded.

If there is an update available, Cirrus then checks that its location is on this WordPress blog, and posts a dialog which invites you to download the update.

If you click on the Download button, it then points your default browser at that update, which should trigger the update to be downloaded to your normal downloads folder. The update is received as a regular Zip archive, and is exactly the same as you would download from the Downloads page here. It also carries a quarantine flag, so that when you unZip it and install the app inside, it undergoes normal first run ‘Gatekeeper’ security checks. If you click on the Ignore button, Cirrus won’t remind you about it again for another 12 hours.

An additional item at the end of the Help menu explains the update status. If no update check is performed, or the check fails, the last item reads Update not checked . If the check is performed and update information is obtained, even when no update is available or you decline to download it, that menu item reads Checked for update and is ticked (but still disabled).

You can customise this behaviour by changing Cirrus’s preferences. The keys to use are:

noUpdateCheck , a Boolean. When set to true , this disables all update checking. Default is false .

updateCheckInt , a real number (Double). When set to a value greater than 1.0, the minimum time interval between checks, in seconds. Default is 43200, which is 12 hours. If you set it to any value less than 1, Cirrus will reset it automatically to that default.

To change either of these, use a Terminal command of the form

defaults write co.eclecticlight.CirrusMac updateCheckInt '10'

which works properly through the preferences server cfprefsd .

➜ Welcome

The Eclectic Light Company – https://eclecticlight.co