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
@behaviour Pleroma.Web.ActivityPub.MRF
alias Pleroma.Activity
alias Pleroma.Config
alias Pleroma.User
alias Pleroma.Web.CommonAPI
@ -29,31 +28,25 @@ def filter(message) do
end
defp try_follow(follower, message) do
Task.start(fn ->
to = Map.get(message, "to", [])
cc = Map.get(message, "cc", [])
actor = [message["actor"]]
to = Map.get(message, "to", [])
cc = Map.get(message, "cc", [])
actor = [message["actor"]]
Enum.concat([to, cc, actor])
|> List.flatten()
|> Enum.uniq()
|> User.get_all_by_ap_id()
|> Enum.each(fn user ->
since_thirty_days_ago = NaiveDateTime.utc_now() |> NaiveDateTime.add(-(86_400 * 30))
Enum.concat([to, cc, actor])
|> List.flatten()
|> Enum.uniq()
|> User.get_all_by_ap_id()
|> Enum.each(fn user ->
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,
false <- User.following?(follower, user),
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)
CommonAPI.follow(follower, user)
end
end)
{:ok, message}