diff options
author | lain <lain@soykaf.club> | 2018-03-07 20:19:48 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-03-07 20:19:48 +0100 |
commit | 8228ae96d87fa9a8dc6c2603767ab8f094703e9e (patch) | |
tree | fee83c7bf78df484379cbdcd34c6a14d6fd5f8c3 | |
parent | a91adb146e47134195b8d2b6d1242d29d8b950c0 (diff) | |
download | pleroma-8228ae96d87fa9a8dc6c2603767ab8f094703e9e.tar.gz |
Only run the fix-up tasks once.
-rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 15 |
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} |