Skip to content

[stable31] fix(files): preserve encryptedVersion when copying cache entries - #62851

Merged
AndyScherzinger merged 2 commits into
stable31from
backport/62255/stable31
Aug 5, 2026
Merged

[stable31] fix(files): preserve encryptedVersion when copying cache entries#62851
AndyScherzinger merged 2 commits into
stable31from
backport/62255/stable31

Conversation

@backportbot

@backportbot backportbot Bot commented Aug 4, 2026

Copy link
Copy Markdown

Backport of #62255

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts
  • Review and verify the backported changes
  • Remove all the empty commits

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

Cache::copyFromCache() rebuilt the target's cache row via
cacheEntryToArray(), which only carried over a boolean `encrypted`
flag and dropped the real `encryptedVersion` count. Since
View::copy() unconditionally calls copyFromCache() after the storage
copy completes, this silently overwrote the correct encryptedVersion
that Encryption::updateEncryptedVersion() had just set, collapsing it
back to 0/1 on every copy of a file whose encryptedVersion was above 1.

cacheEntryToArray() now includes the source entry's encryptedVersion
when it is encrypted. The existing encrypted-to-non-encrypted-storage
override in copyFromCache() also clears encryptedVersion alongside
`encrypted`, since normalizeData() prefers encryptedVersion over
`encrypted` when both are present in the update data.

Signed-off-by: Kent Delante <kent@delante.me>
Assisted-by: ClaudeCode:claude-sonnet-5
Signed-off-by: Kent Delante <kent@delante.me>
Assisted-by: ClaudeCode:claude-sonnet-5
@leftybournes
leftybournes force-pushed the backport/62255/stable31 branch from e2e1718 to de96bc5 Compare August 4, 2026 02:03
@leftybournes
leftybournes marked this pull request as ready for review August 4, 2026 02:03
@AndyScherzinger
AndyScherzinger merged commit 1cde57b into stable31 Aug 5, 2026
216 of 228 checks passed
@AndyScherzinger
AndyScherzinger deleted the backport/62255/stable31 branch August 5, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants