Remove Task.async as it is broken here and probably a premature optimization anyway

This commit is contained in:
Mark Felder 2021-02-19 18:36:35 -06:00
parent f73d166785
commit 4796df0bc3

View File

@ -1,6 +1,5 @@
defmodule Pleroma.Web.ActivityPub.MRF.FollowbotPolicy do defmodule Pleroma.Web.ActivityPub.MRF.FollowbotPolicy do
@behaviour Pleroma.Web.ActivityPub.MRF @behaviour Pleroma.Web.ActivityPub.MRF
alias Pleroma.Activity
alias Pleroma.Config alias Pleroma.Config
alias Pleroma.User alias Pleroma.User
alias Pleroma.Web.CommonAPI alias Pleroma.Web.CommonAPI
@ -29,31 +28,25 @@ defmodule Pleroma.Web.ActivityPub.MRF.FollowbotPolicy do
end end
defp try_follow(follower, message) do defp try_follow(follower, message) do
Task.start(fn -> to = Map.get(message, "to", [])
to = Map.get(message, "to", []) cc = Map.get(message, "cc", [])
cc = Map.get(message, "cc", []) actor = [message["actor"]]
actor = [message["actor"]]
Enum.concat([to, cc, actor]) Enum.concat([to, cc, actor])
|> List.flatten() |> List.flatten()
|> Enum.uniq() |> Enum.uniq()
|> User.get_all_by_ap_id() |> User.get_all_by_ap_id()
|> Enum.each(fn user -> |> Enum.each(fn user ->
since_thirty_days_ago = NaiveDateTime.utc_now() |> NaiveDateTime.add(-(86_400 * 30)) with false <- user.local,
false <- User.following?(follower, user),
false <- User.locked?(user),
false <- (user.bio || "") |> String.downcase() |> String.contains?("nobot") do
Logger.debug(
"#{__MODULE__}: Follow request from #{follower.nickname} to #{user.nickname}"
)
with false <- user.local, CommonAPI.follow(follower, user)
false <- User.following?(follower, user), end
false <- User.locked?(user),
false <- (user.bio || "") |> String.downcase() |> String.contains?("nobot"),
false <-
Activity.follow_requests_outstanding_since?(follower, user, since_thirty_days_ago) do
Logger.info(
"#{__MODULE__}: Follow request from #{follower.nickname} to #{user.nickname}"
)
CommonAPI.follow(follower, user)
end
end)
end) end)
{:ok, message} {:ok, message}