mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 17:05:19 +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:
@@ -527,6 +527,8 @@ class BluetoothMeshService: NSObject {
|
||||
room: room
|
||||
)
|
||||
|
||||
print("[DEBUG-SEND] Creating message with room: \(room ?? "nil")")
|
||||
|
||||
if let messageData = message.toBinaryPayload() {
|
||||
// Sign the message payload (no encryption for broadcasts)
|
||||
let signature: Data?
|
||||
@@ -1198,6 +1200,7 @@ class BluetoothMeshService: NSObject {
|
||||
|
||||
// Parse broadcast message (not encrypted)
|
||||
if let message = BitchatMessage.fromBinaryPayload(packet.payload) {
|
||||
print("[DEBUG-RECV] Received message with room: \(message.room ?? "nil"), content: \(message.content)")
|
||||
|
||||
// Store nickname mapping
|
||||
peerNicknamesLock.lock()
|
||||
@@ -1213,7 +1216,8 @@ class BluetoothMeshService: NSObject {
|
||||
isPrivate: false,
|
||||
recipientNickname: nil,
|
||||
senderPeerID: senderID,
|
||||
mentions: message.mentions
|
||||
mentions: message.mentions,
|
||||
room: message.room
|
||||
)
|
||||
|
||||
DispatchQueue.main.async {
|
||||
@@ -1309,7 +1313,9 @@ class BluetoothMeshService: NSObject {
|
||||
originalSender: message.originalSender,
|
||||
isPrivate: message.isPrivate,
|
||||
recipientNickname: message.recipientNickname,
|
||||
senderPeerID: senderID
|
||||
senderPeerID: senderID,
|
||||
mentions: message.mentions,
|
||||
room: message.room
|
||||
)
|
||||
|
||||
DispatchQueue.main.async {
|
||||
|
||||
Reference in New Issue
Block a user