about summary refs log tree commit diff
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 73b545f17..cf1f432e4 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)