utils: Fix maybe_splice_recipient when "object" isn’t a map
[akkoma] / lib / pleroma / web / activity_pub / utils.ex
index e81623d833817cd5bb9c8c5bc2cd9ece92b401f1..0d1a6d0f13c10fcc1ac78125f27f561eb2b0961a 100644 (file)
@@ -96,11 +96,11 @@ defmodule Pleroma.Web.ActivityPub.Utils do
         !label_in_collection?(ap_id, params["cc"])
 
     if need_splice? do
-      cc_list = extract_list(params["cc"])
+      cc = [ap_id | extract_list(params["cc"])]
 
       params
-      |> Map.put("cc", [ap_id | cc_list])
-      |> Kernel.put_in(["object", "cc"], [ap_id | cc_list])
+      |> Map.put("cc", cc)
+      |> Maps.safe_put_in(["object", "cc"], cc)
     else
       params
     end