Add same optimized join for excluding invisible users
ci/woodpecker/pr/woodpecker Pipeline failed Details

This commit is contained in:
Mark Felder 2022-11-12 18:05:58 -05:00 committed by Francis Dinh
parent 11fc1beba5
commit 0022fa7d49
Signed by untrusted user: norm
GPG Key ID: 7123E30E441E80DE
1 changed files with 5 additions and 6 deletions

View File

@ -1251,12 +1251,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp exclude_invisible_actors(query, %{invisible_actors: true}), do: query
defp exclude_invisible_actors(query, _opts) do
invisible_ap_ids =
User.Query.build(%{invisible: true, select: [:ap_id]})
|> Repo.all()
|> Enum.map(fn %{ap_id: ap_id} -> ap_id end)
from([activity] in query, where: activity.actor not in ^invisible_ap_ids)
query
|> join(:inner, [activity], u in User,
as: :u,
on: activity.actor == u.ap_id and u.invisible == false
)
end
defp exclude_id(query, %{exclude_id: id}) when is_binary(id) do