mirror of
https://github.com/mastodon/mastodon.git
synced 2024-11-09 17:15:18 +00:00
Fix broken notifications for mentions from local moderators in 4.2.11 (#31484)
This commit is contained in:
parent
a02ff33f0e
commit
d675803f07
|
@ -87,7 +87,7 @@ class NotifyService < BaseService
|
||||||
|
|
||||||
def from_staff?
|
def from_staff?
|
||||||
sender = @notification.from_account
|
sender = @notification.from_account
|
||||||
sender.local? && sender.user.present? && sender.user_role&.overrides?(@recipient.user_role) && @sender.user_role&.highlighted? && sender.user_role&.can?(*UserRole::Flags::CATEGORIES[:moderation])
|
sender.local? && sender.user.present? && sender.user_role&.overrides?(@recipient.user_role) && sender.user_role&.highlighted? && sender.user_role&.can?(*UserRole::Flags::CATEGORIES[:moderation].map(&:to_sym))
|
||||||
end
|
end
|
||||||
|
|
||||||
def optional_non_following_and_direct?
|
def optional_non_following_and_direct?
|
||||||
|
|
|
@ -18,6 +18,17 @@ RSpec.describe NotifyService, type: :service do
|
||||||
expect { subject }.to_not change(Notification, :count)
|
expect { subject }.to_not change(Notification, :count)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when the sender is a local moderator' do
|
||||||
|
let(:sender) { Fabricate(:user, role: UserRole.find_by(name: 'Admin')).account }
|
||||||
|
let(:type) { :mention }
|
||||||
|
let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender)) }
|
||||||
|
|
||||||
|
it 'does notify when the sender is blocked' do
|
||||||
|
recipient.block!(sender)
|
||||||
|
expect { subject }.to change(Notification, :count).by(1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
it 'does not notify when sender is muted with hide_notifications' do
|
it 'does not notify when sender is muted with hide_notifications' do
|
||||||
recipient.mute!(sender, notifications: true)
|
recipient.mute!(sender, notifications: true)
|
||||||
expect { subject }.to_not change(Notification, :count)
|
expect { subject }.to_not change(Notification, :count)
|
||||||
|
|
Loading…
Reference in a new issue