Repository navigation
Setup from the app, one Drive folder per Mac, README for Homebrew - #10
Merged
Merged
Conversation
…ccount The folder and the image were the constant `mac-studio` on every Mac, so a second Mac on the same Google account would have shared both. drive.file access is per OAuth client, not per token, so two Macs with the same credentials do see each other's files. Each Mac now keeps its folder name in Application Support/drive-folder, decided once by `configure-remote` (default: the machine key, or `--folder NAME`) BEFORE the remote is created. An installation that already has the rclone remote predates this setting and keeps `mac-studio`, where its backup lives; with no file at all the legacy name is used too. A stored or legacy folder can never be switched - that would start an empty backup and orphan the old one - so such a request is refused. `drive-status` shows the folder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
After `brew install` the app is the first thing a person opens, but the setup card only listed commands to copy, and the controller's install, create and attach actions were wired to nothing. The card now shows the next steps in order, each with a button: install rclone, install FUSE-T, open Full Disk Access settings, install the agents, create the image (with a size field), attach it. Two steps stay commands to copy: Google sign-in (`configure-remote` waits for the browser in a terminal) and pointing Time Machine at the volume (needs sudo). Google comes before anything that mounts, because that is where this Mac's Drive folder is chosen. State not measured yet (`nil`) never produces a step. The plan is a pure function, covered by SetupPlanTests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Getting started: `brew install`, open the app, follow the setup card; per-Mac Drive folders; upgrading and uninstalling. - Setting up from Terminal kept as the alternative, in an order that works: `install-launchd` (which mounts Drive) before `create-image`, which refuses without the mount. The old order failed at that step. - Running it starts with the menu bar and the window; the CLI follows. - Building from source, local installs, tests, releases and the harnesses move to docs/building.md; the README covers Homebrew only. - Limitations: one-Mac-per-account and Polish-only are gone; unenforced per-machine budgets stay. The log grep looks for "backup failure", which is what the English logs now say. - Cask caveats point to the app and #getting-started. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Built on #9 (translation). Merge #9 first; this PR then retargets to
mainautomatically.One Drive folder per Mac
Until now, the folder and the image were the constant
mac-studioon every Mac. Two Macs on one Google account would have shared one image, becausedrive.fileaccess is per OAuth client, not per token.~/Library/Application Support/CloudMachine/drive-folder.configure-remotedecides it once, before creating the rclone remote. The default comes from the computer name, or set it with--folder NAME.mac-studio. That is this Mac:drive-statusshowsDrive folder: gdrive:CloudMachine/mac-studio. With no file at all, the legacy name is used too.DriveFolderTestscover every branch, including the refusals.Setup from the app
The Required Setup Steps card used to list only commands to copy. The controller's install, create and attach actions were connected to nothing. The card now shows the next steps in order, each with a button:
sudocommand to copy.Google comes before anything that mounts, because that is where the folder is chosen. State not measured yet never produces a step.
SetupPlanis a pure function, covered bySetupPlanTests.README
create-imagebeforeinstall-launchd, butcreate-imagerefuses without the mount, whichinstall-launchdstarts.docs/building.md.#getting-started.Checks
swift test: 323 tests, 0 failures.swift format lint --strictpasses.brew stylepasses.🤖 Generated with Claude Code