diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 6208130dad..824d45ed75 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -486,7 +486,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity def process_references! references = @object['references'].nil? ? [] : ActivityPub::FetchReferencesService.new.call(@status, @object['references']) - ProcessReferencesService.perform_worker_async(@status, [], references, [quote].compact) + ProcessReferencesService.call_service_without_error(@status, [], references, [quote].compact) end def quote_local? diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb index 2ae2824a1e..6da0880a93 100644 --- a/app/services/activitypub/process_status_update_service.rb +++ b/app/services/activitypub/process_status_update_service.rb @@ -255,7 +255,7 @@ class ActivityPub::ProcessStatusUpdateService < BaseService references = @json['references'].nil? ? [] : ActivityPub::FetchReferencesService.new.call(@status, @json['references']) quote = @json['quote'] || @json['quoteUrl'] || @json['quoteURL'] || @json['_misskey_quote'] - ProcessReferencesService.perform_worker_async(@status, [], references, [quote].compact) + ProcessReferencesService.call_service_without_error(@status, [], references, [quote].compact) end def expected_type? diff --git a/app/services/process_references_service.rb b/app/services/process_references_service.rb index 6d61c7decd..1b9e4ab48b 100644 --- a/app/services/process_references_service.rb +++ b/app/services/process_references_service.rb @@ -58,6 +58,14 @@ class ProcessReferencesService < BaseService ProcessReferencesService.new.call(status, reference_parameters || [], urls: urls || [], fetch_remote: false, quote_urls: quote_urls) end + def self.call_service_without_error(status, reference_parameters, urls, quote_urls = []) + begin + call_service(status, reference_parameters, urls, quote_urls) + rescue + true + end + end + private def references