From 86a9fc70f38983d8d30f5faebc32587609f16fc2 Mon Sep 17 00:00:00 2001 From: Ghassen kefi Date: Tue, 1 Sep 2026 20:34:33 +0200 Subject: [PATCH] fix: filter system tag object IDs by user visibility Signed-off-by: Ghassen kefi --- apps/dav/lib/SystemTag/SystemTagPlugin.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/dav/lib/SystemTag/SystemTagPlugin.php b/apps/dav/lib/SystemTag/SystemTagPlugin.php index b5e184f553b46..9c00ba26d300c 100644 --- a/apps/dav/lib/SystemTag/SystemTagPlugin.php +++ b/apps/dav/lib/SystemTag/SystemTagPlugin.php @@ -329,7 +329,22 @@ public function handleGetProperties( if ($node instanceof SystemTagObjectType) { $propFind->handle(self::OBJECTIDS_PROPERTYNAME, function () use ($node): SystemTagsObjectList { - return new SystemTagsObjectList(array_fill_keys($node->getObjectsIds(), $node->getName())); + $user = $this->userSession->getUser(); + if ($user === null) { + return new SystemTagsObjectList([]); + } + + $allIds = $node->getObjectsIds(); + $userFolder = $this->rootFolder->getUserFolder($user->getUID()); + $filteredIds = []; + foreach ($allIds as $id) { + if ($userFolder->getFirstNodeById((int)$id) !== null) { + $filteredIds[] = $id; + } + } + return new SystemTagsObjectList( + array_fill_keys($filteredIds, $node->getName()) + ); }); } }