Add customizable thumbnails for audio and video attachments (#14145)
- Change audio files to not be stripped of metadata - Automatically extract cover art from audio if it exists - Add `thumbnail` parameter to `POST /api/v1/media`, `POST /api/v2/media` and `PUT /api/v1/media/:id` - Add `icon` to represent it in attachments in ActivityPub - Fix `preview_url` containing URL of missing missing image when there is no thumbnail instead of null - Fix duration of audio not being displayed on public pages until the file is loaded
This commit is contained in:
		@@ -167,6 +167,8 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
 | 
			
		||||
    attributes :type, :media_type, :url, :name, :blurhash
 | 
			
		||||
    attribute :focal_point, if: :focal_point?
 | 
			
		||||
 | 
			
		||||
    has_one :icon, serializer: ActivityPub::ImageSerializer, if: :thumbnail?
 | 
			
		||||
 | 
			
		||||
    def type
 | 
			
		||||
      'Document'
 | 
			
		||||
    end
 | 
			
		||||
@@ -190,6 +192,14 @@ class ActivityPub::NoteSerializer < ActivityPub::Serializer
 | 
			
		||||
    def focal_point
 | 
			
		||||
      [object.file.meta['focus']['x'], object.file.meta['focus']['y']]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def icon
 | 
			
		||||
      object.thumbnail
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def thumbnail?
 | 
			
		||||
      object.thumbnail.present?
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  class MentionSerializer < ActivityPub::Serializer
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user