commit: ab4915edcbf25009ea29cba6bd4fe6758642a40e
parent: f178a6f3f0d152a5e75c82da08195ee2d7fd3612
Author: Haelwenn <contact+git.pleroma.social@hacktivis.me>
Date: Tue, 4 Jun 2019 15:34:55 +0000
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
Diffstat:
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git 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
@@ -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