aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2019-06-04 15:34:55 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2019-06-04 15:34:55 +0000
commitab4915edcbf25009ea29cba6bd4fe6758642a40e (patch)
tree9429af6f5923c944e85cd8f9d4d2e935c419a360
parentf178a6f3f0d152a5e75c82da08195ee2d7fd3612 (diff)
parenta3a7178b604d8bc589a8e3ac06abac094cce5e17 (diff)
downloadpleroma-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.ex1
-rw-r--r--test/conversation/participation_test.exs13
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