But ... on my other Linux there is a Joplin 2.12.17 (prhocd, linux) client ... with a Switch Profile submenu.
They use different repositories.
O.k. I have to look why there was no update on the one Linux
I get the full logs of my hosted Nextcloud from my hosting provider.
Then I will see if I can do something with them.
My thought is that I should be able to compare the log entries of the NextCloud logs and the various Joplin App logs based on the timestamps and discover something that way.
I will now begin my layman's analysis of the information available to me.
First some research with the help of Google
https://www.google.com/search?client=firefox-b-d&q=Code%3A+409+Error%3A+MKCOL+locks
One of the pieces of information I found via Google is
If the 409 Conflict HTTP status code is returned by the server then it means that the collection cannot be created because one or more intermediate collections do not exist. The server will not create intermediate collections automatically.
Can you tell me what information the Joplin (Android) app tries to WRITE to the WebDAV server when the profile credetials are changed in the app?
The 409 error should be connected to a write operation ("PUT" ? ), if I understand correctly.
In the NextCloud logs, it is noticeable that most of the actions were carried out via my IPv6 address, but some were carried out via my IPv4 address. Do you have any idea when which version is used / which IP stack is used?
Another question I have now is how can I tell which action is coming from which of my clients.
During the time in question, I was using Android, Windows and two different Linux apps.
The Windows Joplin app seems to deliver entries with
(Nextcloud, windows-10.0.19045 ClientArchitecture: x86_64 OsArchitecture: x86_64)
But which app might have entries with
(X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0"
and
(Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0"
which come one after the other, so that I almost suspect that they come from one and the same app. Is it possible that this is how the Android app appears?
It must be, because I wasn't using the Linux apps at the time. Unless there was some kind of synchronisation process.
Could the substring
(409): . O"
or perhaps also
(409): . 0"
mean that at some point when changing the profile information in the app, a procedure is run that requires a certain variable with path information to be set, but which is not (any longer) set at that point?
The logs I currently have of my NextCloud instance seem to contain only successful actions, but unfortunately no details of error situations. I have asked my provider if a verbose mode could be activated for a while, which also logs details of errors.
Probability 50%
The problem is not new in connection with Joplin:
Perhaps because other procedures have then refilled a necessary variable?
After ~15 minutes without a profile change, a synchronisation is completed successfully and quickly without any action other than waiting.
Description
Some WebDAV clients that create collections do that without including the trailing slash. The logs offer no further explanation, and to a casual user the 409 error is confusing (as it indicates that the parent collection is absent).
RFC4918 recommends them to have a trailing slash, but given that several applications don't send a trailing slash, it stands to reason that it's common for servers to accept it. Section 5.2 even gives concrete guidance that in such a case, the server should accept and send a Content-Location header ("There is a standing convention").
Example clients that don't are webdav-js (GitHub - dom111/webdav-js: A simple WebDAV client written in JS for use as a bookmarklet, or integration into a web server.) and Stratospherix FileBrowser for Business; some examples are around for other clients that employ workarounds (eg. Does not play nice with nginx WebDAV · Issue #523 · laurent22/joplin · GitHub).
I am currently clarifying with my provider whether my NextCloud runs in or with an nginx.
yes, we use the official nginx configuration as a base here:
NGINX configuration — Nextcloud latest Administration Manual latest documentation
I had probably installed Joplin manually once.
Have now installed the current Joplin normally after deleting the old, manually installed version as described on 20.04 - How to uninstall Joplin if you don't know how it was installed? - Ask Ubuntu
( I did a reboot after uninstalling before reinstalling the package. )
Joplin is often installed manually, though there are Snap and Flatpak options available. To remove a manually installed Joplin installation, you can follow these steps:
Open Terminal (if it’s not already open) Remove Joplin: sudo rm -r ~/.joplin sudo rm -r ~/.config/joplin-desktop sudo rm ~/.local/share/applications/appimagekit-joplin.desktop Enjoy a coffee
@laurent , can you please answer this question for me as well?
2023-10-22 - Interim report
This issue only occurs with the Joplin app for Android.
This problem does not occur with the Joplin app for Windows or the Joplin app for Linux.
Even if I evaluate the detailed log files of the NextCloud server, I cannot determine the exact cause of the error.
However, I am sure that I can reproduce the error with a newly installed Joplin app on Android.
Can I somehow provide you with detailed information about this in a personal message without communicating all the details of certain personal data here in public?
For support queries please post them here so that other contributors can help too (and the forum also serves as a knowledge base). If there's private data in a log, you can remove it before posting it
Then, for the further tests and documentation of this topic, I will temporarily create a separate NextCloud with its own domain and user IDs at my hosting provider, which I will delete again at the end. Then I won't have to worry about personal data being transported via the associated log files of future tests.
START of the 2023-10-24 documentation
2023-10-24 – V001 - New test scenario for
Is there a tricky bug in the implementation of the profiles in the Joplin Android app?
A WebDAV connection to a managed Nextcloud 100, version 26.0.6 of the provider hosting.de is used. When I asked if my NextCloud runs in / with an nginx webserver I got the answer
» yes, we use the official nginx configuration as a basis:
NGINX configuration — Nextcloud latest Administration Manual latest documentation .
«
Two user IDs have been created on the NextCloud instance I have temporarily commissioned for this purpose:
A-User
B-User
For each of these user IDs, a new profile was successfully set up in a Joplin Windows app and a Joplin Linux app. The access data including the WebDAV path to the user's Joplin directory were documented in a password safe, which was also synchronised with the Android test device. This ensured that the identical access data was used in every case.
Android - test device is a Samsung Galaxy S23 Ultra with Android 13 and a Joplin Android app "Joplin 2.12.3" newly installed from the Google Play Store before each of the tests.