Fix errors when multiple Delete are received for a given actor (#17460)

rebase/4.0.0rc2
Claire 2022-02-07 13:14:48 +01:00 committed by GitHub
parent 92658f0fb0
commit 0d2cf3cd4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 1 deletions

View File

@ -6,7 +6,10 @@ class ActivityPub::ProcessingWorker
sidekiq_options backtrace: true, retry: 8 sidekiq_options backtrace: true, retry: 8
def perform(account_id, body, delivered_to_account_id = nil) def perform(account_id, body, delivered_to_account_id = nil)
ActivityPub::ProcessCollectionService.new.call(body, Account.find(account_id), override_timestamps: true, delivered_to_account_id: delivered_to_account_id, delivery: true) account = Account.find_by(id: account_id)
return if account.nil?
ActivityPub::ProcessCollectionService.new.call(body, account, override_timestamps: true, delivered_to_account_id: delivered_to_account_id, delivery: true)
rescue ActiveRecord::RecordInvalid => e rescue ActiveRecord::RecordInvalid => e
Rails.logger.debug "Error processing incoming ActivityPub object: #{e}" Rails.logger.debug "Error processing incoming ActivityPub object: #{e}"
end end