Meeting Metadata
All metadata pertaining to a meeting is stored in meeting.meta. This includes:
viewType: Indicates the type of the meeting, possible values areWEBINAR,GROUP_CALL.roomType: Indicates the meeting is a group-call or a webinar.meetingTitle: The title of the meeting.meetingStartedTimestamp: The timestamp when the meeting started.mediaState: Media Connection statesocketState: Socket Connection state
For example, if you want to get the title of the meeting the current participant is connected to, you can do so by doing:
- Javascript
 - React
 
// Destructuring the metadata to get meetingTitle and joined
const { meetingTitle } = meeting.meta;
if (meeting.self.roomJoined) {
  console.log(
    `The local user has joined a meeting with title ${meetingTitle}.`,
  );
}
const [meetingTitle, roomJoined] = useDyteSelector((m) => 
  [m.meta.meetingTitle, m.self.roomJoined]
);
useEffect(() => {
  if (roomJoined) {
    console.log(
      `The local user has joined a meeting with title ${meetingTitle}.`,
    );
  }
}, [roomJoined, meetingTitle])
Events
The meta object also emits events for indicating the change in the connection
state of the room.
- Media Connection
 
Updates to Media connection (WebRTC connection used for the transfer of actual media) will be sent on mediaConnectionUpdate event with the payload
meeting.meta.on('mediaConnectionUpdate', ({ transport, state }) => {
  // transport - 'consuming' | 'producing'
  // state - 'new' | 'connecting' | 'connected' | 'disconnected' | 'reconnecting' | 'failed'
});
- Socket Connection
 
Updates to Websocket connection (used for chat, polls and other basic signaling) will be sent on socketConnectionUpdate event
meeting.meta.on(
  'socketConnectionUpdate',
  ({ state, reconnectionAttempt, reconnected }) => {
    // state - 'connected' | 'disconnected' | 'reconnecting' | 'failed'
  },
);