about summary refs log tree commit diff
path: root/app/models
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2021-05-04 04:45:08 +0200
committerGitHub <noreply@github.com>2021-05-04 04:45:08 +0200
commitfab65848d2eb8065ef3e49aaca4e4fb33f94f2b1 (patch)
tree1f6d597465d8f5e6e73aa7f3543339a36891eac3 /app/models
parent8c44b723bb7505eb5923019b454ce9abd7ea59c0 (diff)
Fix empty home feed before first follow has finished processing (#16152)
Change queue of merge worker from pull to default
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/account_interactions.rb8
-rw-r--r--app/models/user.rb4
2 files changed, 9 insertions, 3 deletions
diff --git a/app/models/concerns/account_interactions.rb b/app/models/concerns/account_interactions.rb
index 51e8e04a8..958f6c78e 100644
--- a/app/models/concerns/account_interactions.rb
+++ b/app/models/concerns/account_interactions.rb
@@ -184,6 +184,14 @@ module AccountInteractions
     active_relationships.where(target_account: other_account).exists?
   end
 
+  def following_anyone?
+    active_relationships.exists?
+  end
+
+  def not_following_anyone?
+    !following_anyone?
+  end
+
   def blocking?(other_account)
     block_relationships.where(target_account: other_account).exists?
   end
diff --git a/app/models/user.rb b/app/models/user.rb
index 5a149f573..0440627c5 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -458,9 +458,7 @@ class User < ApplicationRecord
   end
 
   def regenerate_feed!
-    return unless Redis.current.setnx("account:#{account_id}:regeneration", true)
-    Redis.current.expire("account:#{account_id}:regeneration", 1.day.seconds)
-    RegenerationWorker.perform_async(account_id)
+    RegenerationWorker.perform_async(account_id) if Redis.current.set("account:#{account_id}:regeneration", true, nx: true, ex: 1.day.seconds)
   end
 
   def needs_feed_update?