Skip to content

Commit 5de8e11

Browse files
committed
fix: update information cached by mount point on rename
Signed-off-by: Salvatore Martire <[email protected]>
1 parent dfc46c3 commit 5de8e11

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

lib/private/Files/SetupManager.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
use OCP\Files\Config\IUserMountCache;
4141
use OCP\Files\Events\BeforeFileSystemSetupEvent;
4242
use OCP\Files\Events\InvalidateMountCacheEvent;
43+
use OCP\Files\Events\Node\BeforeNodeRenamedEvent;
4344
use OCP\Files\Events\Node\FilesystemTornDownEvent;
4445
use OCP\Files\Mount\IMountManager;
4546
use OCP\Files\Mount\IMountPoint;
@@ -716,6 +717,16 @@ private function setupListeners() {
716717
$this->eventDispatcher->addListener(ShareCreatedEvent::class, function (ShareCreatedEvent $event) {
717718
$this->cache->remove($event->getShare()->getSharedWith());
718719
});
720+
$this->eventDispatcher->addListener(BeforeNodeRenamedEvent::class, function (BeforeNodeRenamedEvent $event) {
721+
// update cache information that is cached by mount point
722+
$from = rtrim($event->getSource()->getPath(), '/') . '/';
723+
$to = rtrim($event->getTarget()->getPath(), '/') . '/';
724+
$existingMount = $this->setupMountProviderPaths[$from] ?? null;
725+
if ($existingMount !== null) {
726+
$this->setupMountProviderPaths[$to] = $this->setupMountProviderPaths[$from];
727+
unset($this->setupMountProviderPaths[$from]);
728+
}
729+
});
719730
$this->eventDispatcher->addListener(InvalidateMountCacheEvent::class, function (InvalidateMountCacheEvent $event,
720731
) {
721732
if ($user = $event->getUser()) {

0 commit comments

Comments
 (0)