diff options
author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2019-06-04 15:34:55 +0000 |
---|---|---|
committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2019-06-04 15:34:55 +0000 |
commit | ab4915edcbf25009ea29cba6bd4fe6758642a40e (patch) | |
tree | 9429af6f5923c944e85cd8f9d4d2e935c419a360 | |
parent | f178a6f3f0d152a5e75c82da08195ee2d7fd3612 (diff) | |
parent | a3a7178b604d8bc589a8e3ac06abac094cce5e17 (diff) | |
download | pleroma-ab4915edcbf25009ea29cba6bd4fe6758642a40e.tar.gz |
Merge branch 'bugfix/956-activity-id-nil-conversations' into 'develop'
Participations: Filter out participations without activities.
Closes #956 and #953
See merge request pleroma/pleroma!1246
-rw-r--r-- | lib/pleroma/conversation/participation.ex | 1 | ||||
-rw-r--r-- | test/conversation/participation_test.exs | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex index 2a11f9069..2c13c4b40 100644 --- a/lib/pleroma/conversation/participation.ex +++ b/lib/pleroma/conversation/participation.ex @@ -79,5 +79,6 @@ defmodule Pleroma.Conversation.Participation do | last_activity_id: activity_id } end) + |> Enum.filter(& &1.last_activity_id) end end diff --git a/test/conversation/participation_test.exs b/test/conversation/participation_test.exs index 568953b07..0e60bfca5 100644 --- a/test/conversation/participation_test.exs +++ b/test/conversation/participation_test.exs @@ -86,4 +86,17 @@ defmodule Pleroma.Conversation.ParticipationTest do assert participation_one.last_activity_id == activity_three.id end + + test "Doesn't die when the conversation gets empty" do + user = insert(:user) + + {:ok, activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) + [participation] = Participation.for_user_with_last_activity_id(user) + + assert participation.last_activity_id == activity.id + + {:ok, _} = CommonAPI.delete(activity.id, user) + + [] = Participation.for_user_with_last_activity_id(user) + end end |