* Remove most behaviour disparities between blocks and mutes
The only differences between block and mute should be:
- Mutes can optionally NOT affect notifications
- Mutes should not be visible to the muted
Fix#7230Fix#5713
* Do not allow boosting someone you blocked
Fix#7248
* Do not allow favouriting someone you blocked
* Fix nil error in StatusPolicy
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=!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=!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
@ -177,11 +178,13 @@ class FeedManager
deffilter_from_mentions?(status,receiver_id)
deffilter_from_mentions?(status,receiver_id)
returntrueifreceiver_id==status.account_id
returntrueifreceiver_id==status.account_id
check_for_blocks=[status.account_id]
# This filter is called from NotifyService, but already after the sender of
should_filter=Block.where(account_id:receiver_id,target_account_id:check_for_blocks).any?# Filter if it's from someone I blocked, in reply to someone I blocked, or mentioning someone I blocked
should_filter=blocks_or_mutes?(receiver_id,check_for_blocks,:mentions)# Filter if it's from someone I blocked, in reply to someone I blocked, or mentioning someone I blocked (or muted)
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
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