Add unretweet TwAPI endpoint and cleanup AP.unannounce
[akkoma] / lib / pleroma / web / activity_pub / activity_pub.ex
index d54dc224da5c1b677273f9c41f7b445ffdd12b76..70e8dfd92f4f88511cb78797c344ff4fd73d9d47 100644 (file)
@@ -198,7 +198,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
          :ok <- maybe_federate(unannounce_activity),
          {:ok, _activity} <- Repo.delete(announce_activity),
          {:ok, object} <- remove_announce_from_object(announce_activity, object) do
-      {:ok, unannounce_activity, announce_activity, object}
+      {:ok, unannounce_activity, object}
     else
       _e -> {:ok, object}
     end
@@ -313,9 +313,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
       on: sender.ap_id == activity.actor,
       # Are non-direct statuses with no to/cc possible?
       where:
-        fragment("not coalesce(data->'to' \\? ?, false)", ^public) and
-          fragment("not coalesce(data->'cc' \\? ?, false)", ^public) and
-          fragment("not coalesce(data->'to' \\? ?, false)", sender.follower_address)
+        fragment(
+          "not (? && ?)",
+          [^public, sender.follower_address],
+          activity.recipients
+        )
     )
   end