Skip to main content
Version: 0.1.x

Meeting Connection State Events - React

Overview​

The VideoSDK provides a feature to monitor the connection state of a meeting through the onMeetingStateChanged event. This event is triggered whenever the state of the meeting changes, allowing developers to handle different connection states appropriately.

Event: onMeetingStateChanged​

Description​

The onMeetingStateChanged event is fired when the connection state of the meeting changes. The event callback provides the current state of the meeting, which can be one of the following:

  • CONNECTING
  • CONNECTED
  • RECONNECTING
  • DISCONNECTED

Meeting States and Their Triggers​

  1. CONNECTING
  • This state indicates that the SDK has sent a request to the VideoSDK server to join a meeting using the provided meetingId.
  • Typically, you might show a “Connecting…” screen to the end user during this phase.
  1. CONNECTED
  • Signifies that the WebSocket and, if applicable, the media channels have successfully connected.
  • In SIGNALLING_ONLY and RECV_ONLY modes, this event triggers after the WebSocket connection is established since those modes do not rely on full media channels.
  1. RECONNECTING
  • Occurs if the network connection is lost or temporarily unstable. The SDK automatically attempts to rejoin the meeting.
  • Useful for displaying a “Reconnecting…” status to the user, letting them know the system is attempting to recover the session.
  1. DISCONNECTED
  • Indicates that the WebSocket connection has closed and the meeting is effectively ended for this participant.
  • This can happen if the user or the application explicitly leaves the meeting, or due to a critical error like a complete network drop.

Subscription​

The onMeetingStateChanged event can be subscribed using useMeeting hook.

Code Snippet​

const {
meetingId
...
} = useMeeting({
onMeetingStateChanged,
...
});

function onMeetingStateChanged(data) {
switch(state){
case 'CONNECTING':
console.log("Meeting is Connecting");
break;
case 'CONNECTED':
console.log("Meeting is Connected");
break;
case 'DISCONNECTED':
console.log("Meeting connection disconnected abruptly");
break;
case 'RECONNECTING':
console.log("Meeting is Reconnecting");
break;
default:
console.log("Unknown state:", state);
break;
}
}

Got a Question? Ask us on discord