commit: 871e9e84926c93acffa72a710907b98ef88192fb
parent 1df7d428bccd1631fc7988675e4e249af129c5cd
Author: Ekaterina Vaartis <vaartis@kotobank.ch>
Date: Thu, 19 Jun 2025 12:36:31 +0300
Make unaddressed_message? condsider [] as empty
Diffstat:
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/changelog.d/fix-report-empty-fields.fix b/changelog.d/fix-report-empty-fields.fix
@@ -0,0 +1 @@
+Fix reports being rejected when the activity had an empty CC or TO field (instead of not having them at all)
+\ No newline at end of file
diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex
@@ -82,7 +82,11 @@ defmodule Pleroma.Web.ActivityPub.Utils do
def unaddressed_message?(params),
do:
[params["to"], params["cc"], params["bto"], params["bcc"]]
- |> Enum.all?(&is_nil(&1))
+ |> Enum.all?(fn
+ nil -> true
+ [] -> true
+ _ -> false
+ end)
@spec recipient_in_message(User.t(), User.t(), map()) :: boolean()
def recipient_in_message(%User{ap_id: ap_id} = recipient, %User{} = actor, params),
diff --git a/test/pleroma/web/activity_pub/activity_pub_controller_test.exs b/test/pleroma/web/activity_pub/activity_pub_controller_test.exs
@@ -1205,9 +1205,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
}
],
"actor" => actor.ap_id,
- "cc" => [
- reported_user.ap_id
- ],
+ # CC and TO might either not exist at all, or be empty. We should be able to handle either.
+ # "cc" => [],
"content" => "test",
"context" => "context",
"id" => "http://#{remote_domain}/activities/02be56cf-35e3-46b4-b2c6-47ae08dfee9e",