Runtime configured router
[akkoma] / lib / pleroma / web / activity_pub / utils.ex
index 8b5feef1c7eb75e1710b7538720e453ac517b4e5..3362d9325728f9ef9f81f8b5dbb8f017af7ab5d5 100644 (file)
@@ -37,6 +37,11 @@ defmodule Pleroma.Web.ActivityPub.Utils do
       recipient_in_collection(ap_id, params["bcc"]) ->
         true
 
+      # if the message is unaddressed at all, then assume it is directly addressed
+      # to the recipient
+      !params["to"] && !params["cc"] && !params["bto"] && !params["bcc"] ->
+        true
+
       true ->
         false
     end
@@ -55,7 +60,7 @@ defmodule Pleroma.Web.ActivityPub.Utils do
 
     if need_splice do
       params
-      |> Map.put(params, "cc", [ap_id | cc_list])
+      |> Map.put("cc", [ap_id | cc_list])
     else
       params
     end
@@ -170,7 +175,7 @@ defmodule Pleroma.Web.ActivityPub.Utils do
   Inserts a full object if it is contained in an activity.
   """
   def insert_full_object(%{"object" => %{"type" => type} = object_data})
-      when is_map(object_data) and type in ["Article", "Note", "Video"] do
+      when is_map(object_data) and type in ["Article", "Note", "Video", "Page"] do
     with {:ok, _} <- Object.create(object_data) do
       :ok
     end