From e809caa0e1633cede15b2578d1582d9878eae291 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 2 Apr 2017 15:46:31 +0200 Subject: Fix feed regeneration bug --- app/services/precompute_feed_service.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'app/services/precompute_feed_service.rb') diff --git a/app/services/precompute_feed_service.rb b/app/services/precompute_feed_service.rb index 54d11b631..984eb8e86 100644 --- a/app/services/precompute_feed_service.rb +++ b/app/services/precompute_feed_service.rb @@ -4,10 +4,10 @@ class PrecomputeFeedService < BaseService # Fill up a user's home/mentions feed from DB and return a subset # @param [Symbol] type :home or :mentions # @param [Account] account - def call(type, account) - Status.send("as_#{type}_timeline", account).limit(FeedManager::MAX_ITEMS).each do |status| - next if FeedManager.instance.filter?(type, status, account) - redis.zadd(FeedManager.instance.key(type, account.id), status.id, status.reblog? ? status.reblog_of_id : status.id) + def call(_, account) + Status.as_home_timeline(account).limit(FeedManager::MAX_ITEMS).each do |status| + next if (status.direct_visibility? && !status.permitted?(account)) || FeedManager.instance.filter?(:home, status, account) + redis.zadd(FeedManager.instance.key(:home, account.id), status.id, status.reblog? ? status.reblog_of_id : status.id) end end -- cgit From d6b965cf083fb24fb16a9d2a58e240c357ad4ac9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 2 Apr 2017 15:58:25 +0200 Subject: Fix issue with feed merge-in code as well --- app/lib/feed_manager.rb | 2 +- app/services/precompute_feed_service.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'app/services/precompute_feed_service.rb') diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index b0dda1256..cd6ca1291 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -52,7 +52,7 @@ class FeedManager timeline_key = key(:home, into_account.id) from_account.statuses.limit(MAX_ITEMS).each do |status| - next if filter?(:home, status, into_account) + next if status.direct_visibility? || filter?(:home, status, into_account) redis.zadd(timeline_key, status.id, status.id) end diff --git a/app/services/precompute_feed_service.rb b/app/services/precompute_feed_service.rb index 984eb8e86..e1ec56e8d 100644 --- a/app/services/precompute_feed_service.rb +++ b/app/services/precompute_feed_service.rb @@ -6,7 +6,7 @@ class PrecomputeFeedService < BaseService # @param [Account] account def call(_, account) Status.as_home_timeline(account).limit(FeedManager::MAX_ITEMS).each do |status| - next if (status.direct_visibility? && !status.permitted?(account)) || FeedManager.instance.filter?(:home, status, account) + next if status.direct_visibility? || FeedManager.instance.filter?(:home, status, account) redis.zadd(FeedManager.instance.key(:home, account.id), status.id, status.reblog? ? status.reblog_of_id : status.id) end end -- cgit