From 150dc960c0437481c494be47ffc698e51c4f281f Mon Sep 17 00:00:00 2001 From: Maxence Lange Date: Mon, 20 Oct 2025 19:03:06 -0100 Subject: [PATCH] feat(blurhash): notice on big images Signed-off-by: Maxence Lange --- .../Blurhash/Listener/GenerateBlurhashMetadata.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php b/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php index 8faf4627251..899128037ce 100644 --- a/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php +++ b/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php @@ -21,6 +21,7 @@ use OCP\FilesMetadata\Event\MetadataBackgroundEvent; use OCP\FilesMetadata\Event\MetadataLiveEvent; use OCP\IPreview; use OCP\Lock\LockedException; +use Psr\Log\LoggerInterface; /** * Generate a Blurhash string as metadata when image file is uploaded/edited. @@ -33,6 +34,7 @@ class GenerateBlurhashMetadata implements IEventListener { public function __construct( private IPreview $preview, + private readonly LoggerInterface $logger, ) { } @@ -82,6 +84,8 @@ class GenerateBlurhashMetadata implements IEventListener { $metadata->setString('blurhash', $this->generateBlurHash($image)) ->setEtag('blurhash', $currentEtag); + + @imagedestroy($image); } /** @@ -93,6 +97,10 @@ class GenerateBlurhashMetadata implements IEventListener { $width = imagesx($image); $height = imagesy($image); + if (max($width, $height) > 64) { + $this->logger->notice('blurhash should be generated using 64x64 preview'); + } + $pixels = []; for ($y = 0; $y < $height; ++$y) { $row = [];