2
0

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
parent c8551a3eca
commit a94d7bf520
3 changed files with 9 additions and 3 deletions

View File

@@ -85,7 +85,7 @@ class StatusCacheHydrator
if quote.quoted_status.nil? if quote.quoted_status.nil?
payload[nested ? :quoted_status_id : :quoted_status] = nil payload[nested ? :quoted_status_id : :quoted_status] = nil
payload[:state] = 'deleted' 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[nested ? :quoted_status_id : :quoted_status] = nil
payload[:state] = 'unauthorized' payload[:state] = 'unauthorized'
else else

View File

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

View File

@@ -8,13 +8,13 @@ class REST::BaseQuoteSerializer < ActiveModel::Serializer
# Extra states when a status is unavailable # Extra states when a status is unavailable
return 'deleted' if object.quoted_status.nil? return 'deleted' if object.quoted_status.nil?
return 'unauthorized' if status_filter.filtered? return 'unauthorized' if status_filter.filtered_for_quote?
object.state object.state
end end
def quoted_status 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 end
private private