about summary refs log tree commit diff
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2020-02-27 17:12:23 -0600
committermultiple creatures <dev@multiple-creature.party>2020-02-27 17:12:23 -0600
commit5961141ed711ea330ceb2691eff6ddda03b51cb1 (patch)
treebc5e18bca8dc71e1b85030767b45461e8f5d3003
parent95ce6729830f92d15c619ea2f4d1e125ffe7209f (diff)
(inefficiently) fix thread kick check
-rw-r--r--app/models/concerns/status_threading_concern.rb2
-rw-r--r--app/models/status.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/app/models/concerns/status_threading_concern.rb b/app/models/concerns/status_threading_concern.rb
index 9cbf0cda6..c202278b2 100644
--- a/app/models/concerns/status_threading_concern.rb
+++ b/app/models/concerns/status_threading_concern.rb
@@ -86,7 +86,7 @@ module StatusThreadingConcern
     domains     = statuses.map(&:account_domain).compact.uniq
     relations   = relations_map_for_account(account, account_ids, domains)
 
-    statuses.reject! { |status| StatusFilter.new(status, account, relations).filtered? }
+    statuses.reject! { |status| ConversationKick.where(account_id: status.account_id, conversation_id: status.conversation_id).exists? || StatusFilter.new(status, account, relations).filtered? }
 
     # Order ancestors/descendants by tree path
     statuses.sort_by! { |status| ids.index(status.id) }
diff --git a/app/models/status.rb b/app/models/status.rb
index 4258fe39d..6c184448b 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -107,7 +107,7 @@ class Status < ApplicationRecord
   scope :curated, -> { where(curated: true) }
   scope :hidden, -> { where(hidden: true) }
 
-  scope :with_accounts, ->(ids) { where(id: ids).where.not(account_id: ConversationKick.select(:account_id).where(conversation_id: self.conversation_id)).includes(:account) }
+  scope :with_accounts, ->(ids) { where(id: ids).includes(:account) }
   scope :without_replies, -> { where('statuses.reply = FALSE OR statuses.in_reply_to_account_id = statuses.account_id') }
   scope :without_reblogs, -> { where('statuses.reblog_of_id IS NULL') }
   scope :reblogs, -> { where('statuses.reblog_of_id IS NOT NULL') } # all reblogs