mastodon/app/models
Eugen Rochko a7171af0a3
Fix avatar and header issues by using custom geometry detector (#6515)
* Fix avatar and header issues by using custom geometry detector

Revert a part of #6508. The file passed to dynamic styles method
was not actually a file, but an instance of Paperclip::Attachment,
which broke all styles by always returning {} from the method.

One problem with GIF avatars was that Paperclip::GeometryDetector
reported wrong dimensions for them, e.g. 120x120 GIF avatar would
for some reason be detected as 120x53. By writing our own geometry
parser, we can use FastImage, which also happens to be faster than
ImageMagick, to detect image dimensions, which are also correct.

Unfortunately, this PR does not implement skipping a `convert`
entirely if the dimensions are already correct, as I found no easy
way to write that behaviour into Paperclip without rewriting the
Paperclip::Thumbnail class.

* Only invoke convert if dimension or format needs to be changed
2018-02-21 03:40:12 +01:00
..
admin Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
concerns Fix avatar and header issues by using custom geometry detector (#6515) 2018-02-21 03:40:12 +01:00
form Add option to show only local toots in timeline preview (#6292) 2018-02-04 06:00:10 +01:00
web Change user_id column non-nullable (#6435) 2018-02-07 16:35:44 +01:00
account.rb Rename ResolveRemoteAccountService to ResolveAccountService (#6327) 2018-01-22 14:25:09 +01:00
account_domain_block.rb Cache relationships in API (#6482) 2018-02-18 03:14:46 +01:00
account_filter.rb Clean up admin UI for accounts (#6004) 2017-12-13 12:15:10 +01:00
account_moderation_note.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
admin.rb Add logging of admin actions (#5757) 2017-11-24 02:05:53 +01:00
application_record.rb
block.rb Cache relationships in API (#6482) 2018-02-18 03:14:46 +01:00
context.rb Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl (#4090) 2017-07-07 04:02:06 +02:00
conversation.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
conversation_mute.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
custom_emoji.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
custom_emoji_filter.rb Add filters to admin UI for custom emojis (#6003) 2017-12-13 13:28:31 +01:00
domain_block.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
email_domain_block.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
export.rb
favourite.rb Full-text search for authorized statuses (#6423) 2018-02-09 23:04:47 +01:00
feed.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
follow.rb Cache relationships in API (#6482) 2018-02-18 03:14:46 +01:00
follow_request.rb Cache relationships in API (#6482) 2018-02-18 03:14:46 +01:00
home_feed.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
identity.rb CAS + SAML authentication feature (#6425) 2018-02-04 05:42:13 +01:00
import.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
instance.rb
instance_filter.rb Add instance search feature (#4925) 2017-09-13 12:30:07 +02:00
invite.rb Change user_id column non-nullable (#6435) 2018-02-07 16:35:44 +01:00
invite_filter.rb Add invite filter (#5862) 2017-12-01 16:40:02 +01:00
list.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
list_account.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
list_feed.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
media_attachment.rb Fix avatar and header issues by using custom geometry detector (#6515) 2018-02-21 03:40:12 +01:00
mention.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
mute.rb Cache relationships in API (#6482) 2018-02-18 03:14:46 +01:00
notification.rb Clear account cache of notification target_status (#6442) 2018-02-08 15:33:23 +01:00
preview_card.rb Fix avatar and header issues by using custom geometry detector (#6515) 2018-02-21 03:40:12 +01:00
remote_follow.rb Using double splat operator (#5859) 2017-12-06 11:41:57 +01:00
remote_profile.rb Introduce OStatus::TagManager (#5008) 2017-09-19 18:08:08 +02:00
report.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
report_filter.rb
search.rb Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl (#4090) 2017-07-07 04:02:06 +02:00
session_activation.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
setting.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
site_upload.rb Fix avatar and header issues by using custom geometry detector (#6515) 2018-02-21 03:40:12 +01:00
status.rb Push discovered status through streaming API within a time window (#6484) 2018-02-17 14:28:48 +01:00
status_pin.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
stream_entry.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
subscription.rb Change belongs_to_required_by_default to true (#5888) 2018-01-19 20:56:47 +01:00
tag.rb Fix account and tag searches with leading/trailing spaces (#5965) 2017-12-10 19:35:46 +01:00
user.rb Add preference to always display sensitive media (#6448) 2018-02-09 00:26:57 +01:00
web.rb