summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex2
-rw-r--r--test/pleroma/web/mastodon_api/controllers/account_controller_test.exs11
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 8324ca22c..b99fcb646 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -641,7 +641,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|> Map.put(:type, ["Create", "Announce"])
|> Map.put(:user, reading_user)
|> Map.put(:actor_id, user.ap_id)
- |> Map.put(:pinned_object_ids, Map.keys(user.pinned_objects))
+ |> Map.put(:pinned_object_ids, Map.keys(user.pinned_objects || %{}))
params =
if User.blocks?(reading_user, user) do
diff --git a/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs
index a92a58224..9b2ebf133 100644
--- a/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs
+++ b/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs
@@ -267,6 +267,17 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do
describe "user timelines" do
setup do: oauth_access(["read:statuses"])
+ test "works with a user who has an empty pinned objects field", %{conn: conn} do
+ user = insert(:user, pinned_objects: nil)
+
+ assert resp =
+ conn
+ |> get("/api/v1/accounts/#{user.id}/statuses")
+ |> json_response_and_validate_schema(200)
+
+ assert [] == resp
+ end
+
test "works with announces that are just addressed to public", %{conn: conn} do
user = insert(:user, ap_id: "https://honktest/u/test", local: false)
other_user = insert(:user)