Skip to content

RoomEvent

Defined in: client-sdk-js/src/events.ts:11

Events emitted by a Room instance.

room.on(RoomEvent.TrackSubscribed, (track, publication, participant) => {
// handle new track
});
ActiveDeviceChanged: "activeDeviceChanged";

Defined in: client-sdk-js/src/events.ts:66

The active device for a kind has been switched via Room.switchActiveDevice.

args: (kind: MediaDeviceKind, deviceId: string)


ActiveSpeakersChanged: "activeSpeakersChanged";

Defined in: client-sdk-js/src/events.ts:203

Active speakers changed. List of speakers ordered by audio level. Includes the local participant.

args: (speakers: {@link Participant}[])


AudioPlaybackStatusChanged: "audioPlaybackChanged";

Defined in: client-sdk-js/src/events.ts:245

Audio playback status has changed. When canPlaybackAudio becomes false, the application should display UI to prompt user interaction, then call Room.startAudio.


ChatMessage: "chatMessage";

Defined in: client-sdk-js/src/events.ts:252

A message has been received or sent (chat, whiteboard, document, etc.).

args: (message: {@link Message}, participant?: {@link Participant})


Connected: "connected";

Defined in: client-sdk-js/src/events.ts:13

Successfully connected to the room.


ConnectionQualityChanged: "connectionQualityChanged";

Defined in: client-sdk-js/src/events.ts:224

The connection quality of a participant has changed.

args: (quality: {@link ConnectionQuality}, participant: {@link Participant})


ConnectionStateChanged: "connectionStateChanged";

Defined in: client-sdk-js/src/events.ts:37

Whenever the connection state of the room changes.

args: (state: {@link ConnectionState})


DataReceived: "dataReceived";

Defined in: client-sdk-js/src/events.ts:217

Data received from a remote participant via a DataChannel.

args: (payload: Uint8Array, participant?: {@link RemoteParticipant})


DataTrackPublished: "dataTrackPublished";

Defined in: client-sdk-js/src/events.ts:129

A remote participant has published a new data track.

args: (dataTrack: {@link DataTrackInfo}, participant: {@link RemoteParticipant})


DataTrackUnpublished: "dataTrackUnpublished";

Defined in: client-sdk-js/src/events.ts:136

A remote participant has unpublished a data track.

args: (dataTrackSid: string, participant: {@link RemoteParticipant})


Disconnected: "disconnected";

Defined in: client-sdk-js/src/events.ts:24

Disconnected from the room. This may be triggered by the server, by an explicit call to Room.disconnect, or because of a network failure.

args: (reason?: {@link DisconnectReason})


GroupCreated: "groupCreated";

Defined in: client-sdk-js/src/events.ts:303

A new group (breakout room) has been created.

args: (group: {@link GroupInfo})


GroupDeleted: "groupDeleted";

Defined in: client-sdk-js/src/events.ts:318

A group has been deleted. All participants in the group are returned to the main room.

args: (groupId: string)


GroupParticipantJoined: "groupParticipantJoined";

Defined in: client-sdk-js/src/events.ts:325

A participant has joined a group.

args: (groupId: string, participant: {@link RemoteParticipant} | {@link LocalParticipant})


GroupParticipantLeft: "groupParticipantLeft";

Defined in: client-sdk-js/src/events.ts:332

A participant has left a group (returned to the main room).

args: (groupId: string, participant: {@link RemoteParticipant} | {@link LocalParticipant})


GroupUpdated: "groupUpdated";

Defined in: client-sdk-js/src/events.ts:310

A group’s metadata or participant count has changed.

args: (group: {@link GroupInfo})


LocalAudioSilenceDetected: "localAudioSilenceDetected";

Defined in: client-sdk-js/src/events.ts:195

When a local audio track is published, the SDK checks whether there is complete silence on that track and emits this event. This allows applications to show UI informing users about hardware issues.


LocalTrackPublished: "localTrackPublished";

Defined in: client-sdk-js/src/events.ts:180

A local track was published successfully.

args: (publication: {@link LocalTrackPublication}, participant: {@link LocalParticipant})


LocalTrackUnpublished: "localTrackUnpublished";

Defined in: client-sdk-js/src/events.ts:188

A local track was unpublished. When a user stops sharing their screen by pressing “End” on the browser UI, this event will also fire.

args: (publication: {@link LocalTrackPublication}, participant: {@link LocalParticipant})


MediaDevicesChanged: "mediaDevicesChanged";

Defined in: client-sdk-js/src/events.ts:50

When input or output devices on the machine have changed.


MediaDevicesError: "mediaDevicesError";

Defined in: client-sdk-js/src/events.ts:58

When an error occurs while attempting to create a track from a device. Use MediaDeviceFailure.getFailure to get the specific reason.

args: (error: Error)


MessageDeleted: "messageDeleted";

Defined in: client-sdk-js/src/events.ts:259

Messages have been deleted.

args: (ids: string[], type?: string)


ParticipantAttributesChanged: "participantAttributesChanged";

Defined in: client-sdk-js/src/events.ts:108

Participant attributes have changed.

args: (changedAttributes: Record<string, string>, participant: {@link Participant})


ParticipantConnected: "participantConnected";

