Correct the vault path, and take Setup URIs from a configured device - #85
Merged
Merged
Conversation
Two things the docs got wrong, both found by inspecting the running install rather than by reading them back. The vault is at ~/obsidian-work, not ~/Notes. ~/Notes was the plan; it is not what got built, and it does not exist. The location reasoning was always about WHERE (straight in the home directory, away from anything iCloud or Dropbox already syncs) rather than what it is called, so the name is free to differ — but a doc naming the wrong directory sends you looking in the wrong place during a restore, which is precisely when it matters. Corrected in SETUP.md, compose.yaml, .gitignore and kopia-mac/backup.sh. While confirming that path: the vault IS backed up. It sits inside the /Users/mathewcsims source, no ignore rule touches it, and the 2026-08-14 02:00 snapshot captured it at 4.1 MB / 40 files. That closes a gap flagged earlier as open, and the claim is now stated as verified rather than assumed. Setup URIs must come from an already-configured device, not from pass-create-obsidian-livesync-setup-uri.sh. That script builds a URI from the values in Pass; a configured device builds one from the settings it is actually using, and the two can diverge. When they do, the failure is confusing rather than obvious: the new device imports the URI, connects, and then cannot decrypt anything. On this install they may already have diverged and there is no way to check. The plugin stores its configuration encrypted at rest — data.json holds encryptedCouchDBConnection, encryptedPassphrase and a named remote profile, with the plaintext couchDB_* and passphrase fields empty — so the passphrase in use cannot be compared against E2EE_PASSPHRASE in Pass. The script is now documented as bootstrap-only. Adds an "Adding a device" section for the tablet, including the destructive mistake worth naming explicitly: never choose "Overwrite Server Data with This Device's Files" on a new device. Its vault is empty and the remote holds everything. That button is correct during a passphrase rotation on the authoritative Mac and wrong everywhere else, which is what makes it easy to hit by accident. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
mathewcsims
added a commit
that referenced
this pull request
Aug 14, 2026
…ared storage (#86) The section merged in #85 claimed "On the Android tablet you do not choose the location: Obsidian creates the vault in its own storage". Wrong, and now checkable against a real device: the tablet registers /storage/emulated/0/obsidian-work in LiveSync's own device registry (_local/obsydian_livesync_milestone), which is Android SHARED storage, not app-internal. Same class of error as the ~/Notes correction in that same PR — a plan written down as though it were fact — which is why the note about it stays in rather than being quietly dropped. Records the distinction as deliberate, because the two options differ in ways that matter for a notes vault: shared storage survives uninstalling Obsidian and is reachable over USB and by other apps, where app-internal storage is neither. Shared is the better fit for the same reason the whole arrangement exists — the notes should not be trapped inside one application — at the cost of being visible to anything else on the device with storage permission, which is acceptable on a personal tablet and moot given the plaintext lives on the Macs anyway. Also states the one thing that does not follow: the tablet's vault must still not sit in a folder another sync app manages. Two sync systems on one vault loses notes on Android exactly as on macOS. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.
Two documentation errors, both found by inspecting the running install rather than re-reading the docs. Follow-up to #82, #83, #84.
The vault is at
~/obsidian-work, not~/Notes~/Noteswas the plan. It is not what got built, and it does not exist.The location reasoning was always about where — straight in the home directory, away from anything iCloud or Dropbox already syncs, because two sync systems on one vault is how notes get lost — rather than what the folder is called. So the name is free to differ. But a doc that names the wrong directory sends you looking in the wrong place during a restore, which is exactly when it matters.
Corrected in
SETUP.md,obsidian-livesync/compose.yaml,.gitignoreandkopia-mac/backup.sh.Bonus, and it closes an open gap: while confirming the path I checked the backup coverage. The vault sits inside the
/Users/mathewcsimsKopia source, no ignore rule touches it, and the 2026-08-14 02:00 snapshot captured it at 4.1 MB / 40 files. Earlier I'd flagged this as not yet covered because the vault didn't exist. It does now, and it's backed up — stated as verified rather than assumed.Setup URIs must come from a configured device
pass-create-obsidian-livesync-setup-uri.shbuilds a URI from the values in Pass. A configured device builds one from the settings it is actually using. Those can diverge, and the failure mode is confusing rather than obvious: the new device imports the URI, connects successfully, and then cannot decrypt anything.On this install they may already have diverged, and there is no way to check. The plugin stores its configuration encrypted at rest —
data.jsonholdsencryptedCouchDBConnection,encryptedPassphraseand a named remote profile, with the plaintextcouchDB_*andpassphrasefields empty. So the passphrase in use cannot be compared againstE2EE_PASSPHRASEin Pass.The script is now documented as bootstrap-only; once any device is configured, use its own "Copy settings as a new Setup URI".
New "Adding a device" section
Step-by-step for the Android tablet, including the ordering constraint (device name before applying anything, since Customisation Sync is on) and one destructive mistake named explicitly:
That button is correct during a passphrase rotation on the authoritative Mac and wrong everywhere else — which is what makes it easy to hit by accident.
Docs and comments only.
compose.yamlre-checked withpodman compose config,backup.shwithsh -n. No behaviour change.🤖 Generated with Claude Code