Last Week on My Mac: Dependent on a bug

I’ve never known such howls of anguish, even of anger, as a result of Apple fixing a bug in macOS. I’m referring, of course, to the changes made to iCloud Drive and Optimize Mac Storage in Sonoma. Without so much as a byline in the release notes as a warning, many have been shocked to discover all the documents they had removed from local storage have been downloaded to their Mac once it has been upgraded. The cause of this is changed behaviour in the Optimize Mac Storage setting, something Apple hasn’t warned users about.

iCloud Drive was introduced in Yosemite, three years after Apple had launched iCloud itself. The first that I can recall of control over the storage of files in iCloud Drive was in macOS Sierra, well over five years ago. When I first examined this in detail here I reported that its control was dysfunctional:
“On my iMac running macOS Sierra 10.12.6 in a fairly vanilla configuration, checking or unchecking Optimize Mac Storage does nothing: in effect, that feature is not available, and all iCloud Drive items are always synced down to that Mac.”
“On my MacBook Air running macOS High Sierra 10.13.4, Optimize Mac Storage works almost as advertised. When the checkbox is ticked, some files in my iCloud Drive are stored only in the cloud, and not locally on that Mac. When the checkbox is empty, all files in my iCloud Drive are copied to that Mac’s local storage.”
“Except that even that doesn’t actually work as expected: I currently have less than 720 MB of files in my iCloud Drive, and over 380 GB free space on my startup volume (APFS) on that MacBook Air. By macOS’s own admission, it should not be performing any optimisation by removing local copies of files held in iCloud Drive. Yet it returns files to the cloud regardless.”

optimizestore01

At that time, the user was given no control to remove downloads, or ‘evict’ them to use the term from Apple’s documentation. This was one of the features that I added to my free apps Cirrus and Bailiff later in 2018. As I remarked when providing one of the early betas of Cirrus:
“Interestingly, you can still evict the entire contents of your iCloud Drive even if Optimize Mac Storage is disabled, and you can readily download all the contents if optimisation is enabled.”

The following day, I was more bluntly critical of iCloud’s controls, writing:
“The final insult is to equip the user with almost no tools with which to manage their iCloud Drive. The one which is built into the Finder is the ability to download an evicted file, by clicking on the iCloud icon for that item. But that is a one-way trip: there is no matching control to force an item to be evicted to remote storage. Coupled with the dysfunctionality of Optimize Mac Storage, it’s a bit like getting into a lift which has only an Up button.”

More recently Apple took the hint, and added a command to the Finder’s contextual menu to Remove Download, or evict, files stored in iCloud Drive, but Optimize Mac Storage remained as wayward as ever. Some learned that they could still evict files in iCloud Drive even though that setting was turned off, and became dependent on that bug. The reasoning was that turning optimisation on would allow macOS to evict files whenever it wanted, while leaving it disabled left them in control of which files were evicted from their Mac’s local storage.

icloudevict1

In the absence of any release note warning of changes to this behaviour in macOS Sonoma, users who had turned Optimize Mac Storage off and evicted files were shocked to see all those evicted files being downloaded once the upgrade was installed. Indeed, one user reported here that all their files held in iCloud Drive, regardless of whether they were already stored locally, were downloaded afresh. When you’ve become dependent on a bug that has been present for at least the last five years, fixing it without warning isn’t helpful.

What still isn’t clear to me, though, is how completely Apple has fixed this optimisation behaviour. The other half of the bug, described above, is that, when Optimize Mac Storage is turned on, does macOS still evict files even when there’s no pressure on local storage? One of the principal objections for enabling optimisation has been that it results in macOS deciding to evict files you want to remain downloaded locally. If Apple has fixed that too, then turning Optimize Mac Storage on becomes a more attractive proposition.

The final problem that has always worried me about optimising iCloud storage is whether it still allows users to run into storage debt, where they have so much evicted to iCloud Drive that their Mac would be incapable of it all being downloaded and stored locally. And what happens if someone has run into storage debt, then turns optimisation off?

It’s all very well fixing a bug, but Apple needs to explain these behaviours and their consequences to those who use them.