From a72ccd84aa160a0bfb1e3643d02b1ce190b19e3a Mon Sep 17 00:00:00 2001 From: Benjamin Frueh Date: Thu, 5 Feb 2026 20:30:51 +0100 Subject: [PATCH] chore: Improve SVG handling in link previews Signed-off-by: Benjamin Frueh --- .../Collaboration/Reference/LinkReferenceProvider.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/private/Collaboration/Reference/LinkReferenceProvider.php b/lib/private/Collaboration/Reference/LinkReferenceProvider.php index 8566db2368713..d7bbe4b0f6af3 100644 --- a/lib/private/Collaboration/Reference/LinkReferenceProvider.php +++ b/lib/private/Collaboration/Reference/LinkReferenceProvider.php @@ -170,8 +170,14 @@ private function fetchReference(Reference $reference): void { if (in_array($contentType, self::ALLOWED_CONTENT_TYPES, true) && $contentLength < self::MAX_PREVIEW_SIZE) { $stream = Utils::streamFor($response->getBody()); $bodyStream = new LimitStream($stream, self::MAX_PREVIEW_SIZE, 0); + $content = $bodyStream->getContents(); + + if ($contentType === 'image/svg+xml' && stripos(html_entity_decode($content, ENT_XML1), 'XSL/Transform') !== false) { + return; + } + $reference->setImageContentType($contentType); - $folder->newFile(md5($reference->getId()), $bodyStream->getContents()); + $folder->newFile(md5($reference->getId()), $content); $reference->setImageUrl($this->urlGenerator->linkToRouteAbsolute('core.Reference.preview', ['referenceId' => md5($reference->getId())])); } }