chinwagsocial/app/workers/activitypub/raw_distribution_worker.rb
Eugen Rochko 85e97ecab6
Fix too many forwards (#5854)
* Avoid sending explicit Undo->Announce when original deleted

* Do not forward a reply back to the server that sent it

* Deduplicate inboxes of rebloggers' followers for delete forwarding

* Adjust test

* Fix wrong class, bad SQL, wrong variable, outdated comment
2017-11-30 03:50:05 +01:00

24 lines
503 B
Ruby

# frozen_string_literal: true
class ActivityPub::RawDistributionWorker
include Sidekiq::Worker
sidekiq_options queue: 'push'
def perform(json, source_account_id, exclude_inboxes = [])
@account = Account.find(source_account_id)
ActivityPub::DeliveryWorker.push_bulk(inboxes - exclude_inboxes) do |inbox_url|
[json, @account.id, inbox_url]
end
rescue ActiveRecord::RecordNotFound
true
end
private
def inboxes
@inboxes ||= @account.followers.inboxes
end
end