ifstatus.reply?&&!status.in_reply_to_account_id.nil?# Filter out if it's a reply
ifstatus.reply?&&!status.in_reply_to_account_id.nil?# Filter out if it's a reply
should_filter=!receiver.following?(status.in_reply_to_account)# and I'm not following the person it's a reply to
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&&=!(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
should_filter&&=!(status.account_id==status.in_reply_to_account_id)# and it's not a self-reply
returnshould_filter
returnshould_filter
elsifstatus.reblog?# Filter out a reblog
elsifstatus.reblog?# Filter out a reblog
returnstatus.reblog.account.blocking?(receiver)# or if the author of the reblogged status is blocking me
returnBlock.where(account_id:status.reblog.account_id,target_account_id:receiver_id).exists?# or if the author of the reblogged status is blocking me
should_filter=receiver.id==status.account_id# Filter if I'm mentioning myself
should_filter=receiver_id==status.account_id# Filter if I'm mentioning myself
should_filter||=receiver.blocking?(check_for_blocks)# or it's from someone I blocked, in reply to someone I blocked, or mentioning someone I blocked
should_filter||=Block.where(account_id:receiver_id,target_account_id:check_for_blocks).any?# or it's from someone I blocked, in reply to someone I blocked, or mentioning someone I blocked
should_filter||=(status.account.silenced?&&!receiver.following?(status.account))# of if the account is silenced and I'm not following them
should_filter||=(status.account.silenced?&&!Follow.where(account_id:receiver_id,target_account_id:status.account_id).exists?)# of if the account is silenced and I'm not following them