From f9bff8f5e5408e0b8eee9a7b0019e4c92c54e1f9 Mon Sep 17 00:00:00 2001 From: Lain Soykaf <lain@lain.com> Date: Wed, 19 Mar 2025 16:00:27 +0400 Subject: [PATCH] Transmogrifier: Keep likes as likes if the content is obviously wrong --- lib/pleroma/web/activity_pub/transmogrifier.ex | 5 +++-- .../web/activity_pub/transmogrifier/like_handling_test.exs | 3 ++- 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 index 19d036c0d..6517f5eff 100644 --- 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 index 023c2530f..fc04c1391 100644 --- 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