aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/notification.ex
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2020-08-26 16:37:25 -0500
committerMark Felder <feld@FreeBSD.org>2020-08-26 16:37:25 -0500
commitc199e18bb5b1a923029248783c60acf7c9597f64 (patch)
treeeaae6461c41c5ed526cc1a7cb106c6c881cafcb4 /lib/pleroma/notification.ex
parent98f8851f29f940051656caa1715820bce70f8c29 (diff)
parent6f17aea066498bf070f0decb3ac0508c6b04e3b8 (diff)
downloadpleroma-2168-media-preview-proxy.tar.gz
Merge branch 'develop' into 2168-media-preview-proxy2168-media-preview-proxy
Diffstat (limited to 'lib/pleroma/notification.ex')
-rw-r--r--lib/pleroma/notification.ex7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex
index 0b171563b..c1825f810 100644
--- a/lib/pleroma/notification.ex
+++ b/lib/pleroma/notification.ex
@@ -15,6 +15,7 @@ defmodule Pleroma.Notification do
alias Pleroma.Repo
alias Pleroma.ThreadMute
alias Pleroma.User
+ alias Pleroma.Web.CommonAPI
alias Pleroma.Web.CommonAPI.Utils
alias Pleroma.Web.Push
alias Pleroma.Web.Streamer
@@ -441,6 +442,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 +636,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) || CommonAPI.thread_muted?(target_user, activity)
+ end
+
def for_user_and_activity(user, activity) do
from(n in __MODULE__,
where: n.user_id == ^user.id,