If a status is within 40 statuses from the top of a home feed, do not
reinsert it when someone boosts it
This commit is contained in:
parent
92569b1f0d
commit
7f0d1b8cc0
|
@ -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)
|
||||
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
|
||||
|
||||
|
|
Reference in a new issue