diff options
| -rw-r--r-- | changelog.d/featured-collection-shouldnt-break-user-fetch.fix | 1 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 5 | ||||
| -rw-r--r-- | test/pleroma/web/activity_pub/activity_pub_test.exs | 8 | 
3 files changed, 14 insertions, 0 deletions
diff --git a/changelog.d/featured-collection-shouldnt-break-user-fetch.fix b/changelog.d/featured-collection-shouldnt-break-user-fetch.fix new file mode 100644 index 000000000..e8ce288cc --- /dev/null +++ b/changelog.d/featured-collection-shouldnt-break-user-fetch.fix @@ -0,0 +1 @@ +Fix user fetch completely broken if featured collection is not in a supported form diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 1a10aef1d..c93288b79 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1720,6 +1720,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do      end)    end +  def pin_data_from_featured_collection(obj) do +    Logger.error("Could not parse featured collection #{inspect(obj)}") +    %{} +  end +    def fetch_and_prepare_featured_from_ap_id(nil) do      {:ok, %{}}    end diff --git a/test/pleroma/web/activity_pub/activity_pub_test.exs b/test/pleroma/web/activity_pub/activity_pub_test.exs index 54fc6ef0a..1e8c14043 100644 --- a/test/pleroma/web/activity_pub/activity_pub_test.exs +++ b/test/pleroma/web/activity_pub/activity_pub_test.exs @@ -2652,4 +2652,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      {:ok, user} = ActivityPub.make_user_from_ap_id("https://princess.cat/users/mewmew")      assert user.name == " "    end + +  test "pin_data_from_featured_collection will ignore unsupported values" do +    assert %{} == +             ActivityPub.pin_data_from_featured_collection(%{ +               "type" => "OrderedCollection", +               "first" => "https://social.example/users/alice/collections/featured?page=true" +             }) +  end  end  | 
