diff options
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/activitypub/distribute_poll_update_worker.rb | 2 | ||||
-rw-r--r-- | app/workers/feed_insert_worker.rb | 8 | ||||
-rw-r--r-- | app/workers/scheduler/feed_cleanup_scheduler.rb | 5 |
3 files changed, 14 insertions, 1 deletions
diff --git a/app/workers/activitypub/distribute_poll_update_worker.rb b/app/workers/activitypub/distribute_poll_update_worker.rb index 25dee4ee2..601075ea6 100644 --- a/app/workers/activitypub/distribute_poll_update_worker.rb +++ b/app/workers/activitypub/distribute_poll_update_worker.rb @@ -10,7 +10,7 @@ class ActivityPub::DistributePollUpdateWorker @status = Status.find(status_id) @account = @status.account - return unless @status.preloadable_poll + return if @status.preloadable_poll.nil? || @status.local_only? ActivityPub::DeliveryWorker.push_bulk(inboxes) do |inbox_url| [payload, @account.id, inbox_url] diff --git a/app/workers/feed_insert_worker.rb b/app/workers/feed_insert_worker.rb index 40bc9cb6e..9483510aa 100644 --- a/app/workers/feed_insert_worker.rb +++ b/app/workers/feed_insert_worker.rb @@ -14,6 +14,8 @@ class FeedInsertWorker when :list @list = List.find(id) @follower = @list.account + when :direct + @account = Account.find(id) end check_and_insert @@ -38,6 +40,8 @@ class FeedInsertWorker FeedManager.instance.filter?(:home, @status, @follower) when :list FeedManager.instance.filter?(:list, @status, @list) + when :direct + FeedManager.instance.filter?(:direct, @status, @account) end end @@ -53,6 +57,8 @@ class FeedInsertWorker FeedManager.instance.push_to_home(@follower, @status, update: update?) when :list FeedManager.instance.push_to_list(@list, @status, update: update?) + when :direct + FeedManager.instance.push_to_direct(@account, @status, update: update?) end end @@ -62,6 +68,8 @@ class FeedInsertWorker FeedManager.instance.unpush_from_home(@follower, @status, update: true) when :list FeedManager.instance.unpush_from_list(@list, @status, update: true) + when :direct + FeedManager.instance.unpush_from_direct(@account, @status, update: true) end end diff --git a/app/workers/scheduler/feed_cleanup_scheduler.rb b/app/workers/scheduler/feed_cleanup_scheduler.rb index aa0cc8b8d..78adc97e2 100644 --- a/app/workers/scheduler/feed_cleanup_scheduler.rb +++ b/app/workers/scheduler/feed_cleanup_scheduler.rb @@ -9,6 +9,7 @@ class Scheduler::FeedCleanupScheduler def perform clean_home_feeds! clean_list_feeds! + clean_direct_feeds! end private @@ -21,6 +22,10 @@ class Scheduler::FeedCleanupScheduler feed_manager.clean_feeds!(:list, inactive_list_ids) end + def clean_direct_feeds! + feed_manager.clean_feeds!(:direct, inactive_account_ids) + end + def inactive_account_ids @inactive_account_ids ||= User.confirmed.inactive.pluck(:account_id) end |