commit: f9bff8f5e5408e0b8eee9a7b0019e4c92c54e1f9
parent 950bf60765cd4eff8f29717dd7a487b8cdf395f8
Author: Lain Soykaf <lain@lain.com>
Date: Wed, 19 Mar 2025 16:00:27 +0400
Transmogrifier: Keep likes as likes if the content is obviously wrong
Diffstat:
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -495,10 +495,11 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
defp handle_incoming_normalized(
%{
"type" => "Like",
- "content" => _
+ "content" => content
} = data,
options
- ) do
+ )
+ when is_binary(content) do
data
|> Map.put("type", "EmojiReact")
|> handle_incoming_normalized(options)
diff --git a/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/like_handling_test.exs
@@ -140,6 +140,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.LikeHandlingTest do
_actor = insert(:user, ap_id: data["actor"], local: false)
- assert {:error, _} = Transmogrifier.handle_incoming(data)
+ assert {:ok, activity} = Transmogrifier.handle_incoming(data)
+ assert activity.data["type"] == "Like"
end
end