From 929f97da0579dda8f3d74fc52aa4a4b52ec1253d Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:07:18 +0930 Subject: [PATCH 01/10] 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) From ce6aedd7da10d90052f2fe71557af7dc529577b5 Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:15:13 +0930 Subject: [PATCH 02/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 5cc69d99180..e05e98517cd 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,7 +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) + PROCESSING_DELAY_QUOTE = (5.seconds)..(2.minutes) def perform @account.schedule_refresh_if_stale! From 21635149b9e30e6e1e68742118d05a6e2715dc3b Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:15:46 +0930 Subject: [PATCH 03/10] Update refetch_and_verify_quote_worker.rb --- app/workers/activitypub/refetch_and_verify_quote_worker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/workers/activitypub/refetch_and_verify_quote_worker.rb b/app/workers/activitypub/refetch_and_verify_quote_worker.rb index 762d55e1bee..362040b8536 100644 --- a/app/workers/activitypub/refetch_and_verify_quote_worker.rb +++ b/app/workers/activitypub/refetch_and_verify_quote_worker.rb @@ -5,7 +5,7 @@ class ActivityPub::RefetchAndVerifyQuoteWorker include ExponentialBackoff include JsonLdHelper - sidekiq_options queue: 'pull', retry: 5 + sidekiq_options queue: 'ingress', retry: 5 def perform(quote_id, quoted_uri, options = {}) quote = Quote.find(quote_id) From 2c606ce6e309ff4e981196588e0742dd61c4e661 Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:30:34 +0930 Subject: [PATCH 04/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index e05e98517cd..b8e5b1dcf4c 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -398,7 +398,7 @@ 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 => e - Rails.logger.warn "Quote verification failed for quote #{@quote.id} (status #{@quote.status_id}, uri #{@quote_uri}): #{e.class} - #{e.message}. Scheduling retry." + Rails.logger.warn "Quote verification failed: Quote ID #{@quote.id} (status ID #{@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 From 3e0f6fc5e26c82eb67bce57a11b2015ac5b0c515 Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:33:05 +0930 Subject: [PATCH 05/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index b8e5b1dcf4c..29debd21231 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,7 +3,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity DISTRIBUTE_DELAY = 1.minute PROCESSING_DELAY = (30.seconds)..(10.minutes) - PROCESSING_DELAY_QUOTE = (5.seconds)..(2.minutes) + PROCESSING_DELAY_QUOTE = (5.seconds)..(1.minutes) def perform @account.schedule_refresh_if_stale! From 4d1ab59a3573910a6e4f7f86566aef03de871c61 Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:35:14 +0930 Subject: [PATCH 06/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 29debd21231..48e712f49d2 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,7 +3,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity DISTRIBUTE_DELAY = 1.minute PROCESSING_DELAY = (30.seconds)..(10.minutes) - PROCESSING_DELAY_QUOTE = (5.seconds)..(1.minutes) + PROCESSING_DELAY_QUOTE = (5.seconds)..(1.minute) def perform @account.schedule_refresh_if_stale! From 0e196ff741ba3102080356b1926ba8f8a5888008 Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:35:39 +0930 Subject: [PATCH 07/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 48e712f49d2..fb4ae2acf14 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,7 +3,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity DISTRIBUTE_DELAY = 1.minute PROCESSING_DELAY = (30.seconds)..(10.minutes) - PROCESSING_DELAY_QUOTE = (5.seconds)..(1.minute) + PROCESSING_DELAY_QUOTE = (10.seconds)..(1.minute) def perform @account.schedule_refresh_if_stale! From c2af5a63cbead9cd64f926dcb5629f8c4f9cd17d Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 13:59:45 +0930 Subject: [PATCH 08/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index fb4ae2acf14..4b9baefa7a1 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,7 +3,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity DISTRIBUTE_DELAY = 1.minute PROCESSING_DELAY = (30.seconds)..(10.minutes) - PROCESSING_DELAY_QUOTE = (10.seconds)..(1.minute) + PROCESSING_DELAY_QUOTE = (10.seconds) def perform @account.schedule_refresh_if_stale! From e449e5d8aeb6bfc7a8d148e5268a420c93f52ee3 Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 14:02:51 +0930 Subject: [PATCH 09/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 4b9baefa7a1..fb4ae2acf14 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,7 +3,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity DISTRIBUTE_DELAY = 1.minute PROCESSING_DELAY = (30.seconds)..(10.minutes) - PROCESSING_DELAY_QUOTE = (10.seconds) + PROCESSING_DELAY_QUOTE = (10.seconds)..(1.minute) def perform @account.schedule_refresh_if_stale! From f0a30458d27cdbe618a471f9fa89a1263285140c Mon Sep 17 00:00:00 2001 From: Shlee Date: Wed, 8 Apr 2026 14:59:44 +0930 Subject: [PATCH 10/10] Update create.rb --- app/lib/activitypub/activity/create.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index fb4ae2acf14..fbd963e8138 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -3,7 +3,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity DISTRIBUTE_DELAY = 1.minute PROCESSING_DELAY = (30.seconds)..(10.minutes) - PROCESSING_DELAY_QUOTE = (10.seconds)..(1.minute) + PROCESSING_DELAY_QUOTE = (30.seconds)..(1.minute) def perform @account.schedule_refresh_if_stale!