diff --git a/Signal/src/call/PeerConnectionClient.swift b/Signal/src/call/PeerConnectionClient.swift index cb67af525..0edb31c66 100644 --- a/Signal/src/call/PeerConnectionClient.swift +++ b/Signal/src/call/PeerConnectionClient.swift @@ -721,9 +721,11 @@ class PeerConnectionClient: NSObject, RTCPeerConnectionDelegate, RTCDataChannelD let pendingMessages = self.pendingDataChannelMessages self.pendingDataChannelMessages = [] - DispatchQueue.main.async { + DispatchQueue.main.async { [weak self] in + guard let strongSelf = self else { return } + pendingMessages.forEach { message in - self.sendDataChannelMessage(data: message.data, description: message.description, isCritical: message.isCritical) + strongSelf.sendDataChannelMessage(data: message.data, description: message.description, isCritical: message.isCritical) } } }