Retry private messages after Noise session replacement

This commit is contained in:
jack
2026-07-26 00:12:27 +02:00
committed by jack
parent 6419b7d40a
commit a8d8cca438
10 changed files with 725 additions and 54 deletions
+8
View File
@@ -70,6 +70,9 @@ final class MockTransport: Transport, PrivateMediaDeletionPersisting {
private var pendingDeletedPrivateMediaCompletions: [
@MainActor (Bool) -> Void
] = []
/// Optional synchronous hook for send-ordering tests (for example, an ack
/// arriving before the router's send call returns).
var onSendPrivateMessage: (@MainActor (_ messageID: String) -> Void)?
private let mockKeychain = MockKeychain()
// MARK: - Transport Protocol Implementation
@@ -174,6 +177,11 @@ final class MockTransport: Transport, PrivateMediaDeletionPersisting {
func sendPrivateMessage(_ content: String, to peerID: PeerID, recipientNickname: String, messageID: String) {
sentPrivateMessages.append((content, peerID, recipientNickname, messageID))
if let onSendPrivateMessage {
MainActor.assumeIsolated {
onSendPrivateMessage(messageID)
}
}
}
func sendReadReceipt(_ receipt: ReadReceipt, to peerID: PeerID) {