The Room could not be joined. Terminal: no further events follow.
Used internally by connect, which rejects with this error and disposes the partially built Room. Application code never receives a Room on which this can still fire, so failures are handled by catching the rejection from connect.
Why the connection attempt failed.
The local participant left the Room, either by calling Room.disconnect or because the server ended the session.
The Room that was left.
Optionalerror: TwilioError
Why the Room ended, or omitted after a local Room.disconnect.
The loudest participant changed. Emitted only when the Room was joined with
enableDominantSpeaker: true.
The new dominant speaker, or null when no one is
speaking.
A remote participant joined the Room.
Not emitted for participants already in the Room when connect resolved. Those are part of the Room's starting state: read them from Room.participants.
The participant that joined.
A remote participant left the Room. Their tracks are unsubscribed first.
The participant that left.
A remote participant restored their connection.
The participant that reconnected.
A remote participant lost their connection and is trying to restore it.
The participant that is reconnecting.
The connection was restored after reconnecting. Media resumes.
The signaling or media connection dropped and the SDK is trying to restore
it. Media is interrupted until reconnected fires.
Optionalerror: TwilioError
Why the connection dropped, when the SDK can attribute it.
Recording started for this Room.
Recording stopped for this Room.
A remote participant muted a track they publish. The track stays subscribed but stops delivering media.
The publication whose track was disabled.
The participant publishing it.
A remote participant unmuted a track they publish.
The publication whose track was enabled.
The participant publishing it.
A remote participant published a track. Subscription follows separately,
and trackSubscribed reports it.
The new publication. Its track is set only once
subscription completes.
The participant that published it.
A remote track was subscribed to and is now delivering media or messages.
A participant who was already publishing emits this after connect
resolves. Subscriptions that completed before the listener was attached are
not replayed; they appear in participant.tracks with isSubscribed set to
true.
The subscribed track.
The publication the track was subscribed from.
The participant publishing it.
Subscribing to a remote track failed. The track stays unsubscribed.
Why the subscription failed.
Identifies the track that could not be subscribed to.
The participant publishing it.
A remote participant unpublished a track.
The publication that was removed.
The participant that unpublished it.
A remote track was unsubscribed from and stops delivering media. Its frame and message callbacks will not fire again.
The unsubscribed track.
The publication the track was unsubscribed from.
The participant that was publishing it.
A transcription result arrived. Emitted only when the Room was joined with
receiveTranscriptions: true.
The raw transcription payload, as a JSON string.
The server stopped delivering a subscribed video track, typically to stay
within the Room's bandwidth profile. The track stays subscribed and its
isSwitchedOff reads true.
The track that was switched off.
The participant publishing it.
The server resumed delivering a video track that was switched off.
The track that was switched on.
The participant publishing it.
Listener signatures for every event a Room can emit.
The track events at the end of this map are emitted by each RemoteParticipant and re-emitted here, with the participant that emitted them appended as the last argument. Listening here handles every participant's tracks in one place, instead of attaching listeners to each participant.