Defined in: client-sdk-js/src/events.ts:73

A remote participant has joined the room.

args: (participant: {@link RemoteParticipant})


ParticipantDisconnected: "participantDisconnected";

Defined in: client-sdk-js/src/events.ts:80

A remote participant has left the room.

args: (participant: {@link RemoteParticipant}, reason?: {@link DisconnectReason})


ParticipantMetadataChanged: "participantMetadataChanged";

Defined in: client-sdk-js/src/events.ts:94

Participant metadata has changed.

args: (prevMetadata: string | undefined, participant: {@link Participant})


ParticipantNameChanged: "participantNameChanged";

Defined in: client-sdk-js/src/events.ts:101

Participant’s display name has changed.

args: (name: string, participant: {@link Participant})


ParticipantPermissionsChanged: "participantPermissionsChanged";

Defined in: client-sdk-js/src/events.ts:238

A participant’s permissions have changed.

args: (prevPermissions: ParticipantPermission | undefined, participant: {@link Participant})


ParticipantUpdated: "participantUpdated";

Defined in: client-sdk-js/src/events.ts:87

A remote participant’s metadata or attributes have been updated.

args: (participant: {@link RemoteParticipant})


Reconnected: "reconnected";

Defined in: client-sdk-js/src/events.ts:30

Successfully reconnected to the room after a temporary disconnection.


Reconnecting: "reconnecting";

Defined in: client-sdk-js/src/events.ts:27

The SDK is attempting to reconnect to the room after a connection interruption.


RecordingStatusChanged: "recordingStatusChanged";

Defined in: client-sdk-js/src/events.ts:231

The room’s recording status has changed.

args: (recording: boolean)


RoomMetadataChanged: "roomMetadataChanged";

Defined in: client-sdk-js/src/events.ts:210

Room-level metadata has been updated by the server.

args: (metadata: string | undefined)


SignalConnected: "signalConnected";

Defined in: client-sdk-js/src/events.ts:16

The signal channel to the server has been established (join accepted).


SignalReconnecting: "signalReconnecting";

Defined in: client-sdk-js/src/events.ts:45

When the signal connection to the server has been interrupted. This is not always noticeable to users. It will resolve with RoomEvent.Reconnected once re-established. If media also fails, an additional RoomEvent.Reconnecting will be emitted.


StateDeleted: "stateDeleted";

Defined in: client-sdk-js/src/events.ts:273

A room shared state key has been deleted.

args: (key: string, participantSid?: string, participantIdentity?: string)


StateUpdated: "stateUpdated";

Defined in: client-sdk-js/src/events.ts:266

A room shared state key has been updated.

args: (key: string, value: string, participantSid?: string, participantIdentity?: string)


TokenRefreshed: "tokenRefreshed";

Defined in: client-sdk-js/src/events.ts:281

The server has pushed a new refresh token. Applications should persist this token for reconnection.

args: (token: string)


TrackMuted: "trackMuted";

Defined in: client-sdk-js/src/events.ts:166

A track has been muted. Fires on both remote and local participants.

args: (publication: {@link TrackPublication}, participant: {@link Participant})


TrackPublished: "trackPublished";

Defined in: client-sdk-js/src/events.ts:115

A remote participant has published a new track.

args: (publication: {@link RemoteTrackPublication}, participant: {@link RemoteParticipant})


TrackStreamStateChanged: "trackStreamStateChanged";

Defined in: client-sdk-js/src/events.ts:296

The stream state of a remote track has changed (e.g. the server paused or resumed forwarding media). This is distinct from RoomEvent.TrackMuted which indicates the publisher’s intent.

args: (publication: {@link RemoteTrackPublication}, streamState: {@link StreamState}, participant: {@link RemoteParticipant})


TrackSubscribed: "trackSubscribed";

Defined in: client-sdk-js/src/events.ts:144

Subscribed to a new track from a remote participant. This is the event where you would typically attach the track to a media element.

args: (track: {@link RemoteTrack}, publication: {@link RemoteTrackPublication}, participant: {@link RemoteParticipant})


TrackSubscriptionFailed: "trackSubscriptionFailed";

Defined in: client-sdk-js/src/events.ts:151

Could not subscribe to a track.

args: (trackSid: string, participant: {@link RemoteParticipant})


TrackUnmuted: "trackUnmuted";

Defined in: client-sdk-js/src/events.ts:173

A track has been unmuted. Fires on both remote and local participants.

args: (publication: {@link TrackPublication}, participant: {@link Participant})


TrackUnpublished: "trackUnpublished";

Defined in: client-sdk-js/src/events.ts:122

A remote participant has unpublished a track.

args: (publication: {@link RemoteTrackPublication}, participant: {@link RemoteParticipant})


TrackUnsubscribed: "trackUnsubscribed";

Defined in: client-sdk-js/src/events.ts:159

Unsubscribed from a remote track. The track should be detached from any media elements at this point.

args: (track: {@link RemoteTrack}, publication: {@link RemoteTrackPublication}, participant: {@link RemoteParticipant})


VideoPlaybackStatusChanged: "videoPlaybackChanged";

Defined in: client-sdk-js/src/events.ts:287

Video playback status has changed. Similar to RoomEvent.AudioPlaybackStatusChanged but for video.