Add support for summary field for media description (#13763)
				
					
				
			This commit is contained in:
		@@ -201,7 +201,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
 | 
			
		||||
 | 
			
		||||
      begin
 | 
			
		||||
        href             = Addressable::URI.parse(attachment['url']).normalize.to_s
 | 
			
		||||
        media_attachment = MediaAttachment.create(account: @account, remote_url: href, description: attachment['name'].presence, focus: attachment['focalPoint'], blurhash: supported_blurhash?(attachment['blurhash']) ? attachment['blurhash'] : nil)
 | 
			
		||||
        media_attachment = MediaAttachment.create(account: @account, remote_url: href, description: attachment['summary'].presence || attachment['name'].presence, focus: attachment['focalPoint'], blurhash: supported_blurhash?(attachment['blurhash']) ? attachment['blurhash'] : nil)
 | 
			
		||||
        media_attachments << media_attachment
 | 
			
		||||
 | 
			
		||||
        next if unsupported_media_type?(attachment['mediaType']) || skip_download?
 | 
			
		||||
 
 | 
			
		||||
@@ -287,6 +287,31 @@ RSpec.describe ActivityPub::Activity::Create do
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context 'with media attachments with long description as summary' do
 | 
			
		||||
        let(:object_json) do
 | 
			
		||||
          {
 | 
			
		||||
            id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
 | 
			
		||||
            type: 'Note',
 | 
			
		||||
            content: 'Lorem ipsum',
 | 
			
		||||
            attachment: [
 | 
			
		||||
              {
 | 
			
		||||
                type: 'Document',
 | 
			
		||||
                mediaType: 'image/png',
 | 
			
		||||
                url: 'http://example.com/attachment.png',
 | 
			
		||||
                summary: '*' * 1500,
 | 
			
		||||
              },
 | 
			
		||||
            ],
 | 
			
		||||
          }
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
        it 'creates status' do
 | 
			
		||||
          status = sender.statuses.first
 | 
			
		||||
 | 
			
		||||
          expect(status).to_not be_nil
 | 
			
		||||
          expect(status.media_attachments.map(&:description)).to include('*' * 1500)
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      context 'with media attachments with focal points' do
 | 
			
		||||
        let(:object_json) do
 | 
			
		||||
          {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user