Future work¶
Out of v1, recorded so the design leaves room for them, followed by what ships without ever having been measured.
Not planned for v1¶
- Move detection at the polling tiers. In one diff cycle, a vanished directory and a new one with the same child names, sizes and mtimes could be reported as a rename, keeping identifiers and cached content.
- One-time-code logins. Servers that require a fresh code on every connection could be
supported by a
sshdrive unlock <name>that answers the next prompt interactively. - Finder aliases as remote symlinks. A
createItemwhose content type is an alias file could be resolved on the Mac side; if the bookmark points inside the same domain, create a remote symlink instead of uploading the alias file. - Selective offline profiles, such as "keep everything opened in the last 7 days", built on the same pin markers.
- Server-side trash, if users ask for "Put Back".
- Submitting the cask to homebrew-cask, so the tap is unnecessary.
- inotify / fswatch as a change-detection tier (below).
inotify / fswatch tier¶
A tier between sweep and the helper, for accounts with exec whose cache directory is noexec and
whose OS/arch the helper does not cover. It is out of v1 because it is the most code for the
narrowest audience, needs a tool installed on the server, and cannot report renames; adding a
helper target for the platform in question is usually cheaper.
The design, kept so it need not be worked out again:
- Two
inotifywait -m -P -q --no-newline --format '%e%0%w%f%0'processes per location under one wrapper: recursive for pin roots, flat for the working set. -Pis mandatory, because-rotherwise follows symlinks out of the share.modifyis left out of the event list, sinceclose_writereports the finished write.moved_from/moved_tobecome delete + create, because the rename cookie is not exposed.- Watch-limit and overflow errors drop to sweep.
- Watcher restarts are debounced per root set.
- On macOS and BSD:
fswatch -r -0 --event-flags.
Not yet measured¶
- The helper's kqueue path has never run on a BSD: the testbed has no BSD server, so
freebsd/x86_64links and is shipped untested. linux/armv7links and is shipped; no hardware has run it.- The pinning page's re-assert net, which answers an eviction that reaches a kept item, has no route to fire on macOS 26.4 and has never fired.
- Nothing in the quirk catalogue has been measured on macOS 14 or 15, the minimum this design names.