diff options
Diffstat (limited to 'app/lib/feed_manager.rb')
-rw-r--r-- | app/lib/feed_manager.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index c16b25635..700fd61c4 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -228,6 +228,14 @@ class FeedManager return false end else + # A reblog may reach earlier than the original status because of the + # delay of the worker deliverying the original status, the late addition + # by merging timelines, and other reasons. + # If such a reblog already exists, just do not re-insert it into the feed. + rank = redis.zrevrank(reblog_key, status.id) + + return false unless rank.nil? + redis.zadd(timeline_key, status.id, status.id) end |