From 6b59c14774cde5d5ac69367cff0d22058b900db4 Mon Sep 17 00:00:00 2001 From: vorotamoroz Date: Wed, 28 Feb 2024 08:29:06 +0000 Subject: [PATCH] Update doc --- docs/troubleshooting.md | 48 ++++++++++++++++++++++++++++++++-------- images/hatch.png | Bin 0 -> 13423 bytes 2 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 images/hatch.png diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 1d40ebb..71852ad 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -1,10 +1,22 @@ # Tips and Troubleshooting -- [Notable bugs and fixes](#notable-bugs-and-fixes) -- [FAQ](#faq) -- [Troubleshooting](#troubleshooting) -- [Tips](#tips) + +- [Tips and Troubleshooting](#tips-and-troubleshooting) + - [Notable bugs and fixes](#notable-bugs-and-fixes) + - [Binary files get bigger on iOS](#binary-files-get-bigger-on-ios) + - [Some setting name has been changed](#some-setting-name-has-been-changed) + - [FAQ](#faq) + - [Why `Use an old adapter for compatibility` is somehow enabled in my vault?](#why-use-an-old-adapter-for-compatibility-is-somehow-enabled-in-my-vault) + - [ZIP (or any extensions) files were not synchronised. Why?](#zip-or-any-extensions-files-were-not-synchronised-why) + - [I hope to report the issue, but you said you needs `Report`. How to make it?](#i-hope-to-report-the-issue-but-you-said-you-needs-report-how-to-make-it) + - [If a file were deleted or trimmed, the capacity of the database was reduced, right?](#if-a-file-were-deleted-or-trimmed-the-capacity-of-the-database-was-reduced-right) + - [Troubleshooting](#troubleshooting) + - [On the mobile device, cannot synchronise on the local network!](#on-the-mobile-device-cannot-synchronise-on-the-local-network) + - [I think that something bad happening on the vault...](#i-think-that-something-bad-happening-on-the-vault) + - [Tips](#tips) + - [Old tips](#old-tips) + @@ -39,20 +51,38 @@ When you rebuild everything or fetch from the remote again, you will be asked to Therefore, experienced users (especially those stable enough not to have to rebuild the database) may have this toggle enabled in their Vault. Please disable it when you have enough time. +### ZIP (or any extensions) files were not synchronised. Why? +It depends on Obsidian detects. May toggling `Detect all extensions` of `File and links` (setting of Obsidian) will help us. + +### I hope to report the issue, but you said you needs `Report`. How to make it? +We can copy the report to the clipboard, by pressing the `Make report` button on the `Hatch` pane. +![Screenshot](../images/hatch.png) + +### If a file were deleted or trimmed, the capacity of the database was reduced, right? +No, even though if files were deleted, chunks were not deleted. +Self-hosted LiveSync splits the files into multiple chunks and transfers only newly created. This behaviour enables us to less traffic. And, the chunks will be shared between the files to reduce the total usage of the database. + +And one more thing, we can handle the conflicts on any device even though it has happened on other devices. This means that conflicts will happen in the past, after the time we have synchronised. Hence we cannot collect and delete the unused chunks even though if we are not currently referenced. + +To shrink the database size, `Rebuild everything` only reliably and effectively. But do not worry, if we have synchronised well. We have the actual and real files. Only it takes a bit of time and traffics. + ## Troubleshooting +### On the mobile device, cannot synchronise on the local network! +Obsidian mobile is not able to connect to the non-secure end-point, such as starting with `http://`. Make sure your URI of CouchDB. Also not able to use a self-signed certificate. + +### I think that something bad happening on the vault... +Place `redflag.md` on top of the vault, and restart Obsidian. The most simple way is to create a new note and rename it to `redflag`. Of course, we can put it without Obsidian. + +If there is `redflag.md`, Self-hosted LiveSync suspends all database and storage processes. + ## Tips ### Old tips -- If a folder becomes empty after a replication, it will be deleted by default. But you can toggle this behaviour. Check the [Settings](settings.md). -- LiveSync mode drains more batteries in mobile devices. Periodic sync with some automatic sync is recommended. -- Mobile Obsidian can not connect to non-secure (HTTP) or locally-signed servers, even if the root certificate is installed on the device. -- There are no 'exclude_folders' like configurations. -- While synchronizing, files are compared by their modification time and the older ones will be overwritten by the newer ones. Then plugin checks for conflicts and if a merge is needed, a dialog will open. - Rarely, a file in the database could be corrupted. The plugin will not write to local storage when a file looks corrupted. If a local version of the file is on your device, the corruption could be fixed by editing the local file and synchronizing it. But if the file does not exist on any of your devices, then it can not be rescued. In this case, you can delete these items from the settings dialog. - To stop the boot-up sequence (eg. for fixing problems on databases), you can put a `redflag.md` file (or directory) at the root of your vault. Tip for iOS: a redflag directory can be created at the root of the vault using the File application. diff --git a/images/hatch.png b/images/hatch.png new file mode 100644 index 0000000000000000000000000000000000000000..45b3d38e69f080d2360c2f079095417e96537243 GIT binary patch literal 13423 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