diff options
author | Sergey Suprunenko <suprunenko.s@gmail.com> | 2020-08-15 15:27:41 +0200 |
---|---|---|
committer | Sergey Suprunenko <suprunenko.s@gmail.com> | 2020-08-15 15:27:41 +0200 |
commit | 0865f36965f1583085af3a424dbbc89de724fd33 (patch) | |
tree | f009becfbcd1e4a698d07c5d66e71084220f6295 /lib | |
parent | ec242b470654e5e66e3d3a36e8d7563e15b08016 (diff) | |
download | pleroma-0865f36965f1583085af3a424dbbc89de724fd33.tar.gz |
Mark notifications about statuses from muted users as read automatically
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/notification.ex | 6 |
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, |