aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-05-19 17:44:18 +0300
committerrinpatch <rinpatch@sdf.org>2019-05-19 17:44:18 +0300
commit6430cb1bf78e7949cc023a30df7a8d1547c36524 (patch)
treee03ed3cbc7fe7969c4b0f15abdce6584fe90968d /lib
parent1d90f9b96999f8bad3fa3e3ec58bf50c8666be4f (diff)
downloadpleroma-6430cb1bf78e7949cc023a30df7a8d1547c36524.tar.gz
Restrict poll replies from fetch queries by default
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 5c3156978..035fb75d5 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -820,6 +820,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp restrict_muted_reblogs(query, _), do: query
+ defp restrict_poll_replies(query, %{"include_poll_replies" => "true"}), do: query
+
+ defp restrict_poll_replies(query, _) do
+ if has_named_binding?(query, :object) do
+ from([activity, object: o] in query, where: fragment("?->'name' is null", o.data))
+ else
+ query
+ end
+ end
+
defp maybe_preload_objects(query, %{"skip_preload" => true}), do: query
defp maybe_preload_objects(query, _) do
@@ -873,6 +883,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|> restrict_pinned(opts)
|> restrict_muted_reblogs(opts)
|> Activity.restrict_deactivated_users()
+ |> restrict_poll_replies(opts)
end
def fetch_activities(recipients, opts \\ %{}) do