Do not notify subscribers for messages from users which are replies to others
This commit is contained in:
parent
a042a7ac6d
commit
fd287387a0
@ -439,6 +439,12 @@ def maybe_notify_mentioned_recipients(
|
||||
|
||||
def maybe_notify_mentioned_recipients(recipients, _), do: recipients
|
||||
|
||||
def maybe_notify_subscribers(_, %Activity{
|
||||
data: %{"object" => %Object{data: %{"inReplyTo" => _ap_id}}}
|
||||
}) do
|
||||
:nothing
|
||||
end
|
||||
|
||||
def maybe_notify_subscribers(
|
||||
recipients,
|
||||
%Activity{data: %{"actor" => actor, "type" => type}} = activity
|
||||
|
@ -42,6 +42,24 @@ test "it creates a notification for subscribed users" do
|
||||
|
||||
assert notification.user_id == subscriber.id
|
||||
end
|
||||
|
||||
test "does not create a notification for subscribed users if status is a reply" do
|
||||
user = insert(:user)
|
||||
other_user = insert(:user)
|
||||
subscriber = insert(:user)
|
||||
|
||||
User.subscribe(subscriber, other_user)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(user, %{"status" => "test post"})
|
||||
|
||||
{:ok, reply_activity} =
|
||||
CommonAPI.post(other_user, %{
|
||||
"status" => "test reply",
|
||||
"in_reply_to_status_id" => activity.id
|
||||
})
|
||||
|
||||
refute Notification.create_notification(reply_activity, subscriber)
|
||||
end
|
||||
end
|
||||
|
||||
describe "create_notification" do
|
||||
|
Loading…
Reference in New Issue
Block a user