Prepare Mastodon for Rails 6 (#15911)
* Fix misuse of foreign_type * Fix use of removed "add_template_helper" * Use response.media_type instead of response.content_type in tests * Fix CSV export controller test on Rails 6 Rails 6 sets a "filename*" field in the Content-Disposition header to explicitly encode the filename as UTF-8. This changes checks the first part of the Content-Disposition header so it matches in both Rails 5 and Rails 6. * Fix emoji formatting with Rails 6 * Make emoji output more idiomatic and robust * Switch from redis-rails gem to built-in Rails redis cache storage
This commit is contained in:
		
							parent
							
								
									9cb6bc56fa
								
							
						
					
					
						commit
						43eff898a0
					
				
					 23 changed files with 45 additions and 61 deletions
				
			
		| 
						 | 
				
			
			@ -158,9 +158,9 @@ class Formatter
 | 
			
		|||
          original_url, static_url = emoji
 | 
			
		||||
          replacement = begin
 | 
			
		||||
            if animate
 | 
			
		||||
              "<img draggable=\"false\" class=\"emojione\" alt=\":#{encode(shortcode)}:\" title=\":#{encode(shortcode)}:\" src=\"#{encode(original_url)}\" />"
 | 
			
		||||
              image_tag(original_url, draggable: false, class: 'emojione', alt: ":#{shortcode}:", title: ":#{shortcode}:")
 | 
			
		||||
            else
 | 
			
		||||
              "<img draggable=\"false\" class=\"emojione custom-emoji\" alt=\":#{encode(shortcode)}:\" title=\":#{encode(shortcode)}:\" src=\"#{encode(static_url)}\" data-original=\"#{original_url}\" data-static=\"#{static_url}\" />"
 | 
			
		||||
              image_tag(original_url, draggable: false, class: 'emojione custom-emoji', alt: ":#{shortcode}:", title: ":#{shortcode}:", data: { original: original_url, static: static_url })
 | 
			
		||||
            end
 | 
			
		||||
          end
 | 
			
		||||
          before_html = shortname_start_index.positive? ? html[0..shortname_start_index - 1] : ''
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@ class NotificationMailer < ApplicationMailer
 | 
			
		|||
  helper :accounts
 | 
			
		||||
  helper :statuses
 | 
			
		||||
 | 
			
		||||
  add_template_helper RoutingHelper
 | 
			
		||||
  helper RoutingHelper
 | 
			
		||||
 | 
			
		||||
  def mention(recipient, notification)
 | 
			
		||||
    @me     = recipient
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,7 @@ class UserMailer < Devise::Mailer
 | 
			
		|||
  helper :instance
 | 
			
		||||
  helper :statuses
 | 
			
		||||
 | 
			
		||||
  add_template_helper RoutingHelper
 | 
			
		||||
  helper RoutingHelper
 | 
			
		||||
 | 
			
		||||
  def confirmation_instructions(user, token, **)
 | 
			
		||||
    @resource = user
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,12 +49,12 @@ class Notification < ApplicationRecord
 | 
			
		|||
  belongs_to :from_account, class_name: 'Account', optional: true
 | 
			
		||||
  belongs_to :activity, polymorphic: true, optional: true
 | 
			
		||||
 | 
			
		||||
  belongs_to :mention,        foreign_type: 'Mention',       foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :status,         foreign_type: 'Status',        foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :follow,         foreign_type: 'Follow',        foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :follow_request, foreign_type: 'FollowRequest', foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :favourite,      foreign_type: 'Favourite',     foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :poll,           foreign_type: 'Poll',          foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :mention,        foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :status,         foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :follow,         foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :follow_request, foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :favourite,      foreign_key: 'activity_id', optional: true
 | 
			
		||||
  belongs_to :poll,           foreign_key: 'activity_id', optional: true
 | 
			
		||||
 | 
			
		||||
  validates :type, inclusion: { in: TYPES }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue