diff options
author | eugenijm <eugenijm@protonmail.com> | 2019-10-25 21:29:23 +0300 |
---|---|---|
committer | eugenijm <eugenijm@protonmail.com> | 2019-10-26 02:29:18 +0300 |
commit | 058065448510af59f550ec7d7f99b81388bc7a40 (patch) | |
tree | ebfab2d6e509637607f8c42839abd1c15c0bc5d6 /lib/pleroma/conversation.ex | |
parent | 653054d301b88070cd60f6b0f8a0b188dee81cba (diff) | |
download | pleroma-058065448510af59f550ec7d7f99b81388bc7a40.tar.gz |
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`.
Diffstat (limited to 'lib/pleroma/conversation.ex')
-rw-r--r-- | lib/pleroma/conversation.ex | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/pleroma/conversation.ex b/lib/pleroma/conversation.ex index 098016af2..ade3a526a 100644 --- a/lib/pleroma/conversation.ex +++ b/lib/pleroma/conversation.ex @@ -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) |