- Fix audio attachments not being represented in OpenGraph tags - Fix audio being represented as "1 image" in OpenGraph descriptions - Fix video metadata being overwritten by paperclip-av-transcoder - Fix embedded player not using Mastodon's UI - Fix audio/video progress bars not moving smoothly - Fix audio/video buffered bars not displaying correctly
		
			
				
	
	
		
			52 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
- if activity.is_a?(Status) && (activity.non_sensitive_with_media? || (activity.with_media? && Setting.preview_sensitive_media))
 | 
						|
  - player_card = false
 | 
						|
  - activity.media_attachments.each do |media|
 | 
						|
    - if media.image?
 | 
						|
      = opengraph 'og:image', full_asset_url(media.file.url(:original))
 | 
						|
      = opengraph 'og:image:type', media.file_content_type
 | 
						|
      - unless media.file.meta.nil?
 | 
						|
        = opengraph 'og:image:width', media.file.meta.dig('original', 'width')
 | 
						|
        = opengraph 'og:image:height', media.file.meta.dig('original', 'height')
 | 
						|
      - if media.description.present?
 | 
						|
        = opengraph 'og:image:alt', media.description
 | 
						|
    - elsif media.video? || media.gifv?
 | 
						|
      - player_card = true
 | 
						|
      = opengraph 'og:image', full_asset_url(media.file.url(:small))
 | 
						|
      = opengraph 'og:image:type', 'image/png'
 | 
						|
      - unless media.file.meta.nil?
 | 
						|
        = opengraph 'og:image:width', media.file.meta.dig('small', 'width')
 | 
						|
        = opengraph 'og:image:height', media.file.meta.dig('small', 'height')
 | 
						|
      = opengraph 'og:video', full_asset_url(media.file.url(:original))
 | 
						|
      = opengraph 'og:video:secure_url', full_asset_url(media.file.url(:original))
 | 
						|
      = opengraph 'og:video:type', media.file_content_type
 | 
						|
      = opengraph 'twitter:player', medium_player_url(media)
 | 
						|
      = opengraph 'twitter:player:stream', full_asset_url(media.file.url(:original))
 | 
						|
      = opengraph 'twitter:player:stream:content_type', media.file_content_type
 | 
						|
      - unless media.file.meta.nil?
 | 
						|
        = opengraph 'og:video:width', media.file.meta.dig('original', 'width')
 | 
						|
        = opengraph 'og:video:height', media.file.meta.dig('original', 'height')
 | 
						|
        = opengraph 'twitter:player:width', media.file.meta.dig('original', 'width')
 | 
						|
        = opengraph 'twitter:player:height', media.file.meta.dig('original', 'height')
 | 
						|
    - elsif media.audio?
 | 
						|
      - player_card = true
 | 
						|
      = opengraph 'og:image', full_asset_url(account.avatar.url(:original))
 | 
						|
      = opengraph 'og:image:width', '400'
 | 
						|
      = opengraph 'og:image:height','400'
 | 
						|
      = opengraph 'og:audio', full_asset_url(media.file.url(:original))
 | 
						|
      = opengraph 'og:audio:secure_url', full_asset_url(media.file.url(:original))
 | 
						|
      = opengraph 'og:audio:type', media.file_content_type
 | 
						|
      = opengraph 'twitter:player', medium_player_url(media)
 | 
						|
      = opengraph 'twitter:player:stream', full_asset_url(media.file.url(:original))
 | 
						|
      = opengraph 'twitter:player:stream:content_type', media.file_content_type
 | 
						|
      = opengraph 'twitter:player:width', '670'
 | 
						|
      = opengraph 'twitter:player:height', '380'
 | 
						|
  - if player_card
 | 
						|
    = opengraph 'twitter:card', 'player'
 | 
						|
  - else
 | 
						|
    = opengraph 'twitter:card', 'summary_large_image'
 | 
						|
- else
 | 
						|
  = opengraph 'og:image', full_asset_url(account.avatar.url(:original))
 | 
						|
  = opengraph 'og:image:width', '400'
 | 
						|
  = opengraph 'og:image:height','400'
 | 
						|
  = opengraph 'twitter:card', 'summary'
 |