summaryrefslogtreecommitdiffstats
path: root/app/services/remove_status_service.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-02-22 15:52:47 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-02-22 15:52:47 +0100
commitc77a54fe0aadceb9b1e74097dbdb272a4eb62fd5 (patch)
tree3d832544003a110437e253623717f53bf30af16b /app/services/remove_status_service.rb
parent974d712fbe5775903a4fec5ddc44b4069e68c925 (diff)
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.
Diffstat (limited to 'app/services/remove_status_service.rb')
-rw-r--r--app/services/remove_status_service.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index 73b545f170b..cf1f432e481 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -59,7 +59,7 @@ class RemoveStatusService < BaseService
end
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)
else
redis.zremrangebyscore(FeedManager.instance.key(type, receiver.id), status.id, status.id)