Cannot sync

Operating system

Android

Joplin version

3.3.10

Sync target

WebDAV

What issue do you have?

I have searched these forums as best i could, but cannot figure out how to get syncing past the error "Got metadata for path but could not fetch content."

I found a discussion that noted a mismatch between the Metadata inside a stored note and the file stored on the server. I was able to confirm this on my own server, but i do not understand how to rectify the problem.

As it is now, each installed client is updating to the server, but they do not appear on other clients. I am using a recent Windows client, and android 3.3.10, with pcloud webdav as the server end.

On the FAQ it says pcloud is not supported

Indeed, although the thread is from 3 years ago. I'll reach out to pcloud to see if anything has changed on their end in the intervening time.

So, pcloud claims they support webdav, and my initial experience was that it worked fine. I would be happy to keep trying to make this work, but no one seems to be able to tell me what kind of steps i would have to take to clear this problem. Joplin stored notes on the server as separate files, but tracks which files are linked to which notes in some other mechanism. What is that mechanism, and is there any way to fix the problem in THAT data set?

The issue was never that pCloud did not support WebDAV, it's that they supported it poorly. I don't know if that has changed in the last 3 years, but the initial decision by the Joplin team to not support it was because their implementation diverged too far from the WebDAV standard.

I had a quick look at where the error you mentioned is raised in the Joplin code, and unfortunately it gives no clues of the exact cause other than the scenario is: "We found the file but the contents are invalid or missing". I don't think that logs would give any additional context because it doesn't log the contents which are actually found.

This likely means 1 of 2 things:

  1. pCloud has corrupted some / all of your Joplin data on their server
  2. pCloud's api has some kind of malfunction and is no longer returning the actual contents of some / all of your Joplin data

So in response to your query, there probably isn't any steps on the Joplin side that can be done to fix the problem other than to delete all data from Joplin clients and pCloud and start again. For this reason I would recommend to try a different provider as you'll need to start from scratch anyway

If you did want to move to another provider, I posted some (high level) steps of the best way to do this in this post: Onedrive sync? good or bad idea - #7 by mrjo118

Thanks again for a quick and thorough answer. I'm impressed.

So, seeing that Dropbox is actually supported, can i assume that i can get going with Dropbox if i:

  • export all notes as kex,
  • reset my clients to point to Dropbox, and
  • import back in to Joplin
  • ?

Here is a combination of the important bits from a couple of my posts in the thread I linked in my previous reply:

To switch to a new provider, retaining your existing data (please note that note history will be lost, but all other data is retained):
"The safest way is to make a full jex backup of all your note data, create a new profile in Joplin, import the jex backup, then set up sync to your new (empty) sync target"

The above is what you should do for the first client you set up on your new provider. Most notably, you should not import the jex file again for any additional devices you set up, otherwise that would duplicate all your notes. For any subsequent devices you setup, instead do the following:
-Install Joplin, or if it is an existing installation, create a new profile
-Delete the default welcome notebook
-Do not enable encryption, this is done automatically on a later step, if you chose to enable it on your first device
-Set up the sync details and press sync
-(If you set up encryption) You will be prompted for your master password for the encryption. Enter the password, then press sync
-Wait until everything is synced. Then you are done

After you have set up all your devices on the new provider and are happy everything is working, you may wish to delete the original Joplin profiles on each client, then delete your data on the old provider / close down the account.

The benefit of creating new profiles when switching provider is that it mitigates certain possible issues, and also in the event that something goes wrong during that process, you could switch back to the original profile on each client as if nothing had changed (though in your case that is not helpful as the sync fails). You are also able try again with another provider by deleting the new profiles which you created and then redoing the whole procedure.