Reverting home timeline changes

This commit is contained in:
Fosco Marotto
2021-01-21 18:05:24 -05:00
parent 0369a1b9fb
commit e9cf46b4bc
7 changed files with 26 additions and 36 deletions

View File

@@ -88,28 +88,28 @@ class FeedManager
def filter_from_home?(status, receiver_id)
return false if receiver_id == status.account_id
# return true if status.reply? && (status.in_reply_to_id.nil? || status.in_reply_to_account_id.nil?)
return true if status.reply? && (status.in_reply_to_id.nil? || status.in_reply_to_account_id.nil?)
return true if phrase_filtered?(status, receiver_id, :home)
# check_for_blocks = status.active_mentions.pluck(:account_id)
# check_for_blocks.concat([status.account_id])
check_for_blocks = status.active_mentions.pluck(:account_id)
check_for_blocks.concat([status.account_id])
# if status.reblog?
# check_for_blocks.concat([status.reblog.account_id])
# check_for_blocks.concat(status.reblog.active_mentions.pluck(:account_id))
# end
if status.reblog?
check_for_blocks.concat([status.reblog.account_id])
check_for_blocks.concat(status.reblog.active_mentions.pluck(:account_id))
end
# return true if blocks_or_mutes?(receiver_id, check_for_blocks, :home)
return true if blocks_or_mutes?(receiver_id, check_for_blocks, :home)
# if status.reply? && !status.in_reply_to_account_id.nil? # Filter out if it's a reply
# should_filter = !Follow.where(account_id: receiver_id, target_account_id: status.in_reply_to_account_id).exists? # and I'm not following the person it's a reply to
# should_filter &&= receiver_id != status.in_reply_to_account_id # and it's not a reply to me
# should_filter &&= status.account_id != status.in_reply_to_account_id # and it's not a self-reply
# return should_filter
#elsif status.reblog? # Filter out a reblog
# should_filter ||= Block.where(account_id: status.reblog.account_id, target_account_id: receiver_id).exists? # or if the author of the reblogged status is blocking me
# return should_filter
#end
if status.reply? && !status.in_reply_to_account_id.nil? # Filter out if it's a reply
should_filter = !Follow.where(account_id: receiver_id, target_account_id: status.in_reply_to_account_id).exists? # and I'm not following the person it's a reply to
should_filter &&= receiver_id != status.in_reply_to_account_id # and it's not a reply to me
should_filter &&= status.account_id != status.in_reply_to_account_id # and it's not a self-reply
return should_filter
elsif status.reblog? # Filter out a reblog
should_filter ||= Block.where(account_id: status.reblog.account_id, target_account_id: receiver_id).exists? # or if the author of the reblogged status is blocking me
return should_filter
end
return false if status.group_id

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
class SortingQueryBuilder < BaseService
def call(sort_type, group = nil, page = 1, account = nil)
def call(sort_type, group = nil, page = 1)
limit = 20
min_likes = 5
@@ -44,8 +44,6 @@ class SortingQueryBuilder < BaseService
query = query.with_public_visibility if group.nil?
query = query.where('statuses.created_at > ?', date_limit)
query = query.where(group: group) unless group.nil?
query = query.excluding_blocked_reblogs(account) unless account.nil?
query = query.not_excluded_by_account(account) unless account.nil?
query = query.page(page.to_i)
query = query.per(limit)
return query
@@ -57,8 +55,6 @@ class SortingQueryBuilder < BaseService
query = query.where('status_stats.reblogs_count > ?', min_reblogs) unless sort_type == 'recent'
query = query.where('status_stats.favourites_count > ?', min_likes) unless sort_type == 'recent'
query = query.joins(:status)
query = query.excluding_blocked_reblogs(account) unless account.nil?
query = query.not_excluded_by_account(account) unless account.nil?
query = query.where('statuses.reblog_of_id IS NULL')
query = query.where('statuses.in_reply_to_id IS NULL')
query = query.where('statuses.group_id': group) unless group.nil?