Fix n+1 query during status removal (#19753)
This commit is contained in:
		
							parent
							
								
									0735081cc2
								
							
						
					
					
						commit
						2e68cbe212
					
				
					 2 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -203,7 +203,7 @@ module ApplicationHelper
 | 
			
		|||
    permit_visibilities.shift(permit_visibilities.index(default_privacy) + 1) if default_privacy.present?
 | 
			
		||||
    state_params[:visibility] = params[:visibility] if permit_visibilities.include? params[:visibility]
 | 
			
		||||
 | 
			
		||||
    if user_signed_in?
 | 
			
		||||
    if user_signed_in? && current_user.functional?
 | 
			
		||||
      state_params[:settings]          = state_params[:settings].merge(Web::Setting.find_by(user: current_user)&.data || {})
 | 
			
		||||
      state_params[:push_subscription] = current_account.user.web_push_subscription(current_session)
 | 
			
		||||
      state_params[:current_account]   = current_account
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,13 +57,13 @@ class RemoveStatusService < BaseService
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def remove_from_followers
 | 
			
		||||
    @account.followers_for_local_distribution.reorder(nil).find_each do |follower|
 | 
			
		||||
    @account.followers_for_local_distribution.includes(:user).reorder(nil).find_each do |follower|
 | 
			
		||||
      FeedManager.instance.unpush_from_home(follower, @status)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def remove_from_lists
 | 
			
		||||
    @account.lists_for_local_distribution.select(:id, :account_id).reorder(nil).find_each do |list|
 | 
			
		||||
    @account.lists_for_local_distribution.select(:id, :account_id).includes(account: :user).reorder(nil).find_each do |list|
 | 
			
		||||
      FeedManager.instance.unpush_from_list(list, @status)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue