Fix pushing hashtag-followed posts to feeds of inactive users (#33018)

This commit is contained in:
Eugen Rochko 2024-11-22 09:30:57 +01:00 committed by Claire
parent 868aa0634b
commit e89204aa60
2 changed files with 3 additions and 1 deletions

View File

@ -21,4 +21,6 @@ class TagFollow < ApplicationRecord
accepts_nested_attributes_for :tag accepts_nested_attributes_for :tag
rate_limit by: :account, family: :follows rate_limit by: :account, family: :follows
scope :for_local_distribution, -> { joins(account: :user).merge(User.signed_in_recently) }
end end

View File

@ -103,7 +103,7 @@ class FanOutOnWriteService < BaseService
end end
def deliver_to_hashtag_followers! def deliver_to_hashtag_followers!
TagFollow.where(tag_id: @status.tags.map(&:id)).select(:id, :account_id).reorder(nil).find_in_batches do |follows| TagFollow.for_local_distribution.where(tag_id: @status.tags.map(&:id)).select(:id, :account_id).reorder(nil).find_in_batches do |follows|
FeedInsertWorker.push_bulk(follows) do |follow| FeedInsertWorker.push_bulk(follows) do |follow|
[@status.id, follow.account_id, 'tags', { 'update' => update? }] [@status.id, follow.account_id, 'tags', { 'update' => update? }]
end end