From 16147d73a26e8935897795a05423eba3a1ee78d2 Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Sat, 13 Apr 2019 23:32:41 -0500 Subject: [PATCH] `Status.search_for`: Don't need `Status.unscoped`; the `default_scope` sorts the way we intend. --- app/models/status.rb | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/app/models/status.rb b/app/models/status.rb index 7679fd60f..c134926c8 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -301,18 +301,16 @@ class Status < ApplicationRecord def search_for(term, limit = 33, account = nil) pattern = sanitize_sql_like(term) pattern = "#{pattern}" - Status.unscoped { - scope = Status.where("tsv @@ plainto_tsquery('english', ?)", pattern) - query = scope.where(visibility: :public) - if account.present? - query = query - .or(scope.where(account: account)) - .or(scope.where(account: account.following, visibility: [:unlisted, :private])) - .or(scope.where(id: account.mentions.select(:status_id))) - end - query = query.where(reblog_of_id: nil).order(id: :desc).limit(limit) - apply_timeline_filters(query, account, true) - } + scope = Status.where("tsv @@ plainto_tsquery('english', ?)", pattern) + query = scope.where(visibility: :public) + if account.present? + query = query + .or(scope.where(account: account)) + .or(scope.where(account: account.following, visibility: [:unlisted, :private])) + .or(scope.where(id: account.mentions.select(:status_id))) + end + query = query.where(reblog_of_id: nil).limit(limit) + apply_timeline_filters(query, account, true) end def selectable_visibilities