fix android thumbnail cache invalidation#151
Open
zerox80 wants to merge 2 commits into
Open
Conversation
guruz
requested changes
May 30, 2026
Contributor
guruz
left a comment
There was a problem hiding this comment.
btw, this PR needs a rebase :)
explicit etag, then remote etag, then etag, then blank
I see this also does some sha256 computation and stores the value? This should not be done, especially not into etag DB field... let's keep ETag for things really by ETag
Maybe it could be two commits, one for the ETag write changes, one for the thumbnail changes?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
summary
this fixes stale thumbnails on android when an image gets replaced but the old cached bitmap is still around.
the thumbnail url now uses a proper cache token order:
explicit etag, then remote etag, then etag, then blank
also updated the android save paths that learn a fresh server etag after download or upload, so they persist it into both
etagandremoteEtag.details
remoteEtagthe main thumbnail cache token when availableremoteEtagwhen copying filestesting
./gradlew :opencloudApp:testOriginalDebugUnitTest --tests "eu.opencloud.android.presentation.thumbnails.ThumbnailsRequesterTest"./gradlew :opencloudData:compileDebugAndroidTestKotlingit diff --check