Change quoted posts from silenced accounts not to be hidden (#36166)

This commit is contained in:
Claire 2025-09-18 15:21:17 +02:00
commit a94d7bf520
3 changed files with 9 additions and 3 deletions

View file

@ -85,7 +85,7 @@ class StatusCacheHydrator
if quote.quoted_status.nil?
payload[nested ? :quoted_status_id : :quoted_status] = nil
payload[:state] = 'deleted'
elsif StatusFilter.new(quote.quoted_status, Account.find_by(id: account_id)).filtered?
elsif StatusFilter.new(quote.quoted_status, Account.find_by(id: account_id)).filtered_for_quote?
payload[nested ? :quoted_status_id : :quoted_status] = nil
payload[:state] = 'unauthorized'
else

View file

@ -15,6 +15,12 @@ class StatusFilter
blocked_by_policy? || (account_present? && filtered_status?) || silenced_account?
end
def filtered_for_quote?
return false if !account.nil? && account.id == status.account_id
blocked_by_policy? || (account_present? && filtered_status?)
end
private
def account_present?

View file

@ -8,13 +8,13 @@ class REST::BaseQuoteSerializer < ActiveModel::Serializer
# Extra states when a status is unavailable
return 'deleted' if object.quoted_status.nil?
return 'unauthorized' if status_filter.filtered?
return 'unauthorized' if status_filter.filtered_for_quote?
object.state
end
def quoted_status
object.quoted_status if object.accepted? && object.quoted_status.present? && !status_filter.filtered?
object.quoted_status if object.accepted? && object.quoted_status.present? && !status_filter.filtered_for_quote?
end
private