From cfb061a6a2ed8e481d530807845a2b2681710a94 Mon Sep 17 00:00:00 2001 From: vorotamoroz Date: Wed, 23 Apr 2025 05:10:40 +0100 Subject: [PATCH] add note to troubleshooting --- docs/all_toggles.png | Bin 0 -> 7517 bytes docs/troubleshooting.md | 274 ++++++++++++++++++++++++++++++---------- 2 files changed, 209 insertions(+), 65 deletions(-) create mode 100644 docs/all_toggles.png diff --git a/docs/all_toggles.png b/docs/all_toggles.png new file mode 100644 index 0000000000000000000000000000000000000000..16a02523abb4549f88d598f7afb4a5747def28f0 GIT binary patch literal 7517 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 literal 0 HcmV?d00001 diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index fbaf1a5..75b452e 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -1,8 +1,15 @@ - - # Tips and Troubleshooting - [Tips and Troubleshooting](#tips-and-troubleshooting) + - [Tips](#tips) + - [CORS configuration with reverse proxy](#cors-configuration-with-reverse-proxy) + - [Nginx](#nginx) + - [Nginx and subdirectory](#nginx-and-subdirectory) + - [Caddy](#caddy) + - [Caddy and subdirectory](#caddy-and-subdirectory) + - [Apache](#apache) + - [Show all setting panes](#show-all-setting-panes) + - [How to resolve `Tweaks Mismatched of Changed`](#how-to-resolve-tweaks-mismatched-of-changed) - [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) @@ -19,19 +26,124 @@ - [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) - - [How to resolve `Tweaks Mismatched of Changed`](#how-to-resolve-tweaks-mismatched-of-changed) - [Old tips](#old-tips) +## Tips + +### CORS configuration with reverse proxy + +- IMPORTANT: CouchDB handles CORS by itself. Do not process CORS on the reverse + proxy. + - Do not process `Option` requests on the reverse proxy! + - Make sure `host` and `X-Forwarded-For` headers are forwarded to the CouchDB. + - If you are using a subdirectory, make sure to handle it properly. + +Minimal configurations are as follows: + +#### Nginx + +```nginx +location / { + proxy_pass http://localhost:5984; + proxy_redirect off; + proxy_buffering off; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +} +``` + +#### Nginx and subdirectory + +```nginx +location /couchdb { + rewrite ^ $request_uri; + rewrite ^/couchdb/(.*) /$1 break; + proxy_pass http://localhost:5984$uri; + proxy_redirect off; + proxy_buffering off; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +} + +location /_session { + proxy_pass http://localhost:5984/_session; + proxy_redirect off; + proxy_buffering off; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +} +``` + +#### Caddy + +```caddyfile +domain.com { + reverse_proxy localhost:5984 +} +``` + +#### Caddy and subdirectory + +```caddyfile +domain.com { + reverse_proxy /couchdb/* localhost:5984 + reverse_proxy /_session/* localhost:5984/_session +} +``` + +#### Apache + +Sorry, Apache is not recommended for CouchDB. Omit the configuration from here. +Please refer to the [Official documentation](https://docs.couchdb.org/en/stable/best-practices/reverse-proxies.html#reverse-proxying-with-apache-http-server). + +### Show all setting panes + +Full pane is not shown by default. To show all panes, please toggle all in +`🧙‍♂️ Wizard` -> `Enable extra and advanced features`. + +For your information, the all panes are as follows: +![All Panes](all_toggles.png) + +### How to resolve `Tweaks Mismatched of Changed` + +(Since v0.23.17) + +If you have changed some configurations or tweaks which should be unified +between the devices, you will be asked how to reflect (or not) other devices at +the next synchronisation. It also occurs on the device itself, where changes are +made, to prevent unexpected configuration changes from unwanted propagation.\ +(We may thank this behaviour if we have synchronised or backed up and restored +Self-hosted LiveSync. At least, for me so). + +Following dialogue will be shown: ![Dialogue](tweak_mismatch_dialogue.png) + +- If we want to propagate the setting of the device, we should choose + `Update with mine`. +- On other devices, we should choose `Use configured` to accept and use the + configured configuration. +- `Dismiss` can postpone a decision. However, we cannot synchronise until we + have decided. + +Rest assured that in most cases we can choose `Use configured`. (Unless you are +certain that you have not changed the configuration). + +If we see it for the first time, it reflects the settings of the device that has +been synchronised with the remote for the first time since the upgrade. +Probably, we can accept that. + + + ## Notable bugs and fixes ### Binary files get bigger on iOS - Reported at: v0.20.x - Fixed at: v0.21.2 (Fixed but not reviewed) -- Required action: larger files will not be fixed automatically, please perform `Verify and repair all files`. If our local database and storage are not matched, we will be asked to apply which one. +- Required action: larger files will not be fixed automatically, please perform + `Verify and repair all files`. If our local database and storage are not + matched, we will be asked to apply which one. ### Some setting name has been changed @@ -48,39 +160,50 @@ ### Why `Use an old adapter for compatibility` is somehow enabled in my vault? -Because you are a compassionate and experienced user. Before v0.17.16, we used an old adapter for the local database. At that time, current default adapter has not been stable. -The new adapter has better performance and has a new feature like purging. Therefore, we should use new adapters and current default is so. +Because you are a compassionate and experienced user. Before v0.17.16, we used +an old adapter for the local database. At that time, current default adapter has +not been stable. The new adapter has better performance and has a new feature +like purging. Therefore, we should use new adapters and current default is so. -However, when switching from an old adapter to a new adapter, some converting or local database rebuilding is required, and it takes a few time. It was a long time ago now, but we once inconvenienced everyone in a hurry when we changed the format of our database. -For these reasons, this toggle is automatically on if we have upgraded from vault which using an old adapter. +However, when switching from an old adapter to a new adapter, some converting or +local database rebuilding is required, and it takes a few time. It was a long +time ago now, but we once inconvenienced everyone in a hurry when we changed the +format of our database. For these reasons, this toggle is automatically on if we +have upgraded from vault which using an old adapter. -When you rebuild everything or fetch from the remote again, you will be asked to switch this. +When you rebuild everything or fetch from the remote again, you will be asked to +switch this. -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. +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. +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) +We can copy the report to the clipboard, by pressing the `Make report` button on +the `Hatch` pane. ![Screenshot](../images/hatch.png) ### Where can I check the log? -We can launch the log pane by `Show log` on the command palette. -And if you have troubled something, please enable the `Verbose Log` on the `General Setting` pane. +We can launch the log pane by `Show log` on the command palette. And if you have +troubled something, please enable the `Verbose Log` on the `General Setting` +pane. -However, the logs would not be kept so long and cleared when restarted. If you want to check the logs, please enable `Write logs into the file` temporarily. +However, the logs would not be kept so long and cleared when restarted. If you +want to check the logs, please enable `Write logs into the file` temporarily. ![ScreenShot](../images/write_logs_into_the_file.png) > [!IMPORTANT] > > - Writing logs into the file will impact the performance. -> - Please make sure that you have erased all your confidential information before reporting issue. +> - Please make sure that you have erased all your confidential information +> before reporting issue. ### Why are the logs volatile and ephemeral? @@ -88,26 +211,38 @@ To avoid unexpected exposure to our confidential things. ### Some network logs are not written into the file. -Especially the CORS error will be reported as a general error to the plug-in for security reasons. So we cannot detect and log it. We are only able to investigate them by [Checking the network log](#checking-the-network-log). +Especially the CORS error will be reported as a general error to the plug-in for +security reasons. So we cannot detect and log it. We are only able to +investigate them by [Checking the network log](#checking-the-network-log). ### If a file were deleted or trimmed, the capacity of the database should be 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. +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. +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. +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. ### How can I use the DevTools? #### Checking the network log 1. Open the network pane. -2. Find the requests marked in red. +2. Find the requests marked in red.\ ![Errored](../images/devtools1.png) -3. Capture the `Headers`, `Payload`, and, `Response`. **Please be sure to keep important information confidential**. If the `Response` contains secrets, you can omitted that. - Note: Headers contains a some credentials. **The path of the request URL, Remote Address, authority, and authorization must be concealed.** +3. Capture the `Headers`, `Payload`, and, `Response`. **Please be sure to keep + important information confidential**. If the `Response` contains secrets, you + can omitted that. Note: Headers contains a some credentials. **The path of + the request URL, Remote Address, authority, and authorization must be + concealed.**\ ![Concealed sample](../images/devtools2.png) ## Troubleshooting @@ -116,13 +251,18 @@ To shrink the database size, `Rebuild everything` only reliably and effectively. ### 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. +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. +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. +If there is `redflag.md`, Self-hosted LiveSync suspends all database and storage +processes. There are some options to use `redflag.md`. @@ -132,44 +272,48 @@ There are some options to use `redflag.md`. | `redflag2.md` | `flag_rebuild.md` | Suspends all processes, and rebuild both local and remote databases by local files. | | `redflag3.md` | `flag_fetch.md` | Suspends all processes, discard the local database, and fetch from the remote again. | -When fetching everything remotely or performing a rebuild, restarting Obsidian is performed once for safety reasons. At that time, Self-hosted LiveSync uses these files to determine whether the process should be carried out. -(The use of normal markdown files is a trick to externally force cancellation in the event of faults in the rebuild or fetch function itself, especially on mobile devices). -This mechanism is also used for set-up. And just for information, these files are also not subject to synchronisation. +When fetching everything remotely or performing a rebuild, restarting Obsidian +is performed once for safety reasons. At that time, Self-hosted LiveSync uses +these files to determine whether the process should be carried out. (The use of +normal markdown files is a trick to externally force cancellation in the event +of faults in the rebuild or fetch function itself, especially on mobile +devices). This mechanism is also used for set-up. And just for information, +these files are also not subject to synchronisation. -However, occasionally the deletion of files may fail. This should generally work normally after restarting Obsidian. (As far as I can observe). - -## Tips - -### How to resolve `Tweaks Mismatched of Changed` - -(Since v0.23.17) - -If you have changed some configurations or tweaks which should be unified between the devices, you will be asked how to reflect (or not) other devices at the next synchronisation. It also occurs on the device itself, where changes are made, to prevent unexpected configuration changes from unwanted propagation. -(We may thank this behaviour if we have synchronised or backed up and restored Self-hosted LiveSync. At least, for me so). - -Following dialogue will be shown: -![Dialogue](tweak_mismatch_dialogue.png) - -- If we want to propagate the setting of the device, we should choose `Update with mine`. -- On other devices, we should choose `Use configured` to accept and use the configured configuration. -- `Dismiss` can postpone a decision. However, we cannot synchronise until we have decided. - -Rest assured that in most cases we can choose `Use configured`. (Unless you are certain that you have not changed the configuration). - -If we see it for the first time, it reflects the settings of the device that has been synchronised with the remote for the first time since the upgrade. Probably, we can accept that. - - +However, occasionally the deletion of files may fail. This should generally work +normally after restarting Obsidian. (As far as I can observe). ### Old tips -- 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. -- Also, with `redflag2.md` placed, we can automatically rebuild both the local and the remote databases during the boot-up sequence. With `redflag3.md`, we can discard only the local database and fetch from the remote again. -- Q: The database is growing, how can I shrink it down? - A: each of the docs is saved with their past 100 revisions for detecting and resolving conflicts. Picturing that one device has been offline for a while, and comes online again. The device has to compare its notes with the remotely saved ones. If there exists a historic revision in which the note used to be identical, it could be updated safely (like git fast-forward). Even if that is not in revision histories, we only have to check the differences after the revision that both devices commonly have. This is like git's conflict-resolving method. So, We have to make the database again like an enlarged git repo if you want to solve the root of the problem. +- 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. +- Also, with `redflag2.md` placed, we can automatically rebuild both the local + and the remote databases during the boot-up sequence. With `redflag3.md`, we + can discard only the local database and fetch from the remote again. +- Q: The database is growing, how can I shrink it down? A: each of the docs is + saved with their past 100 revisions for detecting and resolving conflicts. + Picturing that one device has been offline for a while, and comes online + again. The device has to compare its notes with the remotely saved ones. If + there exists a historic revision in which the note used to be identical, it + could be updated safely (like git fast-forward). Even if that is not in + revision histories, we only have to check the differences after the revision + that both devices commonly have. This is like git's conflict-resolving method. + So, We have to make the database again like an enlarged git repo if you want + to solve the root of the problem. - And more technical Information is in the [Technical Information](tech_info.md) -- If you want to synchronize files without obsidian, you can use [filesystem-livesync](https://github.com/vrtmrz/filesystem-livesync). -- WebClipper is also available on Chrome Web Store:[obsidian-livesync-webclip](https://chrome.google.com/webstore/detail/obsidian-livesync-webclip/jfpaflmpckblieefkegjncjoceapakdf) +- If you want to synchronize files without obsidian, you can use + [filesystem-livesync](https://github.com/vrtmrz/filesystem-livesync). +- WebClipper is also available 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 a work in progress.) +Repo is here: +[obsidian-livesync-webclip](https://github.com/vrtmrz/obsidian-livesync-webclip). +(Docs are a work in progress.)