aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-03-07 20:19:48 +0100
committerlain <lain@soykaf.club>2018-03-07 20:19:48 +0100
commit8228ae96d87fa9a8dc6c2603767ab8f094703e9e (patch)
treefee83c7bf78df484379cbdcd34c6a14d6fd5f8c3
parenta91adb146e47134195b8d2b6d1242d29d8b950c0 (diff)
downloadpleroma-8228ae96d87fa9a8dc6c2603767ab8f094703e9e.tar.gz
Only run the fix-up tasks once.
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 54468b5f9..37db67798 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -266,16 +266,19 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
data = data
|> Map.put(:info, Map.merge(user.info, data[:info]))
+ already_ap = User.ap_enabled?(user)
{:ok, user} = User.upgrade_changeset(user, data)
|> Repo.update()
- # This could potentially take a long time, do it in the background
- if async do
- Task.start(fn ->
+ if !already_ap do
+ # This could potentially take a long time, do it in the background
+ if async do
+ Task.start(fn ->
+ user_upgrade_task(user)
+ end)
+ else
user_upgrade_task(user)
- end)
- else
- user_upgrade_task(user)
+ end
end
{:ok, user}