Skip to content
Snippets Groups Projects
Commit 7f0d1b8c authored by Eugen Rochko's avatar Eugen Rochko
Browse files

If a status is within 40 statuses from the top of a home feed, do not

reinsert it when someone boosts it
parent 92569b1f
No related branches found
No related tags found
No related merge requests found
......@@ -22,8 +22,18 @@ class FeedManager
end
def push(timeline_type, account, status)
redis.zadd(key(timeline_type, account.id), status.id, status.reblog? ? status.reblog_of_id : status.id)
trim(timeline_type, account.id)
timeline_key = key(timeline_type, account.id)
if status.reblog?
# If the original status is within 40 statuses from top, do not re-insert it into the feed
rank = redis.zrevrank(timeline_key, status.reblog_of_id)
return if !rank.nil? && rank < 40
redis.zadd(timeline_key, status.id, status.reblog_of_id)
else
redis.zadd(timeline_key, status.id, status.id)
trim(timeline_type, account.id)
end
broadcast(account.id, event: 'update', payload: inline_render(account, 'api/v1/statuses/show', status))
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment