diff options
Diffstat (limited to 'app/services/remove_status_service.rb')
-rw-r--r-- | app/services/remove_status_service.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb index d6043fb5d..2918c6f6f 100644 --- a/app/services/remove_status_service.rb +++ b/app/services/remove_status_service.rb @@ -41,6 +41,7 @@ class RemoveStatusService < BaseService remove_from_hashtags remove_from_public remove_from_media if @status.media_attachments.any? + remove_from_direct if status.direct_visibility? remove_from_spam_check remove_media end @@ -56,6 +57,7 @@ class RemoveStatusService < BaseService def remove_from_self FeedManager.instance.unpush_from_home(@account, @status) + FeedManager.instance.unpush_from_direct(@account, @status) if @status.direct_visibility? end def remove_from_followers @@ -157,6 +159,12 @@ class RemoveStatusService < BaseService redis.publish(@status.local? ? 'timeline:public:local:media' : 'timeline:public:remote:media', @payload) end + def remove_from_direct + @mentions.each do |mention| + FeedManager.instance.unpush_from_direct(mention.account, @status) if mention.account.local? + end + end + def remove_media return if @options[:redraft] || (!@options[:immediate] && @status.reported?) |