diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index c9cd91e9e..74d259084 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -851,6 +851,23 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do {:ok, data} end + def prepare_outgoing(%{"type" => "Update", "object" => %{"type" => objtype} = object} = data) + when objtype in Pleroma.Constants.actor_types() do + object = + object + |> maybe_fix_user_object() + |> strip_internal_fields() + + data = + data + |> Map.put("object", object) + |> strip_internal_fields() + |> Map.merge(Utils.make_json_ld_header(object)) + |> Map.delete("bcc") + + {:ok, data} + end + def prepare_outgoing(%{"type" => "Update", "object" => %{}} = data) do raise "Requested to serve an Update for non-updateable object type: #{inspect(data)}" end