diff options
author | Daniel Kesselberg <mail@danielkesselberg.de> | 2025-03-11 12:24:18 +0100 |
---|---|---|
committer | Daniel <mail@danielkesselberg.de> | 2025-03-14 10:24:34 +0100 |
commit | db86cf8db17e37e162af0507a95f42ce06b3641c (patch) | |
tree | e6eafb1bb72b34f3139298a0669f0a4f61116a15 /lib | |
parent | 1f99521df18bff29f02be544cf9788ed603dc3d0 (diff) | |
download | nextcloud-server-db86cf8db17e37e162af0507a95f42ce06b3641c.tar.gz nextcloud-server-db86cf8db17e37e162af0507a95f42ce06b3641c.zip |
fix: skip caching lastSeenQuotaUsage for remote sharesbug/noid/skip-quote-cache-for-remote-shares
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/legacy/OC_Helper.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/private/legacy/OC_Helper.php b/lib/private/legacy/OC_Helper.php index 087ea3ef88b..a89cbe1bb3a 100644 --- a/lib/private/legacy/OC_Helper.php +++ b/lib/private/legacy/OC_Helper.php @@ -541,9 +541,16 @@ class OC_Helper { $relative = 0; } + /* + * \OCA\Files_Sharing\External\Storage returns the cloud ID as the owner for the storage. + * It is unnecessary to query the user manager for the display name, as it won't have this information. + */ + $isRemoteShare = $storage->instanceOfStorage(\OCA\Files_Sharing\External\Storage::class); + $ownerId = $storage->getOwner($path); $ownerDisplayName = ''; - if ($ownerId !== false) { + + if ($isRemoteShare === false && $ownerId !== false) { $ownerDisplayName = \OC::$server->getUserManager()->getDisplayName($ownerId) ?? ''; } @@ -565,7 +572,7 @@ class OC_Helper { 'mountPoint' => trim($mountPoint, '/'), ]; - if ($ownerId && $path === '/') { + if ($isRemoteShare === false && $ownerId !== false && $path === '/') { // If path is root, store this as last known quota usage for this user \OCP\Server::get(\OCP\IConfig::class)->setUserValue($ownerId, 'files', 'lastSeenQuotaUsage', (string)$relative); } |