From 9f5b55ad4f6788f2a2e70a0d11bf12bcc121653d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 12 Mar 2019 22:58:59 +0100 Subject: Fix poll update handler calling method was that was not available (#10246) * Fix poll update handler calling method was that was not available Fix regression from #10209 * Refactor VoteService * Refactor ActivityPub::DistributePollUpdateWorker and optimize it * Fix typo * Fix typo --- app/workers/activitypub/distribute_poll_update_worker.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'app/workers') diff --git a/app/workers/activitypub/distribute_poll_update_worker.rb b/app/workers/activitypub/distribute_poll_update_worker.rb index 718279c1b..d60fde557 100644 --- a/app/workers/activitypub/distribute_poll_update_worker.rb +++ b/app/workers/activitypub/distribute_poll_update_worker.rb @@ -28,13 +28,16 @@ class ActivityPub::DistributePollUpdateWorker def inboxes return @inboxes if defined?(@inboxes) - target_accounts = @status.mentions.map(&:account).reject(&:local?) - target_accounts += @status.reblogs.map(&:account).reject(&:local?) - target_accounts += @status.poll.votes.map(&:account).reject(&:local?) - target_accounts.uniq!(&:id) - @inboxes = target_accounts.select(&:activitypub?).pluck(&:inbox_url) - @inboxes += @account.followers.inboxes unless @status.direct_visibility? + + @inboxes = [@status.mentions, @status.reblogs, @status.poll.votes].flat_map do |relation| + relation.includes(:account).map do |record| + record.account.preferred_inbox_url if !record.account.local? && record.account.activitypub? + end + end + + @inboxes.concat(@account.followers.inboxes) unless @status.direct_visibility? @inboxes.uniq! + @inboxes.compact! @inboxes end -- cgit