From 429069f3729344a72e8208c46b3d2db7d6c92ede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20B=C3=B6ttger?= Date: Sat, 21 Mar 2026 21:16:26 +0100 Subject: [PATCH] Don't send keepalive too early --- NearbyShare/Connection/NearbyConnection.swift | 2 +- NearbyShare/Connection/OutboundNearbyConnection.swift | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/NearbyShare/Connection/NearbyConnection.swift b/NearbyShare/Connection/NearbyConnection.swift index ced5bb1..a4b5760 100644 --- a/NearbyShare/Connection/NearbyConnection.swift +++ b/NearbyShare/Connection/NearbyConnection.swift @@ -657,7 +657,7 @@ class NearbyConnection { return } - if lastKeepAliveFrameSent.isOlderThan(seconds: ackInterval) { + if encryptionDone && lastKeepAliveFrameSent.isOlderThan(seconds: ackInterval) { sendKeepAlive(ack: false) } diff --git a/NearbyShare/Connection/OutboundNearbyConnection.swift b/NearbyShare/Connection/OutboundNearbyConnection.swift index 9a76cd6..df4d865 100644 --- a/NearbyShare/Connection/OutboundNearbyConnection.swift +++ b/NearbyShare/Connection/OutboundNearbyConnection.swift @@ -307,10 +307,7 @@ class OutboundNearbyConnection: NearbyConnection { guard frame.hasV1, frame.v1.hasType else { throw NearbyError.requiredFieldMissing("offlineFrame.v1.type") } if frame.v1.type == .keepAlive { - log("[OutboundNearbyConnection \(self.id)] Received keep-alive while waiting for connection response") - if frame.v1.hasKeepAlive, !frame.v1.keepAlive.ack { - sendKeepAlive(ack: true) - } + log("[OutboundNearbyConnection \(self.id)] Ignoring keep-alive while waiting for connection response") return }