joinChat method

void joinChat()

Joins a chat room

Implementation

void joinChat() {
  final userId = ChatConfig.instance.userId;
  if (_socket == null ||
      !_socket!.connected ||
      userId == null ||
      _receiverId.isEmpty) {
    _log('Cannot join chat: socket not connected or IDs missing');
    return;
  }

  String roomId = getRoomId(userId, _receiverId);
  _log(
      'Joining room: $roomId with userId: $userId and receiverId: $_receiverId');

  _socket!.emit(_socketEvents.joinRoomEvent,
      {'userId': userId, 'partnerId': _receiverId});

  // Mark messages as read when joining chat
  if (ChatConfig.instance.autoMarkAsRead) {
    WidgetsBinding.instance.addPostFrameCallback((_) {
      markMessagesAsRead();
    });
  }
}