notifications_active

Communication

Event System

Observe raw room events, typed chat messages, socket state, LiveKit state, participants, and media events.

Room events

dart
final roomEvents = sdk.roomEvents.listen((event) {
  final type = event['type'];
  final data = event['data'];
  print('$type: $data');
});

Socket state

dart
final socketStates = sdk.socketStates.listen((state) {
  print('Socket: $state');
});

Chat messages

dart
final messages = sdk.roomMessages.listen((message) {
  print(message.message);
});

Media state and participants

dart
final connections = sdk.connectionStates.listen((state) {
  print('Media: $state');
});

final participants = sdk.participants.listen((items) {
  print('Participants: ${items.length}');
});

final mediaEvents = sdk.mediaEvents.listen((event) {
  print(event);
});

Common room event types

TypePurpose
UserJoined / UserLeftRoom presence
ChatMessageCreatedRealtime chat
ReactionSentEmoji reactions
GiftSentGift animation and score updates
MusicStateChangedRoom music synchronization
SeatTaken / SeatLeftMicrophone seats
RoomThemeUpdatedRoom appearance

Dispose subscriptions

dart
await roomEvents.cancel();
await socketStates.cancel();
await messages.cancel();
await connections.cancel();
await participants.cancel();
await mediaEvents.cancel();