github twilio/twilio-video.js 1.9.0

1.9.0 (May 9, 2018)

New Features

  • Room now emits "reconnecting" and "reconnected" events when the media
    connection is disconnected and reconnected. You can use these events to update
    your application and warn your users when a reconnection is occurring.
    twilio-video.js does not yet support reconnecting the signaling connection;
    however, when we do, we will use this same event. We recommend you set the
    following event listeners in your application:
  room.on('reconnecting', error => {
    // Warn and/or update your application's UI.
    console.warn('Reconnecting!', error);
  });

  room.on('reconnected', () => {
    // Log and/or update your application's UI.
    console.log('Reconnected!');
  });

In addition to this change, we've also added a new Room state value:
"reconnecting". Room state can now be one of "connected", "reconnecting", or
"disconnected". (JSDK-1855)

  • By default, twilio-video.js waits up to 3000 milliseconds to fetch ICE servers
    before connecting to a Room; and, if fetching ICE servers takes longer than
    3000 milliseconds or otherwise fails, twilio-video.js will fallback to using
    hard-coded STUN servers. Now you can configure this timeout with a new
    property in ConnectOptions, iceServersTimeout. You can also disable the
    fallback behavior by setting another new property in ConnectOptions,
    abortOnIceServersTimeout, to true. Doing so will cause the Promise
    returned by connect to reject with TwilioError 53500, "Unable to acquire
    configuration", if fetching ICE servers times out or otherwise fails.

Bug Fixes

  • Fixed a bug where, if the WebSocket connection to Twilio was disconnected (for
    example, due to losing internet connectivity), Room would emit a
    "disconnected" event without an error. Now, Room will emit a
    SignalingConnectionDisconnectedError.
  • Fixed a bug where twilio-video.js failed to identify a WebSocket timeout in a
    timely manner. Now, WebSocket timeouts can be identified in around 30 seconds.
    If a WebSocket timeout occurs, for example, due to a WebSocket disconnect,
    Room will emit a "disconnected" event with SignalingConnectionTimeoutError.
  • If an ICE failure occurs, for example due to disconnecting a VPN, but the
    signaling connection remains online, twilio-video.js will attempt an ICE
    restart to repair the media connection. (JSDK-1810)
latest releases: 2.14.0-rc1, 2.13.0, 2.13.0-rc5...
2 years ago