Fix blocked accounts not being automatically removed from trending statuses (#34891)

This commit is contained in:
Claire 2025-06-02 15:38:47 +02:00 committed by GitHub
parent c77158c8b7
commit d4bbe8b719
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 1 deletions

View file

@ -89,7 +89,15 @@ class Trends::Statuses < Trends::Base
private private
def eligible?(status) def eligible?(status)
status.created_at.past? && status.public_visibility? && status.account.discoverable? && !status.account.silenced? && !status.account.sensitized? && status.spoiler_text.blank? && !status.sensitive? && !status.reply? && valid_locale?(status.language) status.created_at.past? &&
status.public_visibility? &&
status.account.discoverable? &&
!status.account.silenced? &&
!status.account.sensitized? &&
status.spoiler_text.blank? &&
!status.sensitive? &&
!status.reply? &&
valid_locale?(status.language)
end end
def calculate_scores(statuses, at_time) def calculate_scores(statuses, at_time)

View file

@ -15,6 +15,7 @@ class SuspendAccountService < BaseService
unmerge_from_home_timelines! unmerge_from_home_timelines!
unmerge_from_list_timelines! unmerge_from_list_timelines!
privatize_media_attachments! privatize_media_attachments!
remove_from_trends!
end end
private private
@ -101,6 +102,10 @@ class SuspendAccountService < BaseService
end end
end end
def remove_from_trends!
StatusTrend.where(account: @account).delete_all
end
def signed_activity_json def signed_activity_json
@signed_activity_json ||= Oj.dump(serialize_payload(@account, ActivityPub::UpdateSerializer, signer: @account)) @signed_activity_json ||= Oj.dump(serialize_payload(@account, ActivityPub::UpdateSerializer, signer: @account))
end end