mirror of
https://github.com/nextcloud/server.git
synced 2026-03-31 06:36:18 -04:00
Merge pull request #39152 from nextcloud/backport/39115/stable26
[stable26] fix(sse): don't update uncached files
This commit is contained in:
commit
e4e608caac
1 changed files with 22 additions and 14 deletions
|
|
@ -17,6 +17,7 @@
|
|||
* @author Thomas Müller <thomas.mueller@tmit.eu>
|
||||
* @author Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
|
||||
* @author Vincent Petry <vincent@nextcloud.com>
|
||||
* @author Richard Steinmetz <richard@steinmetz.cloud>
|
||||
*
|
||||
* @license AGPL-3.0
|
||||
*
|
||||
|
|
@ -141,21 +142,28 @@ class Encryption extends Wrapper {
|
|||
$info = $this->getCache()->get($path);
|
||||
if (isset($this->unencryptedSize[$fullPath])) {
|
||||
$size = $this->unencryptedSize[$fullPath];
|
||||
// update file cache
|
||||
if ($info instanceof ICacheEntry) {
|
||||
$info['encrypted'] = $info['encryptedVersion'];
|
||||
} else {
|
||||
if (!is_array($info)) {
|
||||
$info = [];
|
||||
}
|
||||
$info['encrypted'] = true;
|
||||
$info = new CacheEntry($info);
|
||||
}
|
||||
|
||||
if ($size !== $info->getUnencryptedSize()) {
|
||||
$this->getCache()->update($info->getId(), [
|
||||
'unencrypted_size' => $size
|
||||
]);
|
||||
// Update file cache (only if file is already cached).
|
||||
// Certain files are not cached (e.g. *.part).
|
||||
if (isset($info['fileid'])) {
|
||||
if ($info instanceof ICacheEntry) {
|
||||
$info['encrypted'] = $info['encryptedVersion'];
|
||||
} else {
|
||||
/**
|
||||
* @psalm-suppress RedundantCondition
|
||||
*/
|
||||
if (!is_array($info)) {
|
||||
$info = [];
|
||||
}
|
||||
$info['encrypted'] = true;
|
||||
$info = new CacheEntry($info);
|
||||
}
|
||||
|
||||
if ($size !== $info->getUnencryptedSize()) {
|
||||
$this->getCache()->update($info->getId(), [
|
||||
'unencrypted_size' => $size
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
return $size;
|
||||
|
|
|
|||
Loading…
Reference in a new issue