Commit eeeb8124 authored by kaniini's avatar kaniini

Merge branch 'bugfix/outbox-bomb-on-empty-activities' into 'develop'

Fix: Fixing an outbox related bug when local user activity is empty

See merge request pleroma/pleroma!849
parents 2813f28b 7c722c08
...@@ -188,14 +188,24 @@ defmodule Pleroma.Web.ActivityPub.UserView do ...@@ -188,14 +188,24 @@ defmodule Pleroma.Web.ActivityPub.UserView do
end end
activities = ActivityPub.fetch_user_activities(user, nil, params) activities = ActivityPub.fetch_user_activities(user, nil, params)
min_id = Enum.at(Enum.reverse(activities), 0).id
max_id = Enum.at(activities, 0).id
collection = {max_id, min_id, collection} =
Enum.map(activities, fn act -> if length(activities) > 0 do
{:ok, data} = Transmogrifier.prepare_outgoing(act.data) {
data Enum.at(Enum.reverse(activities), 0).id,
end) Enum.at(activities, 0).id,
Enum.map(activities, fn act ->
{:ok, data} = Transmogrifier.prepare_outgoing(act.data)
data
end)
}
else
{
0,
0,
[]
}
end
iri = "#{user.ap_id}/outbox" iri = "#{user.ap_id}/outbox"
......
...@@ -304,6 +304,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do ...@@ -304,6 +304,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
end end
describe "/users/:nickname/outbox" do describe "/users/:nickname/outbox" do
test "it will not bomb when there is no activity", %{conn: conn} do
user = insert(:user)
conn =
conn
|> put_req_header("accept", "application/activity+json")
|> get("/users/#{user.nickname}/outbox")
result = json_response(conn, 200)
assert user.ap_id <> "/outbox" == result["id"]
end
test "it returns a note activity in a collection", %{conn: conn} do test "it returns a note activity in a collection", %{conn: conn} do
note_activity = insert(:note_activity) note_activity = insert(:note_activity)
user = User.get_cached_by_ap_id(note_activity.data["actor"]) user = User.get_cached_by_ap_id(note_activity.data["actor"])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment