From: lain Date: Thu, 23 Jul 2020 11:08:29 +0000 (+0000) Subject: Merge branch 'bugfix/mrf-reject-logging' into 'develop' X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=b2ba70eec437e81b8c1c2be3081858be38a73c61;hp=-c;p=akkoma Merge branch 'bugfix/mrf-reject-logging' into 'develop' Fix #783: Make MRF reject log as info level instead of error Closes #783 See merge request pleroma/pleroma!2758 --- b2ba70eec437e81b8c1c2be3081858be38a73c61 diff --combined lib/pleroma/web/activity_pub/transmogrifier.ex index f37bcab3e,168422c93..35aa05eb5 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@@ -62,17 -62,15 +62,17 @@@ defmodule Pleroma.Web.ActivityPub.Trans def fix_summary(object), do: Map.put(object, "summary", "") def fix_addressing_list(map, field) do + addrs = map[field] + cond do - is_binary(map[field]) -> - Map.put(map, field, [map[field]]) + is_list(addrs) -> + Map.put(map, field, Enum.filter(addrs, &is_binary/1)) - is_nil(map[field]) -> - Map.put(map, field, []) + is_binary(addrs) -> + Map.put(map, field, [addrs]) true -> - map + Map.put(map, field, []) end end @@@ -178,7 -176,7 +178,7 @@@ |> Map.drop(["conversation"]) else e -> - Logger.error("Couldn't fetch #{inspect(in_reply_to_id)}, error: #{inspect(e)}") + Logger.warn("Couldn't fetch #{inspect(in_reply_to_id)}, error: #{inspect(e)}") object end else diff --combined test/web/activity_pub/transmogrifier_test.exs index 248b410c6,fd8e7f24f..a18fdaac0 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@@ -160,7 -160,7 +160,7 @@@ defmodule Pleroma.Web.ActivityPub.Trans assert capture_log(fn -> {:ok, _returned_activity} = Transmogrifier.handle_incoming(data) - end) =~ "[error] Couldn't fetch \"https://404.site/whatever\", error: nil" + end) =~ "[warn] Couldn't fetch \"https://404.site/whatever\", error: nil" end test "it works for incoming notices" do @@@ -774,29 -774,6 +774,29 @@@ assert [user.follower_address] == activity.data["to"] end + test "it correctly processes messages with weirdness in address fields" do + user = insert(:user) + + message = %{ + "@context" => "https://www.w3.org/ns/activitystreams", + "to" => [nil, user.follower_address], + "cc" => ["https://www.w3.org/ns/activitystreams#Public", ["¿"]], + "type" => "Create", + "object" => %{ + "content" => "…", + "type" => "Note", + "attributedTo" => user.ap_id, + "inReplyTo" => nil + }, + "actor" => user.ap_id + } + + assert {:ok, activity} = Transmogrifier.handle_incoming(message) + + assert ["https://www.w3.org/ns/activitystreams#Public"] == activity.data["cc"] + assert [user.follower_address] == activity.data["to"] + end + test "it accepts Move activities" do old_user = insert(:user) new_user = insert(:user)