From: lain Date: Wed, 7 Mar 2018 19:19:48 +0000 (+0100) Subject: Only run the fix-up tasks once. X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=8228ae96d87fa9a8dc6c2603767ab8f094703e9e;p=akkoma Only run the fix-up tasks once. --- 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}