aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-11-04 14:36:54 +0100
committerlain <lain@soykaf.club>2019-11-04 14:36:54 +0100
commit0c3125861619f164015ee0cf0bdf293d49804926 (patch)
treea99e1f767584e3b3646dab2a041ffde967193e79
parentbab786cd935e37a74483d090fdfbb283764d83fe (diff)
downloadpleroma-0c3125861619f164015ee0cf0bdf293d49804926.tar.gz
User: Don't pull remote users follower count immediately after deactivating.
The other instance doesn't necessarily know that anything changed yet, and it will be fixed up at the next user pull anyway. Closes #1369
-rw-r--r--lib/pleroma/user.ex7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 40171620e..f8c2db1e1 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1095,7 +1095,12 @@ defmodule Pleroma.User do
def deactivate(%User{} = user, status) do
with {:ok, user} <- set_activation_status(user, status) do
Enum.each(get_followers(user), &invalidate_cache/1)
- Enum.each(get_friends(user), &update_follower_count/1)
+
+ # Only update local user counts, remote will be update during the next pull.
+ user
+ |> get_friends()
+ |> Enum.filter(& &1.local)
+ |> Enum.each(&update_follower_count/1)
{:ok, user}
end