diff options
author | William Pitcock <nenolod@dereferenced.org> | 2019-03-07 12:13:48 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2019-03-07 12:13:48 +0000 |
commit | e53a9fd15e6749c87193f829f4d33fea1406a21f (patch) | |
tree | 77c7188a12dadb356c37661b5d7ed8ef66d30be2 | |
parent | 992145e64ce40ca8eb85367c78df1696ad0e414c (diff) | |
download | pleroma-e53a9fd15e6749c87193f829f4d33fea1406a21f.tar.gz |
MRF: anti followbot: gracefully handle accounts without a display name
-rw-r--r-- | lib/pleroma/web/activity_pub/mrf/anti_followbot_policy.ex | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf/anti_followbot_policy.ex b/lib/pleroma/web/activity_pub/mrf/anti_followbot_policy.ex index 7c6ad582a..34665a3a6 100644 --- a/lib/pleroma/web/activity_pub/mrf/anti_followbot_policy.ex +++ b/lib/pleroma/web/activity_pub/mrf/anti_followbot_policy.ex @@ -23,15 +23,21 @@ defmodule Pleroma.Web.ActivityPub.MRF.AntiFollowbotPolicy do defp score_displayname(_), do: 0.0 defp determine_if_followbot(%User{nickname: nickname, name: displayname}) do + # nickname will always be a binary string because it's generated by Pleroma. nick_score = nickname |> String.downcase() |> score_nickname() + # displayname will either be a binary string or nil, if a displayname isn't set. name_score = - displayname - |> String.downcase() - |> score_displayname() + if is_binary(displayname) do + displayname + |> String.downcase() + |> score_displayname() + else + 0.0 + end nick_score + name_score end |