Skip to content

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

Open
backportbot[bot] wants to merge 2 commits into
stable31from
backport/62255/stable31
Open

[stable31] fix(files): preserve encryptedVersion when copying cache entries#62851
backportbot[bot] wants to merge 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
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.

1 participant