feat(onset): lazy workspaces on Windows, with the Cloud Files API
Radin committed
- Author
- Radin · radin@coline.appOct 31, 2026 at 23:37
- Committer
- Radin · radin@coline.appNov 1, 2026 at 00:00
- Parents
- 0171eaeb9185
feat(onset): lazy workspaces on Windows, with the Cloud Files API `on get --lazy` and `on mount [--stop]` now work on Windows (x64 and arm64). The folder is a Cloud Files sync root (the API OneDrive uses, built into Windows 10 1709 and later: no driver, no optional feature, no admin rights): every file of the tree is a placeholder from the start, at its size, and the first read of one asks `on mount --serve`, which fetches it from the host. Edits stay in the folder, and `.onset` lives there as in any workspace. A named event marks the server running and stops it; after a restart the placeholders stay, and the next `on` command starts the server again. Saves never fetch a file to check it: each placeholder shows a time its path picks (Windows has no inode numbers), so the index matches it, and a file whose stat moved anyway is left unread while Windows says it's still in sync with the content and path it was made with. Empty files are made as plain files. cldapi.dll is loaded only when a lazy workspace needs it, so `on` still starts on a Windows without it. The hosted suite's lazy section runs on Windows too, and checks that a status fetches nothing. Git Bash's `mv` can't move a placeholder that hasn't been fetched (Cygwin takes an offline cloud file for a volume mount point; OneDrive's files too), so the suite moves with cmd there, and SPEC and GUIDE say so. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 files changed+714−31