From 5c7add21761fc6b7d3c0af0819865242ce381960 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 7 Jan 2017 15:44:22 +0100 Subject: Fix #147 - Unreblogging will leave original status in feeds --- app/services/remove_status_service.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'app/services/remove_status_service.rb') diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index 836b8fdc594..7aca24d12d3 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -53,7 +53,12 @@ class RemoveStatusService < BaseService end def unpush(type, receiver, status) - redis.zremrangebyscore(FeedManager.instance.key(type, receiver.id), status.id, status.id) + if status.reblog? + 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) + end + FeedManager.instance.broadcast(receiver.id, type: 'delete', id: status.id) end -- cgit v1.2.3