summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2022-01-28 14:06:32 -0600
committertusooa <tusooa@kazv.moe>2023-09-13 19:19:04 -0400
commit3c8319fe9f7a7c793f8fdc347be2015190981e33 (patch)
tree0fdda3dcf158c7b9fa6fec8df041da13cc0df3dd /lib
parentcf8e4258830e3f362ab1e54238d622f6b2056502 (diff)
downloadpleroma-3c8319fe9f7a7c793f8fdc347be2015190981e33.tar.gz
pleroma-3c8319fe9f7a7c793f8fdc347be2015190981e33.zip
Transmogrifier: federate quotes with _misskey_quote field
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index f5771e75e..163ae54fa 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -660,6 +660,14 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
def set_reply_to_uri(obj), do: obj
+ # Misskey quotes
+ # Despite being underscored, it's potentially more reliable for interop.
+ def set_quote_url(%{"quoteUrl" => quote_url} = object) when is_binary(quote_url) do
+ Map.put(object, "_misskey_quote", quote_url)
+ end
+
+ def set_quote_url(obj), do: obj
+
@doc """
Serialized Mastodon-compatible `replies` collection containing _self-replies_.
Based on Mastodon's ActivityPub::NoteSerializer#replies.
@@ -714,6 +722,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|> prepare_attachments
|> set_conversation
|> set_reply_to_uri
+ |> set_quote_url
|> set_replies
|> strip_internal_fields
|> strip_internal_tags