2.0.0-beta6 (March 15, 2019)
New Features
-
Dominant Speaker and Network Quality APIs are now generally available.
-
twilio-video.js now supports versions of Safari that enable Unified Plan as the
default SDP format. As of now, Unified Plan is enabled by default in the latest
Safari Technology Preview. (JSDK-2306) -
Network reconnection is now supported as an opt-in feature. Previously, Participants
would be disconnected from the Room during network disruptions or handoffs. This
feature allows Participants to remain connected to the Room.To try this new feature in your application you must perform the following steps:
-
Set the Time-To-Live (TTL) of your AccessToken
to the maximum allowed session duration, currently 14400 seconds (4 hours).
This ensures that when a network loss occurs the client will be able to
re-authenticate the reconnection. Note, a reconnection attempt with an expired
AccessToken will result in an AccessTokenExpiredError. -
Ensure that the AccessToken
does not contain a configuration profile sid. Configuration profiles were
deprecated when we announced
the general availability of twilio-video.js@1.0.0. Configuration profiles are
not supported when using this feature. -
Enable the feature using the temporary flag
_useTwilioConnection
as follows:const { connect } = require('twilio-video'); const room = await connect(token, { _useTwilioConnection: true });
-
The reconnecting event will now raise a SignalingConnectionDisconnectedError
when a signaling connection network disruption occurs. Previously, the reconnecting
event only raised a MediaConnectionError.
You can differentiate between errors in the handler as follows:room.on('reconnecting', error => { if (error.code === 53001) { console.log('Reconnecting your signaling connection!', error.message); } else if (error.code === 53405) { console.log('Reconnecting your media connection!', error.message); } });
-
When a Participant closes the tab/browser or navigates away from your application,
we recommend that you disconnect from the Room so that other Participants are
immediately notified. You can achieve this as follows:window.addEventListener('beforeunload', () => { room.disconnect(); });
After twilio-video.js@2.0.0 is generally available, we plan to make this an opt-out
feature in twilio-video.js@2.1.0, followed by removing our existing SIP-based
signaling transport altogether in twilio-video.js@2.2.0. -
Bug Fixes
- Fixed a bug where
Room.getStats
was throwing a TypeError in Electron 3.x. (JSDK-2267) - Fixed a bug where the LocalParticipant sometimes failed to publish a LocalTrack
to a group Room due to media negotiation failure. (JSDK-2219) - Removed workaround for this Firefox bug
on Firefox 65 and above. (JSDK-2280) - Fixed a bug where passing invalid RTCIceServer urls in ConnectOptions did not
raise a MediaConnectionError. (JSDK-2279)