~cytrogen/masto-fe

40ba6e119b7457161fd43b449875d0fb9d473c1a — Claire 2 years ago 8e4251f
Fix Vary headers not being set on some redirects (#27272)

M app/controllers/concerns/web_app_controller_concern.rb => app/controllers/concerns/web_app_controller_concern.rb +6 -4
@@ 4,10 4,10 @@ module WebAppControllerConcern
  extend ActiveSupport::Concern

  included do
    prepend_before_action :redirect_unauthenticated_to_permalinks!
    before_action :set_app_body_class

    vary_by 'Accept, Accept-Language, Cookie'

    before_action :redirect_unauthenticated_to_permalinks!
    before_action :set_app_body_class
  end

  def skip_csrf_meta_tags?


@@ 22,7 22,9 @@ module WebAppControllerConcern
    return if user_signed_in? && current_account.moved_to_account_id.nil?

    redirect_path = PermalinkRedirector.new(request.path).redirect_path
    return if redirect_path.blank?

    redirect_to(redirect_path) if redirect_path.present?
    expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.day) unless user_signed_in?
    redirect_to(redirect_path)
  end
end

M app/controllers/follower_accounts_controller.rb => app/controllers/follower_accounts_controller.rb +0 -1
@@ 3,7 3,6 @@
class FollowerAccountsController < ApplicationController
  include AccountControllerConcern
  include SignatureVerification
  include WebAppControllerConcern

  vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }


M app/controllers/following_accounts_controller.rb => app/controllers/following_accounts_controller.rb +0 -1
@@ 3,7 3,6 @@
class FollowingAccountsController < ApplicationController
  include AccountControllerConcern
  include SignatureVerification
  include WebAppControllerConcern

  vary_by -> { public_fetch_mode? ? 'Accept, Accept-Language, Cookie' : 'Accept, Accept-Language, Cookie, Signature' }


M spec/requests/cache_spec.rb => spec/requests/cache_spec.rb +1 -0
@@ 30,6 30,7 @@ module TestEndpoints
    /directory
    /@alice
    /@alice/110224538612341312
    /deck/home
  ).freeze

  # Endpoints that should be cachable when accessed anonymously but have a Vary