diff --git a/SignalServiceKit/src/Account/PreKeys/PrekeyManagerImpl.swift b/SignalServiceKit/src/Account/PreKeys/PrekeyManagerImpl.swift index 4283685e68..323ff070b3 100644 --- a/SignalServiceKit/src/Account/PreKeys/PrekeyManagerImpl.swift +++ b/SignalServiceKit/src/Account/PreKeys/PrekeyManagerImpl.swift @@ -133,12 +133,15 @@ public class PreKeyManagerImpl: PreKeyManager { let shouldPerformPniOp = hasPniIdentityKey(tx: tx) Task { [weak self, taskManager, targets] in - try Task.checkCancellation() - try await taskManager.refresh(identity: .aci, targets: targets, auth: .implicit()) - if shouldPerformPniOp { + let task = await Self.taskQueue.enqueue { try Task.checkCancellation() - try await taskManager.refresh(identity: .pni, targets: targets, auth: .implicit()) + try await taskManager.refresh(identity: .aci, targets: targets, auth: .implicit()) + if shouldPerformPniOp { + try Task.checkCancellation() + try await taskManager.refresh(identity: .pni, targets: targets, auth: .implicit()) + } } + try await task.value self?.refreshPreKeysDidSucceed() } }