Do not mark remote quotes of local posts as approved before request (#35860)

This commit is contained in:
Claire 2025-08-23 01:59:18 +02:00 committed by GitHub
parent 20bc34ca52
commit 3fd629cf84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 11 deletions

View File

@ -307,7 +307,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
@quote_changed = true @quote_changed = true
else else
quote = @status.quote quote = @status.quote
quote.update(approval_uri: approval_uri, state: :pending, legacy: @status_parser.legacy_quote?) if quote.approval_uri != @status_parser.quote_approval_uri quote.update(approval_uri: approval_uri, state: :pending, legacy: @status_parser.legacy_quote?) if quote.approval_uri != approval_uri
end end
else else
quote = Quote.create(status: @status, approval_uri: approval_uri, legacy: @status_parser.legacy_quote?) quote = Quote.create(status: @status, approval_uri: approval_uri, legacy: @status_parser.legacy_quote?)

View File

@ -13,7 +13,7 @@ class ActivityPub::VerifyQuoteService < BaseService
@fetching_error = nil @fetching_error = nil
fetch_quoted_post_if_needed!(fetchable_quoted_uri, prefetched_body: prefetched_quoted_object) fetch_quoted_post_if_needed!(fetchable_quoted_uri, prefetched_body: prefetched_quoted_object)
return handle_local_quote! if quote.quoted_account&.local? return if quote.quoted_account&.local?
return if fast_track_approval! || quote.approval_uri.blank? return if fast_track_approval! || quote.approval_uri.blank?
@json = fetch_approval_object(quote.approval_uri, prefetched_body: prefetched_approval) @json = fetch_approval_object(quote.approval_uri, prefetched_body: prefetched_approval)
@ -35,15 +35,6 @@ class ActivityPub::VerifyQuoteService < BaseService
private private
def handle_local_quote!
@quote.update!(approval_uri: nil)
if StatusPolicy.new(@quote.account, @quote.quoted_status).quote?
@quote.accept!
else
@quote.reject!
end
end
# FEP-044f defines rules that don't require the approval flow # FEP-044f defines rules that don't require the approval flow
def fast_track_approval! def fast_track_approval!
return false if @quote.quoted_status_id.blank? return false if @quote.quoted_status_id.blank?