mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-09-03 17:27:06 +00:00
1.5 KiB
1.5 KiB
Designed architecture
How does this plug-in synchronise.
- When notes are created or modified, Obsidian raises some events. Self-hosted LiveSync catches these events and reflects changes into Local PouchDB.
- PouchDB automatically or manually replicates changes to remote CouchDB.
- Another device is watching remote CouchDB's changes, so retrieve new changes.
- Self-hosted LiveSync reflects replicated changeset into Obsidian's vault.
Note: The figure is drawn as single-directional, between two devices for demonstration purposes. Everything actually occurs bi-directionally between many devices at the same time.
Current technical references
- Database Data Structures describes current Metadata and Chunk shapes, identifier handling, deletion, and raw remote representations.
- Replicator architecture describes provider composition, active Replicator publication, retirement, and P2P ownership.
- Conflict resolution and revision provenance defines the current revision-tree and file-provenance rules.
- Chunk Retrieval and Waiting defines missing-Chunk arrival and quiescence handling.
- Data Compression and Garbage Collection V3 describe their respective storage and maintenance contracts.

