aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSergey Suprunenko <suprunenko.s@gmail.com>2020-08-15 15:27:41 +0200
committerSergey Suprunenko <suprunenko.s@gmail.com>2020-08-15 15:27:41 +0200
commit0865f36965f1583085af3a424dbbc89de724fd33 (patch)
treef009becfbcd1e4a698d07c5d66e71084220f6295 /lib
parentec242b470654e5e66e3d3a36e8d7563e15b08016 (diff)
downloadpleroma-0865f36965f1583085af3a424dbbc89de724fd33.tar.gz
Mark notifications about statuses from muted users as read automatically
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/notification.ex6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex
index 0b171563b..b4719896e 100644
--- a/lib/pleroma/notification.ex
+++ b/lib/pleroma/notification.ex
@@ -441,6 +441,7 @@ defmodule Pleroma.Notification do
|> Multi.insert(:notification, %Notification{
user_id: user.id,
activity: activity,
+ seen: mark_as_read?(activity, user),
type: type_from_activity(activity)
})
|> Marker.multi_set_last_read_id(user, "notifications")
@@ -634,6 +635,11 @@ defmodule Pleroma.Notification do
def skip?(_, _, _), do: false
+ def mark_as_read?(activity, target_user) do
+ user = Activity.user_actor(activity)
+ User.mutes_user?(target_user, user)
+ end
+
def for_user_and_activity(user, activity) do
from(n in __MODULE__,
where: n.user_id == ^user.id,