From a77f8ca38c76da9cd882b8d9743dd9988c889e1b Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 10 Apr 2026 20:03:11 +0200 Subject: [PATCH] fix: fix UserHomeSetupListener disabling with nested events Signed-off-by: Robin Appelman --- apps/files_sharing/lib/Listener/SharesUpdatedListener.php | 4 ++-- apps/files_sharing/lib/Listener/UserHomeSetupListener.php | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/files_sharing/lib/Listener/SharesUpdatedListener.php b/apps/files_sharing/lib/Listener/SharesUpdatedListener.php index 9e66f142408..f1a1d625a6c 100644 --- a/apps/files_sharing/lib/Listener/SharesUpdatedListener.php +++ b/apps/files_sharing/lib/Listener/SharesUpdatedListener.php @@ -61,7 +61,7 @@ class SharesUpdatedListener implements IEventListener { public function handle(Event $event): void { // don't trigger the on-setup checks if this handler triggers an fs setup - $this->homeSetupListener->setDisabled(true); + $oldState = $this->homeSetupListener->setDisabled(true); if ($event instanceof UserShareAccessUpdatedEvent) { foreach ($event->getUsers() as $user) { @@ -111,7 +111,7 @@ class SharesUpdatedListener implements IEventListener { } } - $this->homeSetupListener->setDisabled(false); + $this->homeSetupListener->setDisabled($oldState); } private function markOrRun(IUser $user, callable $callback): void { diff --git a/apps/files_sharing/lib/Listener/UserHomeSetupListener.php b/apps/files_sharing/lib/Listener/UserHomeSetupListener.php index b057a3d082d..7f95605b3b6 100644 --- a/apps/files_sharing/lib/Listener/UserHomeSetupListener.php +++ b/apps/files_sharing/lib/Listener/UserHomeSetupListener.php @@ -30,8 +30,10 @@ class UserHomeSetupListener implements IEventListener { ) { } - public function setDisabled(bool $disabled): void { + public function setDisabled(bool $disabled): bool { + $previous = $this->disabled; $this->disabled = $disabled; + return $previous; } public function handle(Event $event): void { if (!$event instanceof UserHomeSetupEvent) {