From 46f0c3431305733ead32689be74d82f631eb5a34 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 10 Feb 2026 11:19:22 +0100 Subject: [PATCH 1/2] perf(sharing): Use new user field from VerifyMountEvent Signed-off-by: Joas Schilling --- lib/Share/Listener.php | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/lib/Share/Listener.php b/lib/Share/Listener.php index 2f1d5bdf119..b20af6c4c0f 100644 --- a/lib/Share/Listener.php +++ b/lib/Share/Listener.php @@ -52,7 +52,6 @@ protected function overwriteShareTarget(BeforeShareCreatedEvent $event): void { protected function overwriteMountPoint(VerifyMountPointEvent $event): void { $share = $event->getShare(); - $view = $event->getView(); if ($share->getShareType() !== IShare::TYPE_ROOM && $share->getShareType() !== RoomShareProvider::SHARE_TYPE_USERROOM) { @@ -60,27 +59,9 @@ protected function overwriteMountPoint(VerifyMountPointEvent $event): void { } if ($event->getParent() === RoomShareProvider::TALK_FOLDER_PLACEHOLDER) { - try { - $userId = $view->getOwner('/'); - } catch (\Exception $e) { - // If we fail to get the owner of the view from the cache, - // e.g. because the user never logged in but a cron job runs - // We fall back to calculating the owner from the root of the view: - if (substr_count($view->getRoot(), '/') >= 2) { - // /37c09aa0-1b92-4cf6-8c66-86d8cac8c1d0/files - [, $userId, ] = explode('/', $view->getRoot(), 3); - } else { - // Something weird is going on, we can't fall back more - // so for now we don't overwrite the share path ¯\_(ツ)_/¯ - return; - } - } - - $parent = $this->config->getAttachmentFolder($userId); + $parent = $this->config->getAttachmentFolder($event->getUser()->getUID()); + $event->setCreateParent(true); $event->setParent($parent); - if (!$event->getView()->is_dir($parent)) { - $event->getView()->mkdir($parent); - } } } From 7a52ef50e8f6b4ba8a988a487922943baa3b6117 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 10 Feb 2026 11:20:03 +0100 Subject: [PATCH 2/2] test: Test against nextcloud/server#58207 share-verify-mount-event-improvements Signed-off-by: Joas Schilling --- .github/workflows/integration-pgsql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration-pgsql.yml b/.github/workflows/integration-pgsql.yml index 1d757796621..fb712d9bbd1 100644 --- a/.github/workflows/integration-pgsql.yml +++ b/.github/workflows/integration-pgsql.yml @@ -69,7 +69,7 @@ jobs: - 'sharing-3' - 'sharing-4' php-versions: ['8.3'] - server-versions: ['master'] + server-versions: ['share-verify-mount-event-improvements'] guests-versions: ['main'] circles-versions: ['master'] notifications-versions: ['master']