Archive for March 14, 2023

Tuesday, March 14, 2023

Update on Cloud File Provider Extensions

Adam Engst (Mastodon):

My understanding is that Box, Google, and Microsoft have migrated their Mac users to the File Provider approach, whereas Dropbox—probably the most popular among everyday Mac users—has only recently started to encourage those outside its beta program to switch (while others are still being asked to join the beta). It can be hard to tell since cloud storage providers often roll out changes over time or to subsets of customers to test user response, identify concerns, and reduce support loads. Some Dropbox users even report one Mac being upgraded to the new File Provider approach, while others continue to use the kernel extension.

I’ve switched most of my formerly Dropbox files to Git and am now using iCloud Drive for everything else. Unfortunately, iCloud Drive sometimes takes a day or more to sync new files from my iPhone to my Mac.

Some users, including us, have experienced situations where the local folder doesn’t move but becomes disconnected from the service.


However, there are no guarantees that references to files will all resolve to the new locations, and in the case of apps that use cloud storage for syncing settings, you may not even notice immediately.


The most significant limitation of the new File Provider approach is that ~/Library/CloudStorage is located on your internal drive. For those with terabytes of files in a cloud storage service, that’s a huge problem.

Another case where it seems like Apple has forgotten those with external storage needs.

Therefore, assuming you have sufficient disk space, I recommend downloading your entire cloud storage data store, at least temporarily. Bring everything down and let Time Machine and your other backup systems make a copy.

Or, if you don’t have the space, ChronoSync can download the files in stages, back them up, and then evict them while keeping peak storage needs low.


Update (2023-05-30): John Gordon:

Microsoft has decided it will not fix Mojave and has retroactively dropped Mojave support [for OneDrive].

Update (2023-06-13): Dropbox:

The following charts outline the changes you can expect when using Dropbox for macOS leveraging the File Provider API.


Dropbox Transfer doesn’t support new macOS packages.

Actions involving a large number of files can take longer than usual to complete.

Certain types of files may not sync on macOS 12.

LAN Sync is currently not supported.

Certain files or folders with very long names or that are located in deeply-nested folder structures won’t be synced.


Safari can’t open .html or .css files without Full Disk Access permission.

Update (2023-07-11): Jeff Carlson:

The latest version of my book Take Control of Your Digital Storage, 2nd Edition is now available, updating the content for macOS 13 Ventura and the upcoming macOS 14 Sonoma. In addition to sprucing up the whole 160-page book, this version 2.3 adds a few new important things[…]

Using a Mac Without Phoning Home

Howard Oakley:

A great deal has happened in the two years since Apple promised that it would provide an option to stop online checking of certificate validity using OCSP, and that of notarization. Instead, it has introduced two quite different enhanced security modes: Lockdown Mode, and iCloud Advanced Data Protection. Although they’re both valuable, it’s surprising that Apple has put great engineering effort into those, but still can’t see its way to let Macs run without repeatedly connecting to its servers.


There’s a small but strong body of users who, for a variety of reasons, really don’t want their Macs when they’re in use repeatedly connecting to Apple. To get a feel for how extensive the problem is, this article lists all the connections that Macs and devices require. I count 75 for regular macOS, excluding MDM and enterprise/education/business.

Howard Oakley (Hacker News):

This article explains what does and doesn’t work when a Mac running Ventura has no network connection at all.

It’s what you would expect.


The problem with online checks (gatekeeper) are when you have flaky internet connection.

It can handle no connection quite well, but unstable internet is really a PITA - commands and applications lag randomly when launching etc... It took me some time to troubleshoot why suddenly ma MacOS was almost unusable and this was the culprit.


Bugs in OpenBSD’s UTF-8 Decoding Logic

Exotic Silicon (via Hacker News):

In this article, we’ll take a look at the [sorry] state of affairs regarding UTF-8 support on the OpenBSD kernel, at least as of OpenBSD 7.2-release. It’s not a pretty picture, but hopefully we can improve things.


Still, the debugging process we went through here to discover the cause of the problems in the first place is worth sharing from the beginning, as the code in question was particularly bad with plenty of textbook mistakes. Who knows what you might find in your own investigations elsewhere.


So effectively, when we tried sending the 0xC4, 0x80, sequence to print character 256, the kernel tried to interpret it as a three byte sequence instead of a two-byte sequence. The trailing newline caused the re-assembly of the multi-byte character to fail, but we fell through to code which then correctly processed the newline character.


Converting the Streaks Apple Watch App to SwiftUI

Quentin Zervaas:

At this time, Streaks for Apple Watch still supports watchOS 6. Even though SwiftUI runs on watchOS 6, there were some roadblocks in our implementation, so if you’re on watchOS 6, you’ll still be running the WatchKit version.


In Streaks 9, this animated view on Apple Watch fully uses SwiftUI, not a series of animated images. This makes it much smoother, faster and nicer to interact with.


All of these edge cases are the primary reason why it’s taken us two years to get all this working as well as we’d like.


The multiline support in TextField on Apple Watch is buggy: while it would reserve 3 lines of space, it would just truncate the first line and not show subsequent lines.