From b8837d57820368b52417618b45f67078670a417b Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 23 Mar 2026 11:32:41 +0100 Subject: [PATCH] Change media description length limit for remote media attachments from 1500 to 10000 characters (#37921) --- FEDERATION.md | 1 + app/lib/activitypub/parser/media_attachment_parser.rb | 2 +- app/models/media_attachment.rb | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/FEDERATION.md b/FEDERATION.md index c98f5924cf..076c8f9856 100644 --- a/FEDERATION.md +++ b/FEDERATION.md @@ -66,3 +66,4 @@ The following table attempts to summary those limits. | Account `attributionDomains` | 256 | List will be truncated | | Account aliases (actor `alsoKnownAs`) | 256 | List will be truncated | | Custom emoji shortcode (`Emoji` `name`) | 2048 | Emoji will be rejected | +| Media descriptions (`name`/`summary`) | 10000 | Description will be truncated | diff --git a/app/lib/activitypub/parser/media_attachment_parser.rb b/app/lib/activitypub/parser/media_attachment_parser.rb index 1f4f43cb15..2212c24c45 100644 --- a/app/lib/activitypub/parser/media_attachment_parser.rb +++ b/app/lib/activitypub/parser/media_attachment_parser.rb @@ -30,7 +30,7 @@ class ActivityPub::Parser::MediaAttachmentParser def description str = @json['summary'].presence || @json['name'].presence - str = str.strip[0...MediaAttachment::MAX_DESCRIPTION_LENGTH] if str.present? + str = str.strip[0...MediaAttachment::MAX_DESCRIPTION_HARD_LENGTH_LIMIT] if str.present? str end diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index f5407ca210..f69bfe06ee 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -38,6 +38,7 @@ class MediaAttachment < ApplicationRecord enum :processing, { queued: 0, in_progress: 1, complete: 2, failed: 3 }, prefix: true MAX_DESCRIPTION_LENGTH = 1_500 + MAX_DESCRIPTION_HARD_LENGTH_LIMIT = 10_000 IMAGE_LIMIT = 16.megabytes VIDEO_LIMIT = 99.megabytes