From 3b70d0fcf8f419cc27a34e3be7fbb513bc229f19 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 22 Jan 2026 19:30:19 +0100 Subject: [PATCH] fix: remove validate-user-shares-once optimization Signed-off-by: Robin Appelman --- apps/files_sharing/lib/AppInfo/Application.php | 2 -- .../lib/Listener/SharesUpdatedListener.php | 15 +-------------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php index c760994f164..da4984d3785 100644 --- a/apps/files_sharing/lib/AppInfo/Application.php +++ b/apps/files_sharing/lib/AppInfo/Application.php @@ -48,7 +48,6 @@ use OCP\Files\Config\IMountProviderCollection; use OCP\Files\Events\BeforeDirectFileDownloadEvent; use OCP\Files\Events\BeforeZipCreatedEvent; use OCP\Files\Events\Node\BeforeNodeReadEvent; -use OCP\Files\Events\Node\FilesystemTornDownEvent; use OCP\Group\Events\GroupChangedEvent; use OCP\Group\Events\GroupDeletedEvent; use OCP\Group\Events\UserAddedEvent; @@ -122,7 +121,6 @@ class Application extends App implements IBootstrap { $context->registerEventListener(UserAddedEvent::class, SharesUpdatedListener::class); $context->registerEventListener(UserRemovedEvent::class, SharesUpdatedListener::class); $context->registerEventListener(UserShareAccessUpdatedEvent::class, SharesUpdatedListener::class); - $context->registerEventListener(FilesystemTornDownEvent::class, SharesUpdatedListener::class); $context->registerConfigLexicon(ConfigLexicon::class); } diff --git a/apps/files_sharing/lib/Listener/SharesUpdatedListener.php b/apps/files_sharing/lib/Listener/SharesUpdatedListener.php index f7558afc58c..b7763b3d33d 100644 --- a/apps/files_sharing/lib/Listener/SharesUpdatedListener.php +++ b/apps/files_sharing/lib/Listener/SharesUpdatedListener.php @@ -11,12 +11,10 @@ namespace OCA\Files_Sharing\Listener; use OCA\Files_Sharing\Event\UserShareAccessUpdatedEvent; use OCA\Files_Sharing\MountProvider; use OCA\Files_Sharing\ShareTargetValidator; -use OCP\Cache\CappedMemoryCache; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\Files\Config\ICachedMountInfo; use OCP\Files\Config\IUserMountCache; -use OCP\Files\Events\Node\FilesystemTornDownEvent; use OCP\Group\Events\UserAddedEvent; use OCP\Group\Events\UserRemovedEvent; use OCP\IUser; @@ -28,23 +26,17 @@ use OCP\Share\IManager; /** * Listen to various events that can change what shares a user has access to * - * @template-implements IEventListener + * @template-implements IEventListener */ class SharesUpdatedListener implements IEventListener { - private CappedMemoryCache $updatedUsers; - public function __construct( private readonly IManager $shareManager, private readonly IUserMountCache $userMountCache, private readonly MountProvider $shareMountProvider, private readonly ShareTargetValidator $shareTargetValidator, ) { - $this->updatedUsers = new CappedMemoryCache(); } public function handle(Event $event): void { - if ($event instanceof FilesystemTornDownEvent) { - $this->updatedUsers = new CappedMemoryCache(); - } if ($event instanceof UserShareAccessUpdatedEvent) { foreach ($event->getUsers() as $user) { $this->updateForUser($user); @@ -65,11 +57,6 @@ class SharesUpdatedListener implements IEventListener { } private function updateForUser(IUser $user): void { - if (isset($this->updatedUsers[$user->getUID()])) { - return; - } - $this->updatedUsers[$user->getUID()] = true; - $cachedMounts = $this->userMountCache->getMountsForUser($user); $mountPoints = array_map(fn (ICachedMountInfo $mount) => $mount->getMountPoint(), $cachedMounts); $mountsByPath = array_combine($mountPoints, $cachedMounts);