"Every beachball you've ever cursed at a file manager is a file call that ran where the UI lives."
The Warning in Apple's Own Docs
This isn't Waygate being cautious for fun. Apple's file-system guidance says it plainly: file calls can block for an indeterminate amount of time on file providers, USB media, and SMB. "Indeterminate" is the scary word — not "a little slow," but "possibly seconds, possibly until a timeout, possibly until a spun-down disk wakes." If that call runs on the main thread, the entire UI is frozen for exactly that long, and the user gets the spinning beachball that every network file manager is infamous for.
The Rule: Nothing Slow on the Main Thread
Waygate's rule is absolute: enumeration, metadata reads, preview generation, and every mutation run off the main thread. Not just the obviously-slow network ones — all of them. The reason is that you often can't tell in advance which call will stall. A 'local' path might be a mounted network folder; a 'fast' metadata read might trigger a cloud provider to wake up. Treating all file I/O as potentially-blocking is the only rule that doesn't have a hole in it.
Off-Main Means Cancellable and Timed
Moving work off the main thread isn't just about not freezing — it's what makes work cancellable. A slow enumeration on a dying SMB share can be canceled and the pane marked offline, instead of hanging forever. Every off-main file task carries cancellation and timeout states, so 'this is taking too long' becomes a handled outcome the UI can show, not a dead app the user has to force-quit.