Mark notifications about statuses from muted users as read automatically

This commit is contained in:
Sergey Suprunenko 2020-08-15 15:27:41 +02:00
commit 0865f36965
No known key found for this signature in database
GPG key ID: 5DCA7D1BE3914F9C
3 changed files with 12 additions and 2 deletions

View file

@ -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,