projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
utils: Fix maybe_splice_recipient when "object" isn’t a map
[akkoma]
/
lib
/
pleroma
/
web
/
activity_pub
/
utils.ex
diff --git
a/lib/pleroma/web/activity_pub/utils.ex
b/lib/pleroma/web/activity_pub/utils.ex
index f93909a5008fbc59179c056e74b51bae365a3bf1..0d1a6d0f13c10fcc1ac78125f27f561eb2b0961a 100644
(file)
--- a/
lib/pleroma/web/activity_pub/utils.ex
+++ b/
lib/pleroma/web/activity_pub/utils.ex
@@
-1,5
+1,5
@@
# Pleroma: A lightweight social networking server
# Pleroma: A lightweight social networking server
-# Copyright © 2017-202
0
Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-202
1
Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.ActivityPub.Utils do
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.ActivityPub.Utils do
@@
-96,8
+96,11
@@
defmodule Pleroma.Web.ActivityPub.Utils do
!label_in_collection?(ap_id, params["cc"])
if need_splice? do
!label_in_collection?(ap_id, params["cc"])
if need_splice? do
- cc_list = extract_list(params["cc"])
- Map.put(params, "cc", [ap_id | cc_list])
+ cc = [ap_id | extract_list(params["cc"])]
+
+ params
+ |> Map.put("cc", cc)
+ |> Maps.safe_put_in(["object", "cc"], cc)
else
params
end
else
params
end
@@
-702,22
+705,22
@@
defmodule Pleroma.Web.ActivityPub.Utils do
def make_flag_data(_, _), do: %{}
def make_flag_data(_, _), do: %{}
- defp build_flag_object(%{account: account, statuses: statuses}
= _
) do
- [account.ap_id
] ++ build_flag_object(%{statuses: statuses})
+ defp build_flag_object(%{account: account, statuses: statuses}) do
+ [account.ap_id
| build_flag_object(%{statuses: statuses})]
end
defp build_flag_object(%{statuses: statuses}) do
Enum.map(statuses || [], &build_flag_object/1)
end
end
defp build_flag_object(%{statuses: statuses}) do
Enum.map(statuses || [], &build_flag_object/1)
end
- defp build_flag_object(%Activity{
} = activity
) do
- activity_actor = User.get_by_ap_id(
activity.object.
data["actor"])
+ defp build_flag_object(%Activity{
data: %{"id" => id}, object: %{data: data}}
) do
+ activity_actor = User.get_by_ap_id(data["actor"])
%{
"type" => "Note",
%{
"type" => "Note",
- "id" =>
activity.data["id"]
,
- "content" =>
activity.object.
data["content"],
- "published" =>
activity.object.
data["published"],
+ "id" =>
id
,
+ "content" => data["content"],
+ "published" => data["published"],
"actor" =>
AccountView.render(
"show.json",
"actor" =>
AccountView.render(
"show.json",