diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2018-10-30 15:02:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-30 15:02:55 +0100 |
commit | 47b8d195e6ea5bc5f3cd4fe3a5be0b25ec322f10 (patch) | |
tree | ae5facd568535195a881605ed6294a93a9008130 /app/services | |
parent | a03d5066265c9555ea2e42cf4bb06edc7439e50c (diff) |
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
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/notify_service.rb | 10 |
1 files 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) |