logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 379590d4383810285290dcc0f1ed701f4449e161
parent 8cf231c0d101fc7358180fecd328fb38764da9d1
Author: Haelwenn <contact+git.pleroma.social@hacktivis.me>
Date:   Sun,  2 Jul 2023 21:25:45 +0000

Merge branch 'tusooa/3142-featured-collection-shouldnt-break-user-fetch' into 'develop'

Fix user fetch completely broken if featured collection is not in a supported form

See merge request pleroma/pleroma!3914

Diffstat:

Achangelog.d/featured-collection-shouldnt-break-user-fetch.fix1+
Mlib/pleroma/web/activity_pub/activity_pub.ex5+++++
Mtest/pleroma/web/activity_pub/activity_pub_test.exs8++++++++
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 @@ -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 @@ -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 @@ -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