From c303eca8cc31e5eb9edb10019f02c3a9e39a47ab Mon Sep 17 00:00:00 2001
From: an0nfunc <40771419+an0nfunc@users.noreply.github.com>
Date: Wed, 5 Jul 2023 10:52:12 +0200
Subject: [PATCH] use Image.LANCZOS instead of Image.ANTIALIAS for thumbnail
 resize (#15876)

Image.ANTIALIAS is not defined in current pillow releases. Since ANTIALIAS was just using LANCZOS anyways, this is just a cosmetic change, but makes synapse work with most recent pillow releases.

Signed-off-by: Giovanni Harting <539@idlegandalf.com>
---
 changelog.d/15876.bugfix     | 1 +
 synapse/media/thumbnailer.py | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 changelog.d/15876.bugfix

diff --git a/changelog.d/15876.bugfix b/changelog.d/15876.bugfix
new file mode 100644
index 0000000000..9dbae04c4f
--- /dev/null
+++ b/changelog.d/15876.bugfix
@@ -0,0 +1 @@
+Correctly resize thumbnails with pillow version >=10.
diff --git a/synapse/media/thumbnailer.py b/synapse/media/thumbnailer.py
index f909a4fb9a..73d2272f05 100644
--- a/synapse/media/thumbnailer.py
+++ b/synapse/media/thumbnailer.py
@@ -131,7 +131,7 @@ class Thumbnailer:
             else:
                 with self.image:
                     self.image = self.image.convert("RGB")
-        return self.image.resize((width, height), Image.ANTIALIAS)
+        return self.image.resize((width, height), Image.LANCZOS)
 
     def scale(self, width: int, height: int, output_type: str) -> BytesIO:
         """Rescales the image to the given dimensions.
-- 
GitLab