NOTE: This document surely became outdated. I'll improve this doc in a while. but your contributions are always welcome.
The settings dialog has been quite long, so I split each configuration into tabs.
If you feel something, please feel free to inform me.
icon | description |
---|---|
🛰️ | Remote Database Configurations |
📦 | Local Database Configurations |
⚙️ | General Settings |
🔁 | Sync Settings |
🔧 | Miscellaneous |
🧰 | Hatch |
🔌 | Plugin and its settings |
🚑 | Corrupted data |
Configure the settings of synchronize server. If any synchronization is enabled, you can't edit this section. Please disable all synchronization to change.
URI of CouchDB. In the case of Cloudant, It's "External Endpoint(preferred)".
Do not end it up with a slash when it doesn't contain the database name.
Your CouchDB's Username. Administrator's privilege is preferred.
Your CouchDB's Password.
Note: This password is saved into your Obsidian's vault in plain text.
The Database name to synchronize.
Encrypt your database. It affects only the database, your files are left as plain.
The encryption algorithm is AES-GCM.
Note: If you want to use "Plugins and their settings", you have to enable this.
The passphrase to used as the key of encryption. Please use the long text.
Set the End to End encryption enabled and its passphrase for use in replication.
If you change the passphrase of an existing database, overwriting the remote database is strongly recommended.
Overwrite the remote database with the local database using the passphrase you applied.
Rebuild remote and local databases with local files. It will delete all document history and retained chunks, and shrink the database.
You can check the connection by clicking this button.
You can check and modify your CouchDB configuration from here directly.
Other devices are banned from the database when you have locked the database.
If you have something troubled with other devices, you can protect the vault and remote database with your device.
"Local Database" is created inside your obsidian.
Delay database update until raise replication, open another file, window visibility changes, or file events except for file modification.
This option can not be used with LiveSync at the same time.
If one device rebuilds or locks the remote database, every other device will be locked out from the remote database until it fetches rebuilt DB.
The configuration of chunk splitting.
Self-hosted LiveSync splits the note into chunks for efficient synchronization. This chunk should be longer than the "Minimum chunk size".
Specifically, the length of the chunk is determined by the following orders.
-
Find the nearest newline character, and if it is farther than LongLineThreshold, this piece becomes an independent chunk.
-
If not, find the nearest to these items.
- A newline character
- An empty line (Windows style)
- An empty line (non-Windows style)
-
Compare the farther in these 3 positions and the next "newline]#" position, and pick a shorter piece as a chunk.
This rule was made empirically from my dataset. If this rule acts as badly on your data. Please give me the information.
You can dump saved note structure to Dump informations of this doc
. Replace every character with x except newline and "#" when sending information to me.
The default values are 20 letters and 250 letters.
If you enable this option, log only the entries with the popup.
Do LiveSync.
It is the one of raison d'être of this plugin.
Useful, but this method drains many batteries on the mobile and uses not the ignorable amount of data transfer.
This method is exclusive to other synchronization methods.
Synchronize periodically.
Unit is seconds.
Synchronize when the note has been modified or created.
Synchronize when the note is opened.
Synchronize when Obsidian started.
When the file has been deleted on remote devices, deletion will be replicated to the local device and the file will be deleted.
If this option is enabled, move deleted files into the trash instead delete actually.
Self-hosted LiveSync will delete the folder when the folder becomes empty. If this option is enabled, leave it as an empty folder.
Always use the newer file to resolve and overwrite when conflict has occurred.
Sync hidden files
Synchronize hidden files.
-
Scan hidden files before replication. If you enable this option, all hidden files are scanned once before replication.
-
Scan hidden files periodicaly. If you enable this option, all hidden files will be scanned each [n] seconds.
Hidden files are not actively detected, so we need scanning.
Each scan stores the file with their modification time. And if the file has been disappeared, the fact is also stored. Then, When the entry of the hidden file has been replicated, it will be reflected in the storage if the entry is newer than storage.
Therefore, the clock must be adjusted. If the modification time is determined to be older, the changeset will be skipped or cancelled (It means, deleted), even if the file spawned in a hidden folder.
Self-hosted LiveSync using PouchDB and synchronizes with the remote by this protocol. So, it splits every entry into chunks to be acceptable by the database with limited payload size and document size.
However, it was not enough. According to 2.4.2.5.2. Upload Batch of Changed Documents in Replicate Changes, it might become a bigger request.
Unfortunately, there is no way to deal with this automatically by size for every request. Therefore, I made it possible to configure this.
Note: If you set these values lower number, the number of requests will increase.
Therefore, if you are far from the server, the total throughput will be low, and the traffic will increase.
Number of change feed items to process at a time. Defaults to 250.
Number of batches to process at a time. Defaults to 40. This along with batch size controls how many docs are kept in memory at a time.
Show information inside the editor pane. It would be useful for mobile.
Check all chunks are correctly saved on saving.
You can set synchronization method at once as these pattern:
- LiveSync
- LiveSync : enabled
- Batch database update : disabled
- Periodic Sync : disabled
- Sync on Save : disabled
- Sync on File Open : disabled
- Sync on Start : disabled
- Periodic w/ batch
- LiveSync : disabled
- Batch database update : enabled
- Periodic Sync : enabled
- Sync on Save : disabled
- Sync on File Open : enabled
- Sync on Start : enabled
- Disable all sync
- LiveSync : disabled
- Batch database update : disabled
- Periodic Sync : disabled
- Sync on Save : disabled
- Sync on File Open : disabled
- Sync on Start : disabled
From here, everything is under the hood. Please handle it with care.
When there are problems with synchronization, the warning message is shown Under this section header.
-
Pattern 1
This message is shown when the remote database is locked and your device is not marked as "resolved".
Almost it is happened by enabling End-to-End encryption or History has been dropped.
If you enabled End-to-End encryption, you can unlock the remote database by "Apply and receive" automatically. Or "Drop and receive" when you dropped. If you want to unlock manually, click "mark this device as resolved". -
Pattern 2
The remote database indicates that has been unlocked Pattern 1.
When you mark all devices as resolved, you can unlock the database. But, there's no problem even if you leave it as it is.
read all files in the vault, and update them into the database if there's diff or could not read from the database.
If enable this option, Self-hosted LiveSync dismisses every file change or deletes the event.
From here, these commands are used inside applying encryption passphrases or dropping histories.
Usually, doesn't use it so much. But sometimes it could be handy.
If you want to use this feature, you have to activate this feature by this switch.
Plugin sweep will run before replication automatically.
Plugin sweep will run each 1 minute.
When replication is complete, a message will be notified if a newer version of the plugin applied to this device is configured on another device.
To save the plugins, you have to set a unique name every each device.
Open the "Plugins and their settings" dialog.
When Self-hosted LiveSync could not write to the file on the storage, the files are shown here. If you have the old data in your vault, change it once, it will be cured. Or you can use the "File History" plugin.