aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/conversation
diff options
context:
space:
mode:
authoreugenijm <eugenijm@protonmail.com>2019-12-20 16:38:21 +0300
committereugenijm <eugenijm@protonmail.com>2020-01-05 17:38:51 +0300
commit0b6d1292d29e1f376566fe75aca60c612e9233dc (patch)
treecf98d1ca36ab0cdcbb5e415f257afc9e3be022e9 /lib/pleroma/conversation
parentee0c40831efde5054f587ae0e371fffcad1396b7 (diff)
downloadpleroma-0b6d1292d29e1f376566fe75aca60c612e9233dc.tar.gz
Fix mark-as-read (`POST /api/v1/conversations/:id/read`) refreshing updated_at and bringing conversation to the top in the user's direct conversation list
Diffstat (limited to 'lib/pleroma/conversation')
-rw-r--r--lib/pleroma/conversation/participation.ex10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex
index aafe57280..e5d28ebff 100644
--- a/lib/pleroma/conversation/participation.ex
+++ b/lib/pleroma/conversation/participation.ex
@@ -64,11 +64,13 @@ defmodule Pleroma.Conversation.Participation do
end
def mark_as_read(participation) do
- participation
- |> read_cng(%{read: true})
- |> Repo.update()
+ __MODULE__
+ |> where(id: ^participation.id)
+ |> update(set: [read: true])
+ |> select([p], p)
+ |> Repo.update_all([])
|> case do
- {:ok, participation} ->
+ {1, [participation]} ->
participation = Repo.preload(participation, :user)
User.set_unread_conversation_count(participation.user)
{:ok, participation}