-
Notifications
You must be signed in to change notification settings - Fork 184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
etag, oc-etag, ctag, sync-token and the future #3782
Comments
after GA issue |
Discussion with @dragotin @micbar @michaelstingl @felix-schwarz
@dragotin @felix-schwarz please continue the discussion |
We will have |
Perfect! 😻
@TheOneRing @felix-schwarz do we have a requirement for propagation of content-only changes? I don't think so… |
I don't think so. |
Currently, the
If the Therefore a Client updates will be needed for them to take advantage of the The idea for a metadata-only Regarding other WebDAV-based clients or sync solutions, I have no insight about how they interpret an |
Current file checksum could be used the same way as the |
When a reverse proxy changes the content encoding by eg. compressing a plain text stream via gzip, it also changes the etag: Bug 63932 - Content compression breaks contract of ETag
While the desktop client prefers the
OC-Etag
it has learned to strip-gzip
and maybe theW/
prefix from the regularETag
as a fallback: owncloud/client#3946 (comment)However, https://datatracker.ietf.org/doc/html/rfc7232#section-2.1 states
@janackermann noticed that the owncloud-sdk is not yet prepared for this kind of etag handling. Please link your PR here.
owncloud/owncloud-sdk#1067
owncloud/web#6952
@michaelstingl I wonder if iOS and android handle this somehow.
owncloud
The core issue that lead to
OC-ETag
is owncloud/core#9005 which explains why we are now using our ownOC-ETag
header.I'm still not 100% sure we are using etags correctly. AFAICT we should be using a ctag (content tag) to implement change detection in collections, as google recommends: https://developers.google.com/calendar/caldav/v2/guide
CTag and DAV:sync-token
However, the caldav-ctag-03 RFC has been deprecated in 2015:
https://sabre.io/dav/building-a-caldav-client/ shows exactly how a PROPFIND with both
cs:getctag
andDAV:sync-token
would look like, especially what form of URL to expect in the ̀ sync-token`.MS Graph
ms graph has similar concepts, it just uses json:
But similar to the webdav sync is has a
/delta
endpoint fortoken
based sync: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_delta?view=odsp-graph-onlineFuture
Both protocols indicate that having a deticated property to detect recursive changes makes sense. IMO we should
DAV:sync-token
in ocdav,OC-ETag
in the clientsRelated:
cernbox/smashbox#46
The text was updated successfully, but these errors were encountered: