The problem is not a database corruption, otherwise it would only break 1 client (device). Who is your WebDAV provider and are you on a free or paid plan?
There have been reported issues where WebDAV providers (eg. TabDigital) particularly on free plans have made changes which have caused the data on the server to become corrupted.
Also, if you could include a section of the log file which includes that error, it may give additional details
This Webdav is running on my own VM which I manage, and has been running many, many moons without problem or changes except occasional OS updates. I am seeing the last Apache update on the server happened November of last year, and if that were the cause of breakage, I would have noticed a long time ago. Whatever broke, broke much more recently.
That was instructive.... I could not find logs in the Linux Joplin, but on Android is is clear that DNS is failing, and this seems to be what a DNS failure looks like on Joplin.
On Linux I swapped the domain name out and put the IP address, and it now syncs fine. However, not on Android. The Android log now reports a "Network request failed" error. But since this exact same WebDAV URL with an IP address works fine in Linux Joplin, clearly the server has no problem with this arrangement. It seems to be an Android thing.
Having a search on the forum for the network request failed error seems to indicate an error that gives no additional information in the logs, so I'm now not really hopeful that would give any additional context to the situation.
Despite that you are able to get it to work on Linux now, the fact that you needed to change the connection to use your ip to get it to work suggests something with your network configuration has changed. Network setup is not really something I can help you with as I don't have knowledge in that area.
I did find this page which gives some detail about how you might need to configure your network for self hosting though. You could have a look at that and see if it highlights anything you need to configure differently:
06-20T16:17:12: Synchronizer: Total folders: 87
06-20T16:17:12: Synchronizer: Total notes: 966
06-20T16:17:12: Synchronizer: Total resources: 51
06-20T16:17:12: Synchronizer: Operations completed:
06-20T16:17:12: Synchronizer: Sync: finished: Synchronisation finished [1750407406375]
06-20T16:17:12: Synchronizer: TypeError: Network request failed
TypeError: Network request failed
at anonymous (address at index.android.bundle:1:325626)
at apply (native)
at anonymous (address at index.android.bundle:1:293332)
at _callTimer (address at index.android.bundle:1:292630)
at callTimers (address at index.android.bundle:1:294398)
at apply (native)
at __callFunction (address at index.android.bundle:1:156006)
at anonymous (address at index.android.bundle:1:154311)
at __guard (address at index.android.bundle:1:155267)
at callFunctionReturnFlushedQueue (address at index.android.bundle:1:154269)
06-20T16:16:56: SearchEngine: Updated FTS table in 24ms. Inserted: 0. Deleted: 0
06-20T16:16:56: Updating items_normalized from {"updated_time":0,"id":""}
06-20T16:16:56: SearchEngine: Updating FTS table...
06-20T16:16:50: RevisionService: maintenance: Done in 137ms
is the relevant chunk from the Android log. Note that Android Joplin is reporting sync "finished" / no errors despite not actually connecting to the server, which strikes me as bug all by itself. The only way you would know something went astray (other than noticing that nothing actually synced) is to dig up the log.
So what changed is simply that I did not renew the domain name, as I no longer need it, and now I actually wish to use just the IP address in the WebDAV URL, as I have no other need for a domain name on this VM. There is no NextCloud or "cloud" anything here, this is just Apache configured to provide WebDAV.
Android version is
Joplin Mobile 3.3.10 (prod, android)
Device: android
Client ID: 5694367ba17641aab275127d5fb943d9
Sync Version: 3
Profile Version: 47
Keychain Supported: No
Alternative instance ID: -
The situation is pretty simple: Linux Joplin succeeds in connecting to and syncing with WebDAV using a URL that contains an IP address instead of a domain name. Android fails to connect to the same server with the same URL. I think this should either work on all devices, or not work on all devices.
Both the IOS and Android app use React Native, so there may be restrictions with that:
A couple of things to consider / try:
Make sure the url for your ip address uses https:// and also under advanced settings on the synchronization settings screen, you could try ticking the ignore tls certificate errors option