async joinRoomMessaging()

in web-ui/src/components/chime/ChimeSdkWrapper.js [251:288]


  async joinRoomMessaging() {
    if (!this.configuration) {
      this.logError(new Error('configuration does not exist'));
      return;
    }

    const messagingUrl = `${config.CHAT_WEBSOCKET}?MeetingId=${this.configuration.meetingId}&AttendeeId=${this.configuration.credentials.attendeeId}&JoinToken=${this.configuration.credentials.joinToken}`;
    this.messagingSocket = new ReconnectingPromisedWebSocket(
      messagingUrl,
      [],
      'arraybuffer',
      new DefaultPromisedWebSocketFactory(new DefaultDOMWebSocketFactory()),
      new FullJitterBackoff(1000, 0, 10000),
    );

    await this.messagingSocket.open(this.WEB_SOCKET_TIMEOUT_MS);

    this.messagingSocket.addEventListener('message', (event) => {
      try {
        const data = JSON.parse(event.data);
        const { attendeeId } = data.payload;

        let name;
        if (this.roster[attendeeId]) {
          name = this.roster[attendeeId].name;
        }

        this.publishMessageUpdate({
          type: data.type,
          payload: data.payload,
          timestampMs: Date.now(),
          name,
        });
      } catch (error) {
        this.logError(error);
      }
    });
  }