remove system messages for connect / disconnect (#241)

* remove system messages for connect / disconnect

* fix tests
This commit is contained in:
callebtc
2025-08-07 11:58:06 +03:00
committed by GitHub
parent b418aa3899
commit 67c91b0559
6 changed files with 0 additions and 66 deletions
@@ -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<String>) {
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<String>)
fun didReceiveChannelLeave(channel: String, fromPeer: String)
fun didReceiveDeliveryAck(ack: DeliveryAck)
@@ -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)
}
@@ -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
@@ -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<String>)
}
@@ -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<String>) {
meshDelegateHandler.didUpdatePeerList(peers)
}
@@ -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<String>) {
coroutineScope.launch {
state.setConnectedPeers(peers)