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:
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)