diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2020-09-18 17:26:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-18 17:26:45 +0200 |
commit | 974b1b79ce58e6799e5e5bb576e630ca783150de (patch) | |
tree | 93dfcb52fc58d714b3a9bd454f7589fe98c1d1ae /app/workers/feed_insert_worker.rb | |
parent | 75e4bd9413143ee208d00814c728fc2bf0c58cf2 (diff) |
Add option to be notified when a followed user posts (#13546)
* Add bell button Fix #4890 * Remove duplicate type from post-deployment migration * Fix legacy class type mappings * Improve query performance with better index * Fix validation * Remove redundant index from notifications
Diffstat (limited to 'app/workers/feed_insert_worker.rb')
-rw-r--r-- | app/workers/feed_insert_worker.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/app/workers/feed_insert_worker.rb b/app/workers/feed_insert_worker.rb index 633ec91bd..b70c7e389 100644 --- a/app/workers/feed_insert_worker.rb +++ b/app/workers/feed_insert_worker.rb @@ -23,7 +23,10 @@ class FeedInsertWorker private def check_and_insert - perform_push unless feed_filtered? + return if feed_filtered? + + perform_push + perform_notify if notify? end def feed_filtered? @@ -35,6 +38,12 @@ class FeedInsertWorker end end + def notify? + return false if @type != :home || @status.reblog? || (@status.reply? && @status.in_reply_to_account_id != @status.account_id) + + Follow.find_by(account: @follower, target_account: @status.account)&.notify? + end + def perform_push case @type when :home @@ -43,4 +52,8 @@ class FeedInsertWorker FeedManager.instance.push_to_list(@list, @status) end end + + def perform_notify + NotifyService.new.call(@follower, :status, @status) + end end |