Problems with dav server


#1

I am using Joplin (https://github.com/laurent22/joplin), an app that can sync over webdav. I am trying to use it with Pydio Cells, syncing with one specific directory in the Personal files workspace. This is with Pydio Cells 1.2.4 and docker-compose. In Joplin, when I try to sync, after a few files are synced I get an error saying:

Last error: Error: Got metadata for path but could not fetch content: db3ace9e336a46f991e892c4034505e8.md

  • If I go to the Pydio Cells web interface, the file in question seems to be in the path at the correct place, but cannot be opened.

  • If I go to the file system where the “Personal Files” workspace resides, I don’t see the file at all, so it seems that Pydio thinks that it has put the file there, but it hasn’t.

  • If I use a dav browser (Nautilus in Gnome, for example), it fails to open the folder saying that the response cannot be parsed.

  • If I try to delete the files from the web interface, it says that it is moving them to the recycle bin in the background, but the tasks never finishes and the “ghost files” are still there. Effectively the files cannot be deleted.

Please let me know if I can help debugging this and if you need more information from me

Valerio


#2

Hi,
the issue could be that the datasource did not launch the sync on itself,
could you try to do it manually when you have added a couple of files with Joplin,
when you add data on the directly on the filesystem and not through the ui the sync process is not launched automatically.

(on the storage interface edit the datasource matching the workspace on which you are puting files)
re-synchronize

then we could make a script to synchronize through an api call if the above works.


#3

Thanks zayn. I did that, but if I do that, the files disappear in the web interface. The problem seems that if I add files via dav, they appear in the web interface, but not on the file system. So, if I sync, they also disappear from the interface. I tested this with both encrypted and non encrypted workspaces.

I noticed in Joplin that immediately before getting the error above, I get this:

Last error: Error: PUT 998b197421aa4f70a5fa96346ad2a9c3.md: Unknown error 2 (405): Method Not Allowed


#4

it could be an issue with the dav client,
i will test the dav client and see what happens on my end.


#5

Let me know if I can help with the debug

Valerio


#6

Hi,
i encountered the same issue as you, i had a file named /dav/personal-files/b497f66af6f84cc4aca2c818929fd79c.md and it was an empty file.
Right now the webdav still has work to be done on it, it is on our roadmap but i do not have an exact delay for you.

Regards


#7

@zayn Thanks! Keep up the good work! And let me know if I can help. Could it be a problem with Joplin (even if it works with both Dropbox and Nextcloud)?


#8

@zayn In the meantime, I was trying to set up Pydio 8 to use it with Joplin, until the dav problem is solved. However, there it fails because it creates two ‘hidden’ subdirectories (.resource and .sync) and apparently Pydio 8 does not allow it to create folders starting with a dot…


#9

Hi,
yes by default the behavior is to hide all the files starting with a dot, you can disable the setting and show them.
go to available plugins > workspaces drivers > file system
then enable the show hidden files option, you can choose which file extension you want to hide and so on,
i let you take a look at it.


#10

For the files, yes, but apparently directories starting with a dot cannot be created. At least Joplin fails when trying to do that!


#11

ah yes oops,
let me check that and i’ll come back to you


#12

i think it’s a rights issue, joplin must have rights to write inside the workspace folders,
for instance in my case www-data is the user owning them, so i must use a root user to write directly inside and also i must make sure that the files once created are set with the right permissions,
you could give permission to the user using joplin to write inside the folder without root rights.


#13

@zayn Thanks for looking into this. What actually happens is this: Joplin writes the files, but fails to create the directories starting with a dot. Joplin uses .resource and .sync to store media and information about the sync. Do you think this could be a permissions issue? If so, why can Joplin create the files but not the directories?

PS: Support on Pydio from you guys is superb! We exchanged so many messages, and even over the holidays, and I am not even a paying customer. You guys rock, you know that, right?


#14

In Cells, we do have an issue with webDav at that point, as our api is by design asynchronous (the file is written to storage, then a sync process will update to confirm it has been written 100% sure). But WebDAV should be a synchronous API. We are thinking about this issue …

You guys rock, you know that, right?

Big up to @zayn :slight_smile: . @valmar, do not hesitate to show your love on the social networks … (twitter.com/@pydio, etc…)