Merge remote-tracking branch 'origin/master' into merge-upstream

rebase/4.0.0rc2
David Yip 2018-01-18 09:17:58 -06:00
commit 1964a0f941
No known key found for this signature in database
GPG Key ID: 7DA0036508FCC0CC
2 changed files with 11 additions and 2 deletions

View File

@ -54,7 +54,7 @@ class NotifyService < BaseService
end
def response_to_recipient?
@notification.target_status.in_reply_to_account_id == @recipient.id
@notification.target_status.in_reply_to_account_id == @recipient.id && @notification.target_status.thread&.direct_visibility?
end
def optional_non_following_and_direct?

View File

@ -82,10 +82,19 @@ RSpec.describe NotifyService do
is_expected.to_not change(Notification, :count)
end
context 'if the message chain initiated by recipient' do
context 'if the message chain initiated by recipient, but is not direct message' do
let(:reply_to) { Fabricate(:status, account: recipient) }
let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) }
it 'does not notify' do
is_expected.to_not change(Notification, :count)
end
end
context 'if the message chain initiated by recipient and is direct message' do
let(:reply_to) { Fabricate(:status, account: recipient, visibility: :direct) }
let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) }
it 'does notify' do
is_expected.to change(Notification, :count)
end