Sync Questions IOS and Linux Mint

Hello All,

I am using Joplin on IOS (10.0.47) and Linux Mint (1.0.216)

I have a NAS device (Iomega IX2-DL) device which has a WebDAV server built in. The syncing part seems to work, as i see MD files being created from both devices. However they are in a sense two different notebooks. Is there a way to share one notebook between the two devices.

Thanks,

@Panderleaf welcome to the forum.

Assuming your devices are all pointing at the same WebDav target folder / have the same login credentials that is what should be happening.

@dpoulton Hi and thanks.

Meaning one notebook between the same two devices right?

Any way to troubleshoot?

Thanks,

Please don’t take this the wrong way if you think my question is too obvious but when you see md files being created from both devices, are they all appearing together in the same folder on your webdav server?

So i confirmed the paths by deleting the folder, and then on both devices did a check sync. Both devices said the folder didn’t exist.

I’m thinking it might be the webdav server.
Reason is that when i deleted all the files from the webdav folder, recreated the folder and then resync on IOS, The hidden folders were recreated, no md files. But I believe that my notebook on IOS should have been deleted as well right?

Thanks,

This is from the Desktop.
Note 48/1 means that there are 48 notes in the sync area but only one in the desktop? Or is that just a running total? Thanks,

I believe the two numbers on each side should be the same. I think what has happened here is that you have deleted notes directly from your WebDAV folder. However although they are gone there are entries for them in Joplin's database. You now just have a single notebook "abc" with 1 note in it. That has apparently been synced, hence 48/1.

It may be better to start again and get the Linux box working first. I'm writing this from memory as I do not have time to go through this process again making notes. For me Joplin is WebDAV synced to a Nextcloud box and I am assuming your server's WebDAV will operate in a similar manner. So apologies if I have got it wrong for your setup. If you want to wait and see if a far more knowledgable person turns up here to guide you I will not be offended!!!

Mint
You will need to quit Joplin. Proper quit (File > Quit) not minimise to tray.
Move or rename ~/.config/joplin-desktop (or if you have only created test data so far - delete it)
If you have already tried some advanced customising or set up templates SAVE YOUR CSS / TEMPLATE FILES FIRST

IOS
On your IOS device clear the data for the Joplin app (I do not know how to do this as I don't use Apple gear)

Server
In whatever folder you picked for WebDAV on your server create a folder named Joplin. If you have already done that delete anything within it. You are starting again.
From now on never add, edit or delete anything directly in this folder. All changes must come from Joplin

Mint
Start Joplin
It will open up as if just installed with just the default notes.
Don't bother customising Joplin as you may need to do this clearing out again if the webdav link goes awry yet again.
Go to Tools > Options > Synchronisation
A - Select the "WebDAV" sync target
B - Add your WebDAV URL - <your_server_webdav_address>/Joplin
C - Add your WebDAV username
D - Add your WebDAV password
"Check synchronisation configuration"
Any errors will have to be dealt with
Sync
Check your sync stats as you have done above to ensure both "sides" are identical
If all seems OK add a notebook or two and put a test note or two in each
Sync
Look for any errors near the "Synchronise" button during this sync.
Check your sync stats as you have done above to ensure both “sides” are identical
If all is OK...

IOS
Start up the Joplin app
If you have deleted the app data it will open "as new"
Enter the sync details exactly as at A B C & D above.
"Check synchronisation configuration"
Sync
If the IOS device syncs correctly you should see the test notebooks and contents you created on the desktop appear.

As you only have two devices if this all goes wrong consider getting a free Dropbox account and then discovering the joys of setting up End to End Encryption (E2EE) :slight_smile:

Hi @dpoulton,

Thank you so much for the detailed instructions. After following that however i still had the same behavior.

So on the linux desktop in ~/.config/joplin-desktop/log.txt i saw the following:
2020-05-31 17:05:58: “Running background sync on timer…”
2020-05-31 17:05:58: “Scheduling sync operation…”, “0”
2020-05-31 17:05:58: “Preparing scheduled sync”
2020-05-31 17:05:58: “Starting scheduled sync”
2020-05-31 17:06:00: “TaskQueue.stop: syncDownload: waiting for tasks to complete: 0”
2020-05-31 17:06:00: “TaskQueue.stop: syncDownload: Done, waited for 0”
2020-05-31 17:06:24: “FetchError: request to http://10.0.0.6/WebDAV/Joplin// failed, reason: socket hang up
Code: ECONNRESET
FetchError: request to http://10.0.0.6/WebDAV//Joplin// failed, reason: socket hang up
at ClientRequest. (/tmp/.mount_JoplinCDHelN/resources/app.asar/node_modules/node-fetch/index.js:133:11)
at ClientRequest.emit (events.js:210:5)
at Socket.socketOnEnd (_http_client.js:440:9)
at Socket.emit (events.js:215:7)
at endReadableNT (_stream_readable.js:1183:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21)”
2020-05-31 17:06:24: "Operations completed: "
2020-05-31 17:06:24: “Total folders: 1”
2020-05-31 17:06:24: “Total notes: 1”
2020-05-31 17:06:24: “Total resources: 3”

On the webdav log we see this:
[Mon Jun 01 07:49:34.541720 2020] [dav:error] [pid 13847] [client 10.0.0.40:50463] Provider encountered an error while streaming a multistatus PROPFIND response. [404, #0]

That led me to this page:
https://bz.apache.org/bugzilla/show_bug.cgi?id=43818

In there is a note:

Wim Lewis 2013-04-30 00:47:31 UTC

But a very similar problem still exists: if you do a PROPFIND on that collection’s parent, with >Depth: infinity (and DavDepthInfinity on in your config file), then you get an empty response — >no HTTP headers, status line, or content; the connection just drops.

Apache does log this message though:

[Mon Apr 29 17:43:34.153164 2013] [dav:error] [pid 57866] [client 127.0.0.1:58653] >Provider .encountered an error while streaming a multistatus PROPFIND response. [404, #0]

However this bug is closed, so i am thinking in most recent version of Apache 2.4 it is fixed.
I have Apache 2.4.26 . Most recent is Apache 2.4.43

The issue is that for the ix2-dl there is no package which has this.

However the ix2-dl packages had lighthttpd, so i thought i would try that.

I downloaded it, and then followed directions to enable webdav here:

So i was able to bring up lighttpd, but then when i tried to sync i got this error while syncing the second device:

405 Method not allowed, The requested method PROPFIND is not allowed for the URL.

According to this page:
https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModWebDAV

lighttpd was not compiled -with-webdav-props or --with-webdav-locks

So i thought i would try to build it. i was able to download gcc, binutils packages via ipkg and via trial and error had to download additional libraries (libnsl, libxml2, libpcre, sqlite)

So i was able to sync correctly now. I didn’t want to try to rebuild Apache because its the main http server and i think i wouldn’t get all the compile time flags correct. I think lighthttpd is good because it will only be used for the webdav.

Thank you for your help with this.

I can honestly say that I did not manage to follow most of your post but I am glad you you have a working WebDav solution. Seems that you have learnt a lot!

Hopefully if you see future posts on this forum where someone else is having WebDav problems you will step in and share your knowledge :slight_smile: