From e080fae9ef5a992a1454035ff5f650cb2c237020 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KMY=EF=BC=88=E9=9B=AA=E3=81=82=E3=81=99=E3=81=8B=EF=BC=89?= Date: Fri, 11 Oct 2024 08:32:58 +0900 Subject: [PATCH] =?UTF-8?q?Fix:=20=E5=BC=95=E7=94=A8=E6=8A=95=E7=A8=BF?= =?UTF-8?q?=E3=81=AEActivity=E7=99=BA=E8=A1=8C=E3=81=A7=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC=E3=81=8C=E5=87=BA=E3=82=8B=E5=95=8F=E9=A1=8C=20(#878)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activitypub/note_serializer.rb | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index 809e3bd303..d778440450 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -161,16 +161,27 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer object.active_mentions.to_a.sort_by(&:id) + object.tags + object.emojis + virtual_tags_of_quote end + class NoteLink < ActiveModelSerializers::Model + attributes :href + end + + class NoteLinkSerializer < ActivityPub::Serializer + attributes :type, :href + attribute :media_type, key: :mediaType + + def type + 'Link' + end + + def media_type + 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' + end + end + def virtual_tags_of_quote return [] unless object.quote? - [ - { - type: 'Link', - mediaType: 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"', - href: quote_uri, - }, - ] + [NoteLink.new(href: quote_uri)] end def atom_uri