Notifications: Use all recipients, not just "to".
authorlain <lain@soykaf.club>
Mon, 19 Feb 2018 09:05:26 +0000 (10:05 +0100)
committerlain <lain@soykaf.club>
Mon, 19 Feb 2018 09:05:26 +0000 (10:05 +0100)
lib/pleroma/user.ex
lib/pleroma/web/activity_pub/activity_pub_controller.ex

index f88c1240a5e0b3d8758d5ec6d70b775edee00095..bc7f2601fb725b71e124b782caa46107a20ae20d 100644 (file)
@@ -304,7 +304,7 @@ defmodule Pleroma.User do
     update_and_set_cache(cs)
   end
 
-  def get_notified_from_activity(%Activity{data: %{"to" => to}}) do
+  def get_notified_from_activity(%Activity{recipients: to}) do
     query = from u in User,
       where: u.ap_id in ^to,
       where: u.local == true
@@ -312,7 +312,7 @@ defmodule Pleroma.User do
     Repo.all(query)
   end
 
-  def get_recipients_from_activity(%Activity{data: %{"to" => to}}) do
+  def get_recipients_from_activity(%Activity{recipients: to}) do
     query = from u in User,
       where: u.ap_id in ^to,
       or_where: fragment("? \\\?| ?", u.following, ^to)
index 8ba15d73ea0b23d98859eabeee473a709db860e9..1a6d7ec7af925a83db0c57208234eca6ffbf88df 100644 (file)
@@ -25,6 +25,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
   # TODO: Ensure that this inbox is a recipient of the message
   def inbox(%{assigns: %{valid_signature: true}} = conn, params) do
     # File.write("/tmp/incoming.json", Poison.encode!(params))
+    Logger.info(Poison.encode!(params, [pretty: 2]))
     with {:ok, _user} <- ap_enabled_actor(params["actor"]),
          nil <- Activity.get_by_ap_id(params["id"]),
          {:ok, activity} <- Transmogrifier.handle_incoming(params) do