Skip to content

No Etag after Last Chunk #2409

Closed
Closed

Description

@zerox80

The Tusd library has a hook called PreFinishResponseCallback, with that REVA could calculate the etag after the last chunk and write it to the response header, but this hook is never used....

How are the plans? Both the Desktop and soon Android Client already support that way, with a fallback using Propfind to force the etag from server. But that is a another Request, causing Latency.

in tusd library, vendor/config.go

and

handler/unrouted_handler.go

It would be a very nice stuff if this could be implemented?

opencloud-eu/android#85

At bottom we already discussed why this isn't working out of the box.

I really appreciate your thoughts!

Activity

  1. micbar commented on Mar 2, 2026

    @micbar
    Member

    @kulmann @dragotin What do you think?

  2. micbar commented on Mar 2, 2026

    @micbar
    Member

    @zerox80 why is this a bug?

  3. guruz commented on Mar 2, 2026

    @guruz

    I changed type to Enhancement (as in Performance enhancement).
    It would save one round trip to get the ETag after the last chunk.

    (@dragotin For nostalgia.. Note that we kind of already had this with the old chunking protocol. https://dragotin.wordpress.com/2015/06/22/owncloud-chunking-ng/
    Or maybe not, that one had a MOVE and here it is just PATCHes.. :-) )

  4. zerox80 commented on Mar 2, 2026

    @zerox80
    SponsorContributorAuthor

    @zerox80 why is this a bug?

    Not a real bug, i just didn't know if i should tag is as "feature request" "bug" or "enhancement".

  5. zerox80 commented on Apr 25, 2026

    @zerox80
    SponsorContributorAuthor

    Hi, is there any update?

  6. michaelstingl commented on Jun 7, 2026

    @michaelstingl
    Contributor

    I went ahead and prototyped this on the reva side, as a proposal to make the discussion concrete rather than a finished solution:

    It registers the PreFinishResponseCallback from the issue description so the chunked finalize returns the same etag and permissions as the creation-with-upload path. The PR carries one open design question: the data path is authenticated by the transfer token, which has no user identity, so the callback restores the upload's executant to stat the file; a small storage interface could surface the etag instead.

    Edit (2026-06-30): the storage-interface version is now up as a separate PR, with the earlier one kept for comparison:

    🤖 drafted with Claude Code, reviewed before submitting.

  7. guruz commented on Jun 12, 2026

    @guruz
  8. moved this from Qualification to No status in OpenCloud Team Boardon Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions