summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLain Soykaf <lain@lain.com>2025-01-30 12:18:20 +0400
committerLain Soykaf <lain@lain.com>2025-01-30 12:18:20 +0400
commit81ab906466f8e46ac2a16011faa8d0c2bd009957 (patch)
tree4d8205d7230d4f94ef36929c1cb0c36736777204 /lib
parent011d70df792fff9ecae8cc92728b45c026fe9be3 (diff)
downloadpleroma-81ab906466f8e46ac2a16011faa8d0c2bd009957.tar.gz
pleroma-81ab906466f8e46ac2a16011faa8d0c2bd009957.zip
AnalyzeMetadata: Don't crash on grayscale image blurhash
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/upload/filter/analyze_metadata.ex10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/pleroma/upload/filter/analyze_metadata.ex b/lib/pleroma/upload/filter/analyze_metadata.ex
index 7ee643277..a8480bf36 100644
--- a/lib/pleroma/upload/filter/analyze_metadata.ex
+++ b/lib/pleroma/upload/filter/analyze_metadata.ex
@@ -90,9 +90,13 @@ defmodule Pleroma.Upload.Filter.AnalyzeMetadata do
{:ok, rgb} =
if Image.has_alpha?(resized_image) do
# remove alpha channel
- resized_image
- |> Operation.extract_band!(0, n: 3)
- |> Image.write_to_binary()
+ case Operation.extract_band(resized_image, 0, n: 3) do
+ {:ok, data} ->
+ Image.write_to_binary(data)
+
+ _ ->
+ Image.write_to_binary(resized_image)
+ end
else
Image.write_to_binary(resized_image)
end