* Force convert to JPG for preview card thumbnails to avoid animations
Fix #7093
* Conditionally convert to JPG only if original is GIF
Coalesce and strip on all formats to ensure no animated APNGs
has_and_belongs_to_many :statuses
- has_attached_file :image, styles: { original: { geometry: '400x400>', file_geometry_parser: FastGeometryParser } }, convert_options: { all: '-quality 80 -strip' }
+ has_attached_file :image, styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 80 -strip' }
include Attachmentable
save!
end
+ class << self
+ private
+
+ def image_styles(f)
+ styles = {
+ original: {
+ geometry: '400x400>',
+ file_geometry_parser: FastGeometryParser,
+ convert_options: '-coalesce -strip',
+ },
+ }
+
+ styles[:original][:format] = 'jpg' if f.instance.image_content_type == 'image/gif'
+ styles
+ end
+ end
+
private
def extract_dimensions