From d2e09dcfd777f2fcc0fb1ccc8b89026dd48977a7 Mon Sep 17 00:00:00 2001 From: Max Radermacher Date: Tue, 10 Jun 2025 00:56:33 -0500 Subject: [PATCH] Clear pendingPreKeyRotation when an error occurs --- SignalServiceKit/Messages/MessageSender.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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