From 30e13a878505d16a98f26cef0fe8a4a68f3675e9 Mon Sep 17 00:00:00 2001 From: Floatingghost Date: Tue, 4 Jun 2024 14:21:40 +0100 Subject: [PATCH] Don't error on rich media fail --- lib/pleroma/web/rich_media/helpers.ex | 5 +++++ test/pleroma/web/rich_media/helpers_test.exs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/lib/pleroma/web/rich_media/helpers.ex b/lib/pleroma/web/rich_media/helpers.ex index 061c1a795..6b2f7ee02 100644 --- a/lib/pleroma/web/rich_media/helpers.ex +++ b/lib/pleroma/web/rich_media/helpers.ex @@ -97,6 +97,11 @@ defmodule Pleroma.Web.RichMedia.Helpers do end with :ok <- head_check, do: Pleroma.HTTP.get(url, headers, @options) + + rescue + e -> + Logger.error("Failed to fetch rich media: #{inspect(e)}") + {:error, :fetch_error} end defp check_content_type(headers) do diff --git a/test/pleroma/web/rich_media/helpers_test.exs b/test/pleroma/web/rich_media/helpers_test.exs index c6c3ffd6c..3fa7eecef 100644 --- a/test/pleroma/web/rich_media/helpers_test.exs +++ b/test/pleroma/web/rich_media/helpers_test.exs @@ -81,4 +81,9 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do assert %{} = Helpers.fetch_data_for_activity(activity4) assert %{} = Helpers.fetch_data_for_activity(activity5) end + + test "catches errors in fetching" do + Tesla.Mock.mock(fn _ -> raise ArgumentError end) + assert {:error, :fetch_error} == Helpers.rich_media_get("wp-json/oembed/1.0/embed?url=http:%252F%252F") + end end