Sfoglia il codice sorgente

Do not notify subscribers for messages from users which are replies to others

tags/v1.1.4
Mark Felder 5 anni fa
parent
commit
fd287387a0
2 ha cambiato i file con 24 aggiunte e 0 eliminazioni
  1. +6
    -0
      lib/pleroma/web/common_api/utils.ex
  2. +18
    -0
      test/notification_test.exs

+ 6
- 0
lib/pleroma/web/common_api/utils.ex Vedi File

@@ -439,6 +439,12 @@ defmodule Pleroma.Web.CommonAPI.Utils do

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


+ 18
- 0
test/notification_test.exs Vedi File

@@ -42,6 +42,24 @@ defmodule Pleroma.NotificationTest 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…
Annulla
Salva