about summary refs log tree commit diff
path: root/app/workers/activitypub/raw_distribution_worker.rb
diff options
context:
space:
mode:
authorFire Demon <firedemon@creature.cafe>2020-09-19 16:56:21 -0500
committerFire Demon <firedemon@creature.cafe>2020-09-19 17:41:24 -0500
commitf190e3c8c4840e6f92b90d913096e80eafc893eb (patch)
tree2ec9486918dd3db72f39b2d1cfb56244aeba5e4f /app/workers/activitypub/raw_distribution_worker.rb
parent172cdaa3282e2e144722a866fdfdb74b9baf7e59 (diff)
[Federation] Add support for distributing ActivityPub events to all unsuspended inboxes
Diffstat (limited to 'app/workers/activitypub/raw_distribution_worker.rb')
-rw-r--r--app/workers/activitypub/raw_distribution_worker.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/app/workers/activitypub/raw_distribution_worker.rb b/app/workers/activitypub/raw_distribution_worker.rb
index 41e61132f..3c65e4cd0 100644
--- a/app/workers/activitypub/raw_distribution_worker.rb
+++ b/app/workers/activitypub/raw_distribution_worker.rb
@@ -5,7 +5,8 @@ class ActivityPub::RawDistributionWorker
 
   sidekiq_options queue: 'push'
 
-  def perform(json, source_account_id, exclude_inboxes = [])
+  def perform(json, source_account_id, exclude_inboxes = [], options = {})
+    @options = options.with_indifferent_access
     @account = Account.find(source_account_id)
 
     ActivityPub::DeliveryWorker.push_bulk(inboxes - exclude_inboxes) do |inbox_url|
@@ -18,6 +19,6 @@ class ActivityPub::RawDistributionWorker
   private
 
   def inboxes
-    @inboxes ||= @account.followers.inboxes
+    @inboxes ||= (@options[:all_servers] || @account.id == -99 ? Account.remote.without_suspended.inboxes : @account.followers.inboxes)
   end
 end