Filter out reblogs of blocked users from public timeline (the not real-time variant)

This commit is contained in:
Eugen Rochko 2016-10-16 18:35:20 +02:00
parent b8eda3026f
commit 1de2833f30

View file

@ -86,7 +86,7 @@ class Status < ApplicationRecord
end end
def self.as_public_timeline(account) def self.as_public_timeline(account)
where.not(account_id: account.blocking).with_includes.with_counters joins('LEFT JOIN statuses AS reblogs ON reblogs.id = statuses.reblog_of_id').where('reblogs.account_id NOT IN (SELECT target_account_id FROM blocks WHERE account_id = ?) AND statuses.account_id NOT IN (SELECT target_account_id FROM blocks WHERE account_id = ?)', account.id, account.id).with_includes.with_counters
end end
def self.favourites_map(status_ids, account_id) def self.favourites_map(status_ids, account_id)