Mark the conversations with the blocked user as read and update the blocking user's unread_conversation_count.

Since the conversations with the blocked user are invisible, they are excluded
from the blocking user's `unread_conversation_count`.
This commit is contained in:
eugenijm 2019-10-25 21:29:23 +03:00
commit 0580654485
5 changed files with 175 additions and 11 deletions

View file

@ -67,7 +67,13 @@ defmodule Pleroma.Conversation do
participations =
Enum.map(users, fn user ->
User.increment_unread_conversation_count(conversation, user)
invisible_conversation = Enum.any?(users, &User.blocks?(user, &1))
unless invisible_conversation do
User.increment_unread_conversation_count(conversation, user)
end
opts = Keyword.put(opts, :invisible_conversation, invisible_conversation)
{:ok, participation} =
Participation.create_for_user_and_conversation(user, conversation, opts)