Keep a vault of Markdown notes in step with your notes on the Shared Computer Network.
Sync your Obsidian vault with the Shared Computer Network (SCN) to mirror edits, new notes, renames, moves and deletions across desktop and iPhone while merging concurrent changes. Sign in with an SCN membership via Corliss; notes are stored as Automerge documents on SCN Notes and are not encrypted at rest.
https://notes.<domain>.
Your Private workspace is there from the start, and each workspace you
share has its own.Every workspace you can open syncs into this one Obsidian vault, each in its own folder:
Private/ for your Private workspace. Only you can read these notes.Workspaces/<name>/ for each workspace you share. Everyone in the
workspace reads and edits these notes. Workspaces/ is there even before
you join one.Notes anywhere else in the vault stay on this device. The status lists them as
not syncing, and SCN Sync offers to move a new note or folder into Private/;
nothing moves unless you say so. Obsidian puts new notes, daily notes and
notes made from a link at the top of the vault by default, so SCN Sync points
them at Private/ once, and says so; change it back under Obsidian's Files
and links settings. SCN Sync also replaces Obsidian's Welcome.md with its
own, which stays on this device. Joining a workspace adds
its folder; leaving one stops it syncing and keeps its files. Moving a note
from one workspace's folder into another's asks first, and makes it a new
note there. Workspace folders are named and removed in Corliss, so renaming or deleting
one here is undone.
Updating from 1.0 moves the notes you had connected into
Private/. Since 1.2 each member has one Private workspace, at Private/
itself: one synced at Private/<name>/ moves up into Private/ once SCN
Notes lists it there, with nothing downloaded or uploaded again.
Updating to 1.3 moves the saved address from sync.<domain> to
notes.<domain>, and asks you to sign in once more: a sign-in is for one
address. A version of SCN Sync that SCN Notes is retiring says so, with the
date to update by.
SCN Sync contacts two services and nothing else:
It sends no telemetry, and does not install or update itself or its dependencies.
Notes are stored on SCN Notes as Automerge documents. They are not encrypted at rest.
npm install
npm test
npm run build
npm run build type-checks and writes main.js at the repo root. npm run dev rebuilds it on every change. A release is cut with
gh release create X.Y.Z --generate-notes, the tag a bare version matching
manifest.json. Publishing it runs GitHub Actions, which builds from the
tagged commit after npm ci and the tests, and attaches main.js,
manifest.json and styles.css with GitHub artifact attestations. The
release is installable once they are attached.
main.js is about 5 MB because Automerge's WebAssembly is inlined in it as
base64. It comes from @automerge/automerge 3.5.0, the file
automerge.wasm.base64, pinned in package-lock.json. The tests run under Node's own test
runner, with no framework, and cover what does not need Obsidian.
To load a development build on a laptop, make a new, empty Obsidian vault and link this repo in as its plugin folder:
ln -s "$PWD" "<vault>/.obsidian/plugins/scn-sync"
Then enable SCN Sync under Community plugins and reload Obsidian after each build.
The design is in the spec at
docs/specs/0001-spec-scn-sync/.
Bugs and requests go to this repo's issues on GitHub.
| Thing | Value |
|---|---|
| Repo | scn-obsidian |
| Plugin id | scn-sync |
| Plugin name | SCN Sync |
| Sign-in redirect | obsidian://scn-obsidian |
Obsidian's community directory does not accept a plugin id containing
obsidian, which is why the plugin and the repo have different names.
Apache-2.0. See LICENSE.