diff --git a/SignalServiceKit/Messages/MessageSender.swift b/SignalServiceKit/Messages/MessageSender.swift index 5152cc3343..211ca433a9 100644 --- a/SignalServiceKit/Messages/MessageSender.swift +++ b/SignalServiceKit/Messages/MessageSender.swift @@ -431,8 +431,11 @@ public class MessageSender { // Only try to update the signed prekey; updating it is sufficient to // re-enable message sending. return Task { + defer { + // If this succeeds, or if we hit an error, allow another attempt. + self.pendingPreKeyRotation.set(nil) + } try await self.preKeyManager.rotateSignedPreKeysIfNeeded().value - self.pendingPreKeyRotation.set(nil) } } return nil