aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-02-18 15:32:11 +0100
committerlain <lain@soykaf.club>2018-02-18 15:32:11 +0100
commit5729233c367c051dc2deabfa370479a11858c4cd (patch)
treea9e567b434255a89bce074bc90fbc62e4b44b0fc
parentc974f6544f6315a49e51632c862f1e66b750ffff (diff)
downloadpleroma-5729233c367c051dc2deabfa370479a11858c4cd.tar.gz
Don't show unlisted in public.
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 406207f62..b85f8eb8a 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -136,8 +136,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
end
def fetch_public_activities(opts \\ %{}) do
- public = ["https://www.w3.org/ns/activitystreams#Public"]
- fetch_activities(public, opts)
+ public = %{to: ["https://www.w3.org/ns/activitystreams#Public"]}
+ q = fetch_activities_query([], opts)
+ q = from activity in q,
+ where: fragment(~s(? @> ?), activity.data, ^public)
+ q
+ |> Repo.all
+ |> Enum.reverse
end
defp restrict_since(query, %{"since_id" => since_id}) do
@@ -215,7 +220,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
end
defp restrict_blocked(query, _), do: query
- def fetch_activities(recipients, opts \\ %{}) do
+ def fetch_activities_query(recipients, opts \\ %{}) do
base_query = from activity in Activity,
limit: 20,
order_by: [fragment("? desc nulls last", activity.id)]
@@ -232,6 +237,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|> restrict_recent(opts)
|> restrict_blocked(opts)
|> restrict_media(opts)
+ end
+
+ def fetch_activities(recipients, opts \\ %{}) do
+ fetch_activities_query(recipients, opts)
|> Repo.all
|> Enum.reverse
end