Client: [2.6]聽Make sharing more robust with empty pre-sharing PROPFIND response

Created on 27 May 2020  路  6Comments  路  Source: owncloud/client

Starting with 2.6.x, ownCloud Desktop Sync Client relies on a PROPFIND to pre-populate the sharing UI. In cases the PROPFIND response is empty, sharing window can't be shown.

image | image
-- | --
. | empty PROPFIND response

Regular 10.4.1 pre-sharing PROPFIND

Request
(New endpoint: /remote.php/dav/files/test/Photos)

<?xml version="1.0" ?>
<d:propfind xmlns:d="DAV:">
  <d:prop>
    <share-permissions xmlns="http://open-collaboration-services.org/ns" />
    <fileid xmlns="http://owncloud.org/ns" />
    <privatelink xmlns="http://owncloud.org/ns" />
  </d:prop>
</d:propfind>

Response

<?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns">
  <d:response>
    <d:href>/remote.php/dav/files/test/Photos/</d:href>
    <d:propstat>
      <d:prop>
        <x1:share-permissions xmlns:x1="http://open-collaboration-services.org/ns">31</x1:share-permissions>
        <oc:fileid>33</oc:fileid>
        <oc:privatelink>https://demo.owncloud.org/f/33</oc:privatelink>
      </d:prop>
      <d:status>HTTP/1.1 200 OK</d:status>
    </d:propstat>
  </d:response>
</d:multistatus>

Empty pre-sharing PROPFIND

Request
(Old endpoint: remote.php/webdav/home/Photos)

<?xml version="1.0" ?>
<d:propfind xmlns:d="DAV:">
  <d:prop>
    <share-permissions xmlns="http://open-collaboration-services.org/ns" />
    <fileid xmlns="http://owncloud.org/ns" />
    <privatelink xmlns="http://owncloud.org/ns" />
  </d:prop>
</d:propfind>

Response

<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns">
  <d:response>
    <d:href>/owncloud/desktop/remote.php/webdav/home/Photos/</d:href>
    <d:propstat>
      <d:status>HTTP/1.1 200 OK</d:status>
      <d:prop/>
    </d:propstat>
    <d:propstat>
      <d:status>HTTP/1.1 404 Not Found</d:status>
      <d:prop/>
    </d:propstat>
  </d:response>
</d:multistatus>

Tested with:
Mozilla/5.0 (Macintosh) mirall/2.6.3-daily20200518 (build 13644) (testpilotcloud)

blue-ticket bug sharing p2-high regression

Most helpful comment

2.7 works when the response is empty, yes.

All 6 comments

@michaelstingl any progress?

This will make it into 2.7 or 2.7.1 ...

@labkode @diocas @moscicki You can check the fix with tomorrows daily builds (https://download.owncloud.com/desktop/daily/?sort=time&order=desc)

@michaelstingl @hodyroff expected behaviour with 2.7.0 is the screenshot on the right side, correct?

@jnweiger no. Right screenshot shows the error that prevents sharing. Can only be reproduced in @labkode 鈥榮 Infrastructure. 2.7 allows sharing, even when response is empty. Can you confirm @labkode ? /cc @SamuAlfageme

2.7 works when the response is empty, yes.

Was this page helpful?
0 / 5 - 0 ratings