about summary refs log tree commit diff
path: root/app/services
diff options
context:
space:
mode:
authorFire Demon <firedemon@creature.cafe>2020-10-10 03:15:43 -0500
committerFire Demon <firedemon@creature.cafe>2020-10-10 03:15:43 -0500
commit7c9d81ea86d59df03ef1837f686913867deeffda (patch)
tree962d711cd9f077667e2b30121d638bf2f6349fb8 /app/services
parentf89fd296ce59f00db47bfe85305b87aa3f3fdc00 (diff)
Hard delete unpublished statuses when "unpublish on delete" is not enabled
Diffstat (limited to 'app/services')
-rw-r--r--app/services/remove_status_service.rb4
1 files changed, 1 insertions, 3 deletions
diff --git a/app/services/remove_status_service.rb b/app/services/remove_status_service.rb
index ca7f830ec..29c835051 100644
--- a/app/services/remove_status_service.rb
+++ b/app/services/remove_status_service.rb
@@ -19,8 +19,6 @@ class RemoveStatusService < BaseService
     @reblogs  = status.reblogs.includes(:account).to_a
     @options  = options
 
-    return unless status.published? || @options[:unpublished]
-
     RedisLock.acquire(lock_options) do |lock|
       if lock.acquired?
         remove_from_self if status.account.local? && !@options[:unpublish]
@@ -51,7 +49,7 @@ class RemoveStatusService < BaseService
     # original object being removed implicitly removes reblogs
     # of it. The Delete activity of the original is forwarded
     # separately.
-    return if !@account.local? || @options[:original_removed]
+    return if !@account.local? || @options[:original_removed] || !(status.published? || @options[:unpublished])
 
     remove_from_remote_followers
     remove_from_remote_affected