Fix metadata scrubbing removing color profile from images (#20389)
This commit is contained in:
		
					parent
					
						
							
								53028af10e
							
						
					
				
			
			
				commit
				
					
						9bc0a6c861
					
				
			
		
					 7 changed files with 8 additions and 8 deletions
				
			
		|  | @ -18,7 +18,7 @@ module AccountAvatar | |||
| 
 | ||||
|   included do | ||||
|     # Avatar upload | ||||
|     has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '-strip' }, processors: [:lazy_thumbnail] | ||||
|     has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail] | ||||
|     validates_attachment_content_type :avatar, content_type: IMAGE_MIME_TYPES | ||||
|     validates_attachment_size :avatar, less_than: LIMIT | ||||
|     remotable_attachment :avatar, LIMIT, suppress_errors: false | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ module AccountHeader | |||
| 
 | ||||
|   included do | ||||
|     # Header upload | ||||
|     has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '-strip' }, processors: [:lazy_thumbnail] | ||||
|     has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail] | ||||
|     validates_attachment_content_type :header, content_type: IMAGE_MIME_TYPES | ||||
|     validates_attachment_size :header, less_than: LIMIT | ||||
|     remotable_attachment :header, LIMIT, suppress_errors: false | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ class CustomEmoji < ApplicationRecord | |||
|   belongs_to :category, class_name: 'CustomEmojiCategory', optional: true | ||||
|   has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode | ||||
| 
 | ||||
|   has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } }, validate_media_type: false | ||||
|   has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false | ||||
| 
 | ||||
|   before_validation :downcase_domain | ||||
| 
 | ||||
|  |  | |||
|  | @ -167,7 +167,7 @@ class MediaAttachment < ApplicationRecord | |||
|   }.freeze | ||||
| 
 | ||||
|   GLOBAL_CONVERT_OPTIONS = { | ||||
|     all: '-quality 90 -strip +set modify-date +set create-date', | ||||
|     all: '-quality 90 +profile "!icc,*" +set modify-date +set create-date', | ||||
|   }.freeze | ||||
| 
 | ||||
|   belongs_to :account,          inverse_of: :media_attachments, optional: true | ||||
|  |  | |||
|  | @ -50,7 +50,7 @@ class PreviewCard < ApplicationRecord | |||
|   has_and_belongs_to_many :statuses | ||||
|   has_one :trend, class_name: 'PreviewCardTrend', inverse_of: :preview_card, dependent: :destroy | ||||
| 
 | ||||
|   has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 80 -strip' }, validate_media_type: false | ||||
|   has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 90 +profile "!icc,*" +set modify-date +set create-date' }, validate_media_type: false | ||||
| 
 | ||||
|   validates :url, presence: true, uniqueness: true | ||||
|   validates_attachment_content_type :image, content_type: IMAGE_MIME_TYPES | ||||
|  | @ -122,7 +122,7 @@ class PreviewCard < ApplicationRecord | |||
|         original: { | ||||
|           geometry: '400x400>', | ||||
|           file_geometry_parser: FastGeometryParser, | ||||
|           convert_options: '-coalesce -strip', | ||||
|           convert_options: '-coalesce', | ||||
|           blurhash: BLURHASH_OPTIONS, | ||||
|         }, | ||||
|       } | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ class PreviewCardProvider < ApplicationRecord | |||
| 
 | ||||
|   validates :domain, presence: true, uniqueness: true, domain: true | ||||
| 
 | ||||
|   has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } }, validate_media_type: false | ||||
|   has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false | ||||
|   validates_attachment :icon, content_type: { content_type: ICON_MIME_TYPES }, size: { less_than: LIMIT } | ||||
|   remotable_attachment :icon, LIMIT | ||||
| 
 | ||||
|  |  | |||
|  | @ -40,7 +40,7 @@ class SiteUpload < ApplicationRecord | |||
|     mascot: {}.freeze, | ||||
|   }.freeze | ||||
| 
 | ||||
|   has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce -strip' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector] | ||||
|   has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce +profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector] | ||||
| 
 | ||||
|   validates_attachment_content_type :file, content_type: /\Aimage\/.*\z/ | ||||
|   validates :file, presence: true | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue