mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-05-11 18:21:50 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9965d123bd | ||
|
|
b1c045937b | ||
|
|
a4fdcf9540 | ||
|
|
a9f06a3ae7 | ||
|
|
0946b1e012 |
32
README.md
32
README.md
@@ -43,20 +43,38 @@ Note: Please read "Limitations" carefully. Do not send your private vault.
|
|||||||
Available from on Chrome Web Store:[obsidian-livesync-webclip](https://chrome.google.com/webstore/detail/obsidian-livesync-webclip/jfpaflmpckblieefkegjncjoceapakdf)
|
Available from on Chrome Web Store:[obsidian-livesync-webclip](https://chrome.google.com/webstore/detail/obsidian-livesync-webclip/jfpaflmpckblieefkegjncjoceapakdf)
|
||||||
Repo is here: [obsidian-livesync-webclip](https://github.com/vrtmrz/obsidian-livesync-webclip). (Docs are work in progress.)
|
Repo is here: [obsidian-livesync-webclip](https://github.com/vrtmrz/obsidian-livesync-webclip). (Docs are work in progress.)
|
||||||
|
|
||||||
## When your database looks corrupted
|
## When your database looks corrupted or too heavy to replicate to a new device.
|
||||||
|
|
||||||
obsidian-livesync changes data treatment of markdown files since 0.1.0
|
obsidian-livesync changes data treatment of markdown files since 0.1.0
|
||||||
When you are troubled with synchronization, **Please reset local and remote databases**.
|
When you are troubled with synchronization, **Please reset local and remote databases**.
|
||||||
_Note: Without synchronization, your files won't be deleted._
|
_Note: Without synchronization, your files won't be deleted._
|
||||||
|
|
||||||
|
1. Update plugin on all devices.
|
||||||
1. Disable any synchronizations on all devices.
|
1. Disable any synchronizations on all devices.
|
||||||
2. From the most reliable device<sup>(_The device_)</sup>, back your vault up.
|
1. From the most reliable device<sup>(_The device_)</sup>, back your vault up.
|
||||||
3. Click "Reset local database" on all devices.
|
1. Press "Drop History"-> "Execute" button from _The device_.
|
||||||
4. From _The device_ click "Reset remote database".
|
1. Wait for a while, so obsidian-livesync will say "completed."
|
||||||
5. From _The device_ click "Init Database again".
|
1. In other devices, replication will be canceled automatically. Click "Reset local database" and click "I'm ready, mark this device 'resolved'" on all devices.
|
||||||
6. Enable any sync or Hit the Replication button.
|
If it doesn't be shown. replicate once.
|
||||||
|
1. It's all done. But if you are sure to resolve all devices and the warning is noisy, click "I'm ready, unlock the database". it unlocks the database completely.
|
||||||
|
|
||||||
|
# Designed architecture
|
||||||
|
|
||||||
|
## How does this plugin synchronize.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
1. When notes are created or modified, Obsidian raises some events. obsidian-live-sync catch these events and reflect changes into Local PouchDB.
|
||||||
|
2. PouchDB automatically or manually replicates changes to remote CouchDB.
|
||||||
|
3. Another device is watching remote CouchDB's changes, so retrieve new changes.
|
||||||
|
4. obsidian-live-sync reflects replicated changeset into Obsidian's vault.
|
||||||
|
|
||||||
|
Note: The figure is drawn as single-directional, between two devices. But everything occurs bi-directionally between many devices at once in real.
|
||||||
|
|
||||||
|
## Techniques to keep bandwidth low.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
And wait for a minute. your data will be uploaded and synchronized with all devices again.
|
|
||||||
|
|
||||||
## Cloudant Setup
|
## Cloudant Setup
|
||||||
|
|
||||||
|
|||||||
BIN
images/1.png
Normal file
BIN
images/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
BIN
images/2.png
Normal file
BIN
images/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 223 KiB |
3
main.ts
3
main.ts
@@ -1482,8 +1482,7 @@ export default class ObsidianLiveSyncPlugin extends Plugin {
|
|||||||
Logger(msg);
|
Logger(msg);
|
||||||
await this.app.vault.trigger("modify", file);
|
await this.app.vault.trigger("modify", file);
|
||||||
}
|
}
|
||||||
}
|
} else if (doc.datatype == "plain") {
|
||||||
if (doc.datatype == "plain") {
|
|
||||||
if (!isValidPath(doc._id)) {
|
if (!isValidPath(doc._id)) {
|
||||||
Logger(`The file that having platform dependent name has been arrived. This file has skipped: ${doc._id}`, LOG_LEVEL.NOTICE);
|
Logger(`The file that having platform dependent name has been arrived. This file has skipped: ${doc._id}`, LOG_LEVEL.NOTICE);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "obsidian-livesync",
|
"id": "obsidian-livesync",
|
||||||
"name": "Obsidian Live sync",
|
"name": "Obsidian Live sync",
|
||||||
"version": "0.1.7",
|
"version": "0.1.8",
|
||||||
"minAppVersion": "0.9.12",
|
"minAppVersion": "0.9.12",
|
||||||
"description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
|
"description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
|
||||||
"author": "vorotamoroz",
|
"author": "vorotamoroz",
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "obsidian-livesync",
|
"name": "obsidian-livesync",
|
||||||
"version": "0.1.7",
|
"version": "0.1.8",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "obsidian-livesync",
|
"name": "obsidian-livesync",
|
||||||
"version": "0.1.7",
|
"version": "0.1.8",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"diff-match-patch": "^1.0.5",
|
"diff-match-patch": "^1.0.5",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "obsidian-livesync",
|
"name": "obsidian-livesync",
|
||||||
"version": "0.1.7",
|
"version": "0.1.8",
|
||||||
"description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
|
"description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user