From 47b8d195e6ea5bc5f3cd4fe3a5be0b25ec322f10 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 30 Oct 2018 15:02:55 +0100 Subject: [PATCH] Always let through notifications from staff (#9152) * Always let through notifications from staff Follow-up to #8993 * Let messages from staff through, but no other notifications --- app/services/notify_service.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index a8b7bb30b..b80ceef03 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -51,8 +51,12 @@ class NotifyService < BaseService @recipient.user.settings.interactions['must_be_following'] && !following_sender? end + def message? + @notification.type == :mention + end + def direct_message? - @notification.type == :mention && @notification.target_status.direct_visibility? + message? && @notification.target_status.direct_visibility? end def response_to_recipient? @@ -66,7 +70,6 @@ class NotifyService < BaseService def optional_non_following_and_direct? direct_message? && @recipient.user.settings.interactions['must_be_following_dm'] && - !from_staff? && !following_sender? && !response_to_recipient? end @@ -86,6 +89,9 @@ class NotifyService < BaseService def blocked? blocked = @recipient.suspended? # Skip if the recipient account is suspended anyway blocked ||= from_self? # Skip for interactions with self + + return blocked if message? && from_staff? + blocked ||= domain_blocking? # Skip for domain blocked accounts blocked ||= @recipient.blocking?(@notification.from_account) # Skip for blocked accounts blocked ||= @recipient.muting_notifications?(@notification.from_account)