Fix #651 - Do not reinsert original status into all followers feeds

upon un-reblogging. Check if the reblog was in the feed in the first
place. It might have been filtered on distribution.
th-downstream
Eugen Rochko 8 years ago
parent c4222a7a62
commit 6d453b00c6

@ -59,7 +59,7 @@ class RemoveStatusService < BaseService
end end
def unpush(type, receiver, status) def unpush(type, receiver, status)
if status.reblog? if status.reblog? && !redis.zscore(FeedManager.instance.key(type, receiver.id), status.reblog_of_id).nil?
redis.zadd(FeedManager.instance.key(type, receiver.id), status.reblog_of_id, status.reblog_of_id) redis.zadd(FeedManager.instance.key(type, receiver.id), status.reblog_of_id, status.reblog_of_id)
else else
redis.zremrangebyscore(FeedManager.instance.key(type, receiver.id), status.id, status.id) redis.zremrangebyscore(FeedManager.instance.key(type, receiver.id), status.id, status.id)

Loading…
Cancel
Save