kouprlabs / voltaserve

⚡️ Cloud Storage for Creators
https://voltaserve.com
Other
244 stars 13 forks source link

MKCOL Access denied: Item with similar name exists. #187

Closed dsonck92 closed 1 month ago

dsonck92 commented 1 month ago

Pre-checklist:

Summary:

When trying out Joplin as note keeping application, which supports WebDav as sync backend, it failed to upgrade its project as it could not recreate the locks/ directory.


Steps to Reproduce:

  1. Install Joplin
  2. Configure WebDav sync with the path to a workspace
  3. Notice that it tries to upload its data, fails, wants to upgrade and fails with an error screen

Expected Result:

It should be able to manage its locks directory by making the MKCOL a no-op if the directory already exists.

Actual Result:

Voltaserve WebDav returns a 403 with error "already exists"

Screenshots or Code Snippets (if applicable):

Schermafdruk_20240719_133721


Environment Details:

Deployment type

Using latest Joplin 3.0.13-1


bouassaba commented 1 month ago

@dsonck92 thanks for tracking this issue! Assign it to me I will take care of it today or tomorrow.

bouassaba commented 1 month ago

I think the idea of erroring out with "item already exists" is a bad design. I'm considering just overwriting and creating a snapshot. @dsonck92 you remember you had similar errors with rclone? I had them too. I believe that most tools expect us to act like a traditional file system and overwrite the file, so let's do it.

dsonck92 commented 1 month ago

Yes, well, for directories, I think "MKCOL on existing directory" should be no-op, since we can't go wrong here. "MKCOL on existing file" should be denied.

As far as file uploads, I think considering the snapshot feature, we can get away with creating a snapshot yes.

bouassaba commented 1 month ago

@dsonck92 Joplin works like a charm now! :)