From 929f97da0579dda8f3d74fc52aa4a4b52ec1253d Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:07:18 +0930 Subject: [PATCH] Update create.rb --- app/lib/activitypub/activity/create.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 3b86d561c4c..5cc69d99180 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,6 +3,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity DISTRIBUTE_DELAY = 1.minute PROCESSING_DELAY = (30.seconds)..(10.minutes) + PROCESSING_DELAY_QUOTE = (5.seconds)..(2.seconds) def perform @account.schedule_refresh_if_stale! @@ -396,8 +397,9 @@ class ActivityPub::Activity::Create < ActivityPub::Activity embedded_quote = safe_prefetched_embed(@account, @status_parser.quoted_object, @json['context']) ActivityPub::VerifyQuoteService.new.call(@quote, @quote_approval_uri, fetchable_quoted_uri: @quote_uri, prefetched_quoted_object: embedded_quote, request_id: @options[:request_id], depth: @options[:depth]) - rescue Mastodon::RecursionLimitExceededError, Mastodon::UnexpectedResponseError, *Mastodon::HTTP_CONNECTION_ERRORS - ActivityPub::RefetchAndVerifyQuoteWorker.perform_in(rand(PROCESSING_DELAY), @quote.id, @quote_uri, { 'request_id' => @options[:request_id], 'approval_uri' => @quote_approval_uri }) + rescue Mastodon::RecursionLimitExceededError, Mastodon::UnexpectedResponseError, *Mastodon::HTTP_CONNECTION_ERRORS => e + Rails.logger.warn "Quote verification failed for quote #{@quote.id} (status #{@quote.status_id}, uri #{@quote_uri}): #{e.class} - #{e.message}. Scheduling retry." + ActivityPub::RefetchAndVerifyQuoteWorker.perform_in(rand(PROCESSING_DELAY_QUOTE), @quote.id, @quote_uri, { 'request_id' => @options[:request_id], 'approval_uri' => @quote_approval_uri }) end def conversation_from_uri(uri)