Fix duplicate ChatViewModel disconnect messages

- Prevent didDisconnectFromPeer delegate call when peer gracefully left
- This prevents duplicate 'rick disconnected' messages in chat UI
This commit is contained in:
jack
2025-07-24 14:58:21 +02:00
parent fbc904a331
commit 439668f745
+5 -3
View File
@@ -3376,9 +3376,11 @@ extension BluetoothMeshService: CBCentralManagerDelegate {
// Reset handshake state to prevent stuck handshakes
handshakeCoordinator.resetHandshakeState(for: peerID)
// Notify delegate immediately about disconnect
DispatchQueue.main.async {
self.delegate?.didDisconnectFromPeer(peerID)
// Notify delegate immediately about disconnect (unless peer gracefully left)
if !gracefullyLeftPeers.contains(peerID) {
DispatchQueue.main.async {
self.delegate?.didDisconnectFromPeer(peerID)
}
}
}