diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 487b6522378ca..1dbc07ab21715 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -222,8 +222,13 @@ def process_mention(tag) return if tag['href'].blank? account = account_from_uri(tag['href']) - account = ActivityPub::FetchRemoteAccountService.new.call(tag['href'], request_id: @options[:request_id]) if account.nil? - + begin + return unless DeliveryFailureTracker.available?(@domain) || !account.nil + account = ActivityPub::FetchRemoteAccountService.new.call(tag['href'], request_id: @options[:request_id]) if account.nil? + rescue HTTP::ConnectionError => e + Rails.logger.info "Fetching account #{tag['href']} failed: #{e}" + raise + end return if account.nil? @mentions << Mention.new(account: account, silent: false)