diff options
author | rinpatch <rinpatch@sdf.org> | 2019-05-19 17:44:18 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-05-19 17:44:18 +0300 |
commit | 6430cb1bf78e7949cc023a30df7a8d1547c36524 (patch) | |
tree | e03ed3cbc7fe7969c4b0f15abdce6584fe90968d | |
parent | 1d90f9b96999f8bad3fa3e3ec58bf50c8666be4f (diff) | |
download | pleroma-6430cb1bf78e7949cc023a30df7a8d1547c36524.tar.gz |
Restrict poll replies from fetch queries by default
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 11 |
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 |