From 5961141ed711ea330ceb2691eff6ddda03b51cb1 Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Thu, 27 Feb 2020 17:12:23 -0600 Subject: (inefficiently) fix thread kick check --- app/models/concerns/status_threading_concern.rb | 2 +- app/models/status.rb | 2 +- 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 -- cgit