From 422d0e4e202bab642703792d0644556af28a3928 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 9 Jun 2026 10:30:53 +0200 Subject: [PATCH] Add duration to ActivityPub representation of media attachments (#38061) --- app/serializers/activitypub/note_serializer.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index a8e1315bee..d67770933b 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -257,6 +257,7 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer attribute :focal_point, if: :focal_point? attribute :width, if: :width? attribute :height, if: :height? + attribute :duration, if: :duration? has_one :icon, serializer: ActivityPub::ImageSerializer, if: :thumbnail? @@ -300,6 +301,10 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer object.file.meta&.dig('original', 'height').present? end + def duration? + object.file.meta&.dig('original', 'duration').present? + end + def width object.file.meta.dig('original', 'width') end @@ -307,6 +312,10 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer def height object.file.meta.dig('original', 'height') end + + def duration + object.file.meta.dig('original', 'duration').seconds.iso8601 + end end class MentionSerializer < ActivityPub::Serializer