logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 7bb36189392280fef3c3a20279671885273383d2
parent: b2b332984c42d4be8f5d4890e53faa09c44a4fb2
Author: rinpatch <rinpatch@sdf.org>
Date:   Mon, 29 Jun 2020 18:06:25 +0000

Merge branch 'fix-notification-filtering' into 'develop'

Notifications: Never return `nil` in the notification list.

See merge request pleroma/pleroma!2705

Diffstat:

Mlib/pleroma/notification.ex1+
Mtest/notification_test.exs10++++++++++
2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex @@ -367,6 +367,7 @@ defmodule Pleroma.Notification do do_send = do_send && user in enabled_receivers create_notification(activity, user, do_send) end) + |> Enum.reject(&is_nil/1) {:ok, notifications} end diff --git a/test/notification_test.exs b/test/notification_test.exs @@ -22,6 +22,16 @@ defmodule Pleroma.NotificationTest do alias Pleroma.Web.Streamer describe "create_notifications" do + test "never returns nil" do + user = insert(:user) + other_user = insert(:user, %{invisible: true}) + + {:ok, activity} = CommonAPI.post(user, %{status: "yeah"}) + {:ok, activity} = CommonAPI.react_with_emoji(activity.id, other_user, "☕") + + refute {:ok, [nil]} == Notification.create_notifications(activity) + end + test "creates a notification for an emoji reaction" do user = insert(:user) other_user = insert(:user)