mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 18:45:20 +00:00
Fix critical room functionality issues
- Fix room field not being copied when creating messageWithPeerID in BluetoothMeshService - This was causing all room messages to appear in main chat - Fix room member tracking by ensuring senderPeerID is included - Change room color from orange to blue to differentiate from private messages - Clean up room members when peers disconnect to fix member count - Add debug logging to track room field through message flow
This commit is contained in:
@@ -765,6 +765,17 @@ extension ChatViewModel: BitchatDelegate {
|
||||
connectedPeers = peers
|
||||
isConnected = !peers.isEmpty
|
||||
|
||||
// Clean up room members who disconnected
|
||||
for (room, memberIDs) in roomMembers {
|
||||
// Remove disconnected peers from room members
|
||||
let activeMembers = memberIDs.filter { memberID in
|
||||
memberID == meshService.myPeerID || peers.contains(memberID)
|
||||
}
|
||||
if activeMembers != memberIDs {
|
||||
roomMembers[room] = activeMembers
|
||||
}
|
||||
}
|
||||
|
||||
// Force UI update
|
||||
objectWillChange.send()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user