diff --git a/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt b/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt index 27c49c7c..5bd31174 100644 --- a/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt +++ b/app/src/main/java/com/bitchat/android/mesh/BluetoothMeshService.kt @@ -109,14 +109,6 @@ class BluetoothMeshService(private val context: Context) { private fun setupDelegates() { // PeerManager delegates to main mesh service delegate peerManager.delegate = object : PeerManagerDelegate { - override fun onPeerConnected(nickname: String) { - delegate?.didConnectToPeer(nickname) - } - - override fun onPeerDisconnected(nickname: String) { - delegate?.didDisconnectFromPeer(nickname) - } - override fun onPeerListUpdated(peerIDs: List) { delegate?.didUpdatePeerList(peerIDs) } @@ -291,10 +283,6 @@ class BluetoothMeshService(private val context: Context) { delegate?.didReceiveChannelLeave(channel, fromPeer) } - override fun onPeerDisconnected(nickname: String) { - delegate?.didDisconnectFromPeer(nickname) - } - override fun onDeliveryAckReceived(ack: DeliveryAck) { delegate?.didReceiveDeliveryAck(ack) } @@ -1020,8 +1008,6 @@ class BluetoothMeshService(private val context: Context) { */ interface BluetoothMeshDelegate { fun didReceiveMessage(message: BitchatMessage) - fun didConnectToPeer(peerID: String) - fun didDisconnectFromPeer(peerID: String) fun didUpdatePeerList(peers: List) fun didReceiveChannelLeave(channel: String, fromPeer: String) fun didReceiveDeliveryAck(ack: DeliveryAck) diff --git a/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt b/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt index 6e4e6ff6..a0d6ae99 100644 --- a/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt +++ b/app/src/main/java/com/bitchat/android/mesh/MessageHandler.kt @@ -295,11 +295,7 @@ class MessageHandler(private val myPeerID: String) { delegate?.onChannelLeave(content, peerID) } else { // Peer disconnect - val nickname = delegate?.getPeerNickname(peerID) delegate?.removePeer(peerID) - if (nickname != null) { - delegate?.onPeerDisconnected(nickname) - } } // Leave message relay is now handled by centralized PacketRelayManager @@ -406,7 +402,6 @@ interface MessageHandlerDelegate { // Callbacks fun onMessageReceived(message: BitchatMessage) fun onChannelLeave(channel: String, fromPeer: String) - fun onPeerDisconnected(nickname: String) fun onDeliveryAckReceived(ack: DeliveryAck) fun onReadReceiptReceived(receipt: ReadReceipt) } diff --git a/app/src/main/java/com/bitchat/android/mesh/PeerFingerprintManager.kt b/app/src/main/java/com/bitchat/android/mesh/PeerFingerprintManager.kt index 56de17da..c48b5bd9 100644 --- a/app/src/main/java/com/bitchat/android/mesh/PeerFingerprintManager.kt +++ b/app/src/main/java/com/bitchat/android/mesh/PeerFingerprintManager.kt @@ -193,7 +193,6 @@ class PeerFingerprintManager private constructor() { val count = peerIDToFingerprint.size peerIDToFingerprint.clear() fingerprintToPeerID.clear() - Log.d(TAG, "Cleared all fingerprint mappings ($count entries)") } // MARK: - Utility Functions diff --git a/app/src/main/java/com/bitchat/android/mesh/PeerManager.kt b/app/src/main/java/com/bitchat/android/mesh/PeerManager.kt index 9933d8ac..1b245ad4 100644 --- a/app/src/main/java/com/bitchat/android/mesh/PeerManager.kt +++ b/app/src/main/java/com/bitchat/android/mesh/PeerManager.kt @@ -82,7 +82,6 @@ class PeerManager { // Handle first announcement if (isFirstAnnounce) { announcedPeers.add(peerID) - delegate?.onPeerConnected(nickname) notifyPeerListUpdate() return true } @@ -104,7 +103,6 @@ class PeerManager { fingerprintManager.removePeer(peerID) if (notifyDelegate && nickname != null) { - delegate?.onPeerDisconnected(nickname) notifyPeerListUpdate() } } @@ -366,7 +364,5 @@ class PeerManager { * Delegate interface for peer manager callbacks */ interface PeerManagerDelegate { - fun onPeerConnected(nickname: String) - fun onPeerDisconnected(nickname: String) fun onPeerListUpdated(peerIDs: List) } diff --git a/app/src/main/java/com/bitchat/android/ui/ChatViewModel.kt b/app/src/main/java/com/bitchat/android/ui/ChatViewModel.kt index a345a837..b327e415 100644 --- a/app/src/main/java/com/bitchat/android/ui/ChatViewModel.kt +++ b/app/src/main/java/com/bitchat/android/ui/ChatViewModel.kt @@ -376,14 +376,6 @@ class ChatViewModel( meshDelegateHandler.didReceiveMessage(message) } - override fun didConnectToPeer(peerID: String) { - meshDelegateHandler.didConnectToPeer(peerID) - } - - override fun didDisconnectFromPeer(peerID: String) { - meshDelegateHandler.didDisconnectFromPeer(peerID) - } - override fun didUpdatePeerList(peers: List) { meshDelegateHandler.didUpdatePeerList(peers) } diff --git a/app/src/main/java/com/bitchat/android/ui/MeshDelegateHandler.kt b/app/src/main/java/com/bitchat/android/ui/MeshDelegateHandler.kt index 1a75d94e..fec71216 100644 --- a/app/src/main/java/com/bitchat/android/ui/MeshDelegateHandler.kt +++ b/app/src/main/java/com/bitchat/android/ui/MeshDelegateHandler.kt @@ -80,40 +80,6 @@ class MeshDelegateHandler( } } - override fun didConnectToPeer(peerID: String) { - coroutineScope.launch { - // FIXED: Deduplicate connection events from dual connection paths - if (messageManager.isDuplicateSystemEvent("connect", peerID)) { - return@launch - } - - val systemMessage = BitchatMessage( - sender = "system", - content = "$peerID connected", - timestamp = Date(), - isRelay = false - ) - messageManager.addMessage(systemMessage) - } - } - - override fun didDisconnectFromPeer(peerID: String) { - coroutineScope.launch { - // FIXED: Deduplicate disconnection events from dual connection paths - if (messageManager.isDuplicateSystemEvent("disconnect", peerID)) { - return@launch - } - - val systemMessage = BitchatMessage( - sender = "system", - content = "$peerID disconnected", - timestamp = Date(), - isRelay = false - ) - messageManager.addMessage(systemMessage) - } - } - override fun didUpdatePeerList(peers: List) { coroutineScope.launch { state.setConnectedPeers(peers)