twilio-video 2.16.0 → 2.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -4
- package/COMMON_ISSUES.md +106 -39
- package/README.md +25 -19
- package/dist/twilio-video.js +586 -370
- package/dist/twilio-video.min.js +22 -21
- package/es5/connect.js +13 -2
- package/es5/connect.js.map +1 -1
- package/es5/media/track/localmediatrack.js +4 -3
- package/es5/media/track/localmediatrack.js.map +1 -1
- package/es5/media/track/localvideotrack.js +4 -2
- package/es5/media/track/localvideotrack.js.map +1 -1
- package/es5/media/track/mediatrack.js +3 -3
- package/es5/media/track/mediatrack.js.map +1 -1
- package/es5/media/track/remotemediatrack.js +2 -2
- package/es5/media/track/remotemediatrack.js.map +1 -1
- package/es5/preflight/getCombinedConnectionStats.js +0 -1
- package/es5/preflight/getCombinedConnectionStats.js.map +1 -1
- package/es5/preflight/getturncredentials.js +2 -16
- package/es5/preflight/getturncredentials.js.map +1 -1
- package/es5/preflight/makestat.js +1 -1
- package/es5/preflight/makestat.js.map +1 -1
- package/es5/preflight/preflighttest.js +83 -11
- package/es5/preflight/preflighttest.js.map +1 -1
- package/es5/signaling/v2/cancelableroomsignalingpromise.js +2 -9
- package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
- package/es5/signaling/v2/peerconnection.js +34 -0
- package/es5/signaling/v2/peerconnection.js.map +1 -1
- package/es5/signaling/v2/twilioconnectiontransport.js +3 -27
- package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
- package/es5/util/browserdetection.js +130 -0
- package/es5/util/browserdetection.js.map +1 -0
- package/es5/util/constants.js +3 -0
- package/es5/util/constants.js.map +1 -1
- package/es5/util/eventobserver.js +9 -19
- package/es5/util/eventobserver.js.map +1 -1
- package/es5/util/index.js +13 -0
- package/es5/util/index.js.map +1 -1
- package/es5/util/sid.js +18 -0
- package/es5/util/sid.js.map +1 -0
- package/es5/util/support.js +4 -109
- package/es5/util/support.js.map +1 -1
- package/es5/util/twilio-video-errors.js +38 -5
- package/es5/util/twilio-video-errors.js.map +1 -1
- package/lib/connect.js +21 -2
- package/lib/media/track/localmediatrack.js +4 -3
- package/lib/media/track/localvideotrack.js +4 -2
- package/lib/media/track/mediatrack.js +2 -2
- package/lib/media/track/remotemediatrack.js +2 -2
- package/lib/preflight/getCombinedConnectionStats.ts +0 -1
- package/lib/preflight/getturncredentials.ts +2 -12
- package/lib/preflight/makestat.ts +2 -2
- package/lib/preflight/preflighttest.ts +107 -13
- package/lib/signaling/v2/cancelableroomsignalingpromise.js +1 -12
- package/lib/signaling/v2/peerconnection.js +35 -0
- package/lib/signaling/v2/twilioconnectiontransport.js +1 -31
- package/lib/util/browserdetection.js +130 -0
- package/lib/util/constants.js +3 -0
- package/lib/util/eventobserver.js +10 -22
- package/lib/util/index.js +16 -0
- package/lib/util/sid.js +20 -0
- package/lib/util/support.js +4 -107
- package/lib/util/twilio-video-errors.js +37 -5
- package/package.json +4 -4
- package/tsconfig.json +1 -1
- package/tsdef/PreflightTypes.d.ts +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,52 @@
|
|
|
1
1
|
The Twilio Programmable Video SDKs use [Semantic Versioning](http://www.semver.org/). Twilio supports version N-1 for 12 months after the first GA release of version N. We recommend you upgrade to the latest version as soon as possible to avoid any breaking changes. Version 2.x is the lastest Video JavaScript SDK.
|
|
2
2
|
|
|
3
|
-
**Version 1.x
|
|
3
|
+
**Version 1.x reached End of Life on September 8th, 2021.** See the changelog entry [here](https://www.twilio.com/changelog/end-of-life-complete-for-unsupported-versions-of-the-programmable-video-sdk). Support for the 1.x version ended on December 4th, 2020.
|
|
4
|
+
|
|
5
|
+
2.18.1 (October 29, 2021)
|
|
6
|
+
=========================
|
|
7
|
+
|
|
8
|
+
Changes
|
|
9
|
+
-------
|
|
10
|
+
|
|
11
|
+
- Added some metrics to track the usage of the **Preflight API Public Beta** (`runPreflight`). There are no changes to the public APIs in this release. (VIDEO-6891)
|
|
12
|
+
|
|
13
|
+
2.18.0 (October 13, 2021)
|
|
14
|
+
=========================
|
|
15
|
+
|
|
16
|
+
New Features
|
|
17
|
+
------------
|
|
18
|
+
|
|
19
|
+
- When a LocalParticipant tries to publish a LocalVideoTrack in an [Audio Only Group Room](https://www.twilio.com/docs/video/api/rooms-resource#example-4-create-an-audio-only-group-room),
|
|
20
|
+
it will fail with a [RoomTrackKindNotSupportedError](https://sdk.twilio.com/js/video/releases/2.18.0/docs/RoomTrackKindNotSupportedError.html). (VIDEO-7242)
|
|
21
|
+
|
|
22
|
+
Known Issue
|
|
23
|
+
------------
|
|
24
|
+
|
|
25
|
+
In Firefox, although the publishing of a LocalVideoTrack in an Audio Only Group Room fails,
|
|
26
|
+
the **RoomTrackKindNotSupportedError** is not raised. We are actively working on fixing this issue.
|
|
27
|
+
|
|
28
|
+
2.17.1 (September 21, 2021)
|
|
29
|
+
===========================
|
|
30
|
+
Bug Fixes
|
|
31
|
+
---------
|
|
32
|
+
|
|
33
|
+
- Fixed a regression in `2.17.0` which caused Chrome screen share tracks to be encoded at lower dimensions. (VIDEO-7000)
|
|
34
|
+
|
|
35
|
+
2.17.0 (September 14, 2021)
|
|
36
|
+
===========================
|
|
37
|
+
New Features
|
|
38
|
+
------------
|
|
39
|
+
|
|
40
|
+
- twilio-video.js now supports Chrome on iOS versions 14.3 and above. (VIDEO-5723)
|
|
41
|
+
|
|
42
|
+
Bug Fixes
|
|
43
|
+
---------
|
|
44
|
+
|
|
45
|
+
- Fixed a bug where the VideoTracks of Safari Participants with VP8 simulcast enabled sometimes had low frame rates. (VIDEO-6263)
|
|
46
|
+
- Fixed a bug where the screen share track got restarted as a camera track if it was ended when the application was foreground. (VIDEO-3977)
|
|
4
47
|
|
|
5
48
|
2.16.0 (August 11, 2021)
|
|
6
|
-
|
|
49
|
+
========================
|
|
7
50
|
**New Features**
|
|
8
51
|
-----------------------
|
|
9
52
|
|
|
@@ -27,7 +70,6 @@ preflightTest.on('progress', (progress: string) => {
|
|
|
27
70
|
|
|
28
71
|
preflightTest.on('failed', (error: Error) => {
|
|
29
72
|
console.error('preflight error:', error);
|
|
30
|
-
deferred.reject && deferred.reject(error);
|
|
31
73
|
});
|
|
32
74
|
|
|
33
75
|
preflightTest.on('completed', (report: PreflightTestReport) => {
|
|
@@ -40,7 +82,7 @@ preflightTest.on('completed', (report: PreflightTestReport) => {
|
|
|
40
82
|
The [PreflightTestReport](https://sdk.twilio.com/js/video/releases/2.16.0/docs/global.html#PreflightTestReport) generated by `preflightTest` on `completed` provides statistics that can be useful in cases where there is a poor connection. Some of the useful statistics in the report are as follows:
|
|
41
83
|
|
|
42
84
|
- Packet loss, round trip time, and jitter observed on the connection
|
|
43
|
-
- Network timing measurements on the `
|
|
85
|
+
- Network timing measurements on the `progress` events, such as time to connect or to receive media.
|
|
44
86
|
- Ice candidates and selected ice candidate pairs
|
|
45
87
|
|
|
46
88
|
`preflightTest` emits a `failed` event to indicate test failures. You can use the [PreflightProgress](https://sdk.stage.twilio.com/js/video/releases/2.16.0/docs/global.html#PreflightProgress) events to better understand where the test failed and refer to
|
|
@@ -152,6 +194,7 @@ Bug Fixes
|
|
|
152
194
|
|
|
153
195
|
New Features
|
|
154
196
|
------------
|
|
197
|
+
|
|
155
198
|
This release contains a significant update to the Bandwidth Profile API. It allows for more efficient use of bandwidth and CPU in multi-party applications. In addition it provides developers with more dynamic control over which video tracks are delivered to the client and the preferred video resolution of the tracks. These capabilities are provided via the Client Track Switch Off Control and Content Preferences settings.
|
|
156
199
|
|
|
157
200
|
Existing Bandwidth Profile settings will continue to function as before, however we recommend developers update their Bandwidth Profile settings to make use of these new capabilities at their earliest convenience.
|
package/COMMON_ISSUES.md
CHANGED
|
@@ -9,23 +9,50 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
|
|
|
9
9
|
<details>
|
|
10
10
|
<summary>Chrome memory leak might cause degraded experience in group rooms</summary>
|
|
11
11
|
<p>
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
Chrome has a memory leak, which is most apparent in long running Group Rooms with 30+ Participants with most of them share media. For details, go [here](https://github.com/twilio/twilio-video.js/issues/1449).
|
|
14
14
|
</p>
|
|
15
15
|
</details>
|
|
16
16
|
|
|
17
|
+
<details>
|
|
18
|
+
<summary>With opus dtx enabled, sometimes background noise is heard on muted AudioTracks</summary>
|
|
19
|
+
<p>
|
|
20
|
+
|
|
21
|
+
twilio-video.js enables DTX (discontinuous transmission) by default for opus. Webrtc has an issue which sometimes causes background noise to be heard on muted track when DTX is enabled, For details, see [here](https://bugs.chromium.org/p/webrtc/issues/detail?id=13051).
|
|
22
|
+
To workaround this issue, you can disable the dtx with:
|
|
23
|
+
```js
|
|
24
|
+
const { connect } = require('twilio-video');
|
|
25
|
+
|
|
26
|
+
// Disable DTX for Opus.
|
|
27
|
+
connect('token', {
|
|
28
|
+
preferredAudioCodecs: [{ codec: 'opus', dtx: false }]
|
|
29
|
+
});
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
</p>
|
|
33
|
+
</details>
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
17
37
|
### Chrome mobile
|
|
18
38
|
<details>
|
|
39
|
+
<summary>Chrome on iOS 15.1 crashes when publishing or muting a VideoTrack that is using an H264 codec</summary>
|
|
40
|
+
<p>
|
|
41
|
+
|
|
42
|
+
This issue happens due to a regression on iOS 15.1 where using an H264 codec causes the browser to crash when joining a room or when muting the VideoTrack. Please use VP8 as a workaround for now. See more details [here](https://github.com/twilio/twilio-video.js/issues/1611).
|
|
43
|
+
</p>
|
|
44
|
+
</details>
|
|
45
|
+
<details>
|
|
19
46
|
<summary>Android Chrome on Pixel 3 receives corrupted video frames with codec VP8</summary>
|
|
20
47
|
<p>
|
|
21
|
-
|
|
22
|
-
This is an issue in the hardware VP8 encoder on the Pixel 3 devices. See [WebRTC ticket](https://bugs.chromium.org/p/webrtc/issues/detail?id=11337). To work around this issue, please set H264 as the preferred video codec on Pixel 3. ([Example](https://github.com/twilio/video-quickstart-android/issues/470#issuecomment-623042880)).
|
|
23
|
-
</p>
|
|
48
|
+
|
|
49
|
+
This is an issue in the hardware VP8 encoder on the Pixel 3 devices. See [WebRTC ticket](https://bugs.chromium.org/p/webrtc/issues/detail?id=11337). To work around this issue, please set H264 as the preferred video codec on Pixel 3. ([Example](https://github.com/twilio/video-quickstart-android/issues/470#issuecomment-623042880)).
|
|
50
|
+
</p>
|
|
24
51
|
</details>
|
|
25
52
|
<details>
|
|
26
53
|
<summary>Android Chrome 81+ Participants fail to subscribe to H264 VideoTracks in Group Rooms</summary>
|
|
27
54
|
<p>
|
|
28
|
-
|
|
55
|
+
|
|
29
56
|
This happens primarily due to this [Chromium Bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1074421).
|
|
30
57
|
We have added a workaround to the SDK in version 2.4.0. For earlier versions of the SDK,
|
|
31
58
|
please apply the workaround discussed in this [GitHub Issue](https://github.com/twilio/twilio-video.js/issues/966#issuecomment-619212184).
|
|
@@ -33,18 +60,36 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
|
|
|
33
60
|
</details>
|
|
34
61
|
|
|
35
62
|
### Safari desktop
|
|
63
|
+
<details>
|
|
64
|
+
<summary>Safari 15.1 crashes when muting a VideoTrack that is using an H264 codec</summary>
|
|
65
|
+
<p>
|
|
66
|
+
|
|
67
|
+
This issue happens due to a regression on Safari 15.1 where muting a VideoTrack that is using an H264 codec causes the browser to crash. Please use VP8 as a workaround for now. See more details [here](https://github.com/twilio/twilio-video.js/issues/1611).
|
|
68
|
+
</p>
|
|
69
|
+
</details>
|
|
70
|
+
|
|
71
|
+
<details>
|
|
72
|
+
<summary>Failures to publish tracks on Safari 15</summary>
|
|
73
|
+
<p>
|
|
74
|
+
|
|
75
|
+
If your applications uses [Webrtc-adapter](https://github.com/webrtcHacks/adapter) as a dependency, please note that older versions of webrtc-adapter have a bug which leads to an error ("Client is unable to apply a remote media description - Attempted to assign to readonly property…") on Safari 15.
|
|
76
|
+
|
|
77
|
+
To fix this issue, please update your adapter.js version to the newer one (^7.7.1) with the [fix](https://github.com/webrtcHacks/adapter/commit/de0348c756b7bda11a700bf7ea9e9393cab16421)
|
|
78
|
+
</p>
|
|
79
|
+
</details>
|
|
80
|
+
|
|
36
81
|
<details>
|
|
37
82
|
<summary>Echo issues in Safari when using external microphone</summary>
|
|
38
83
|
<p>
|
|
39
|
-
|
|
84
|
+
|
|
40
85
|
This is an echo cancellation bug in Safari's implementation of WebRTC. For more details, go [here](https://bugs.webkit.org/show_bug.cgi?id=213723).
|
|
41
|
-
and [here](https://github.com/twilio/twilio-video.js/issues/1433)
|
|
42
|
-
</p>
|
|
86
|
+
and [here](https://github.com/twilio/twilio-video.js/issues/1433)
|
|
87
|
+
</p>
|
|
43
88
|
</details>
|
|
44
89
|
<details>
|
|
45
90
|
<summary>Angular applications missing audio and/or video tracks</summary>
|
|
46
91
|
<p>
|
|
47
|
-
|
|
92
|
+
|
|
48
93
|
There is a misinteraction between one of Angular's libraries, Zone.js, and
|
|
49
94
|
Safari's RTCPeerConnection APIs. For more information, see [here](https://github.com/angular/zone.js/issues/883)
|
|
50
95
|
for the issue filed against Zone.js and [here](https://bugs.webkit.org/show_bug.cgi?id=175802)
|
|
@@ -55,49 +100,71 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
|
|
|
55
100
|
```html
|
|
56
101
|
<script src="node_modules/zone.js/dist/zone.js"></script>
|
|
57
102
|
<script src="node_modules/zone.js/dist/webapis-rtc-peer-connection.js"></script>
|
|
58
|
-
```
|
|
59
|
-
</p>
|
|
103
|
+
```
|
|
104
|
+
</p>
|
|
60
105
|
</details>
|
|
61
106
|
<details>
|
|
62
107
|
<summary>After unpublishing a Track, Safari 12.1 Participants cannot publish Track(s) of the same kind</summary>
|
|
63
108
|
<p>
|
|
64
|
-
|
|
109
|
+
|
|
65
110
|
Because of this Safari 12.1 [bug](https://bugs.webkit.org/show_bug.cgi?id=195489),
|
|
66
|
-
once a Participant unpublishes a MediaTrack of any kind (audio or video), it will not be able to publish another MediaTrack of the same kind. DataTracks are not affected. We have escalated this bug to the Safari Team and are keeping track of related developments.
|
|
67
|
-
</p>
|
|
111
|
+
once a Participant unpublishes a MediaTrack of any kind (audio or video), it will not be able to publish another MediaTrack of the same kind. DataTracks are not affected. We have escalated this bug to the Safari Team and are keeping track of related developments.
|
|
112
|
+
</p>
|
|
68
113
|
</details>
|
|
69
114
|
|
|
70
115
|
### Safari mobile
|
|
71
116
|
<details>
|
|
117
|
+
<summary>iOS 15.1: Browser crashes when publishing or muting a VideoTrack that is using an H264 codec</summary>
|
|
118
|
+
<p>
|
|
119
|
+
|
|
120
|
+
This issue happens due to a regression on iOS 15.1 where using an H264 codec causes the browser to crash when joining a room or when muting the VideoTrack. Please use VP8 as a workaround for now. See more details [here](https://github.com/twilio/twilio-video.js/issues/1611).
|
|
121
|
+
</p>
|
|
122
|
+
</details>
|
|
123
|
+
<details>
|
|
124
|
+
<summary>iOS 15: Low audio volume in Safari</summary>
|
|
125
|
+
<p>
|
|
126
|
+
|
|
127
|
+
Safari on iOS version 15, sometimes routes audio to the earpiece and not the speakers by default. Which customers some time perceive as low audio volume. Find more details [here](https://github.com/twilio/twilio-video.js/issues/1586) and in this [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=230902).
|
|
128
|
+
</p>
|
|
129
|
+
</details>
|
|
130
|
+
<details>
|
|
131
|
+
<summary>iOS 15: Audio is lost in a video call after an interruption with a phone call</summary>
|
|
132
|
+
<p>
|
|
133
|
+
|
|
134
|
+
Due to a regression on Safari on iOS 15, an incoming call causes local and sometimes remote media playback to stop. You can find more details in this [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=230537).
|
|
135
|
+
</p>
|
|
136
|
+
</details>
|
|
137
|
+
<details>
|
|
72
138
|
<summary>Mobile Safari Participants on iOS 13.1-13.3 sometimes fail to send audio</summary>
|
|
73
139
|
<p>
|
|
74
|
-
|
|
75
|
-
This issue happened due to regression on iOS 13.1. The fix was released by Apple in iOS 13.4. Find more details in this [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=202405).
|
|
76
|
-
</p>
|
|
140
|
+
|
|
141
|
+
This issue happened due to regression on iOS 13.1. The fix was released by Apple in iOS 13.4. Find more details in this [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=202405).
|
|
142
|
+
</p>
|
|
77
143
|
</details>
|
|
78
144
|
<details>
|
|
79
145
|
<summary>Stuttering/distorted audio in Safari on iOS 14.2 and MacOS 11.0.1</summary>
|
|
80
146
|
<p>
|
|
81
|
-
|
|
82
|
-
This issue happened due to regression in Safari's WebKit in iOS version 14.2, the fix got rolled out in iOS 14.3 beta3. Find more details [here](https://github.com/twilio/twilio-video.js/issues/1296) and in this [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=218762).
|
|
83
|
-
</p>
|
|
147
|
+
|
|
148
|
+
This issue happened due to regression in Safari's WebKit in iOS version 14.2, the fix got rolled out in iOS 14.3 beta3. Find more details [here](https://github.com/twilio/twilio-video.js/issues/1296) and in this [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=218762).
|
|
149
|
+
</p>
|
|
84
150
|
</details>
|
|
85
151
|
|
|
152
|
+
|
|
86
153
|
### Firefox desktop
|
|
87
154
|
<details>
|
|
88
155
|
<summary>Firefox Participants sometimes fail to subscribe to DataTracks on Peer-to-Peer Rooms</summary>
|
|
89
156
|
<p>
|
|
90
|
-
|
|
91
|
-
Because of this Firefox [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1603887) Participants that join a Peer-to-Peer Room after a DataTrack has been published by a Firefox Participant fail to subscribe to it. You can work around this issue by publishing a DataTrack while connecting to the Room.
|
|
92
|
-
</p>
|
|
157
|
+
|
|
158
|
+
Because of this Firefox [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1603887) Participants that join a Peer-to-Peer Room after a DataTrack has been published by a Firefox Participant fail to subscribe to it. You can work around this issue by publishing a DataTrack while connecting to the Room.
|
|
159
|
+
</p>
|
|
93
160
|
</details>
|
|
94
161
|
<details>
|
|
95
162
|
<summary>Firefox Participants cannot constrain their audio bandwidth</summary>
|
|
96
163
|
<p>
|
|
97
|
-
|
|
164
|
+
|
|
98
165
|
Because of this [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1573726), Firefox
|
|
99
|
-
Participants are not able to constrain their audio bandwidth using `LocalParticipant.setParameters()`.
|
|
100
|
-
</p>
|
|
166
|
+
Participants are not able to constrain their audio bandwidth using `LocalParticipant.setParameters()`.
|
|
167
|
+
</p>
|
|
101
168
|
</details>
|
|
102
169
|
|
|
103
170
|
### All browsers
|
|
@@ -105,7 +172,7 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
|
|
|
105
172
|
<details>
|
|
106
173
|
<summary>Working around the browsers' autoplay policy (which might block audio and video from playing)</summary>
|
|
107
174
|
<p>
|
|
108
|
-
|
|
175
|
+
|
|
109
176
|
Chrome, Firefox and Safari enforce the autoplay policy, which blocks automatically
|
|
110
177
|
playing audio or video if the user has not interacted with your application
|
|
111
178
|
(ex: clicking a button to join a Room). You can find more details about the autoplay
|
|
@@ -135,7 +202,7 @@ remoteParticipant.on('trackSubscribed', track => {
|
|
|
135
202
|
function isUserInteractionRequired(audioEl) {
|
|
136
203
|
if (!audioEl.paused) {
|
|
137
204
|
return Promise.resolve(false);
|
|
138
|
-
}
|
|
205
|
+
}
|
|
139
206
|
if (audioEl.hasAttribute('autoplay')) {
|
|
140
207
|
return Promise.race([
|
|
141
208
|
new Promise(resolve => audioEl.onplay = resolve),
|
|
@@ -149,7 +216,7 @@ function isUserInteractionRequired(audioEl) {
|
|
|
149
216
|
});
|
|
150
217
|
}
|
|
151
218
|
```
|
|
152
|
-
|
|
219
|
+
|
|
153
220
|
For RemoteVideoTracks, there are two ways to ensure playback:
|
|
154
221
|
|
|
155
222
|
- Make sure that the user interacts with your application before joining a Room.
|
|
@@ -171,30 +238,30 @@ For RemoteVideoTracks, there are two ways to ensure playback:
|
|
|
171
238
|
const video = videoTrack.attach();
|
|
172
239
|
video.muted = true;
|
|
173
240
|
```
|
|
174
|
-
</p>
|
|
241
|
+
</p>
|
|
175
242
|
</details>
|
|
176
243
|
<details>
|
|
177
244
|
<summary>Support of Beta/Canary/Nightly browser releases</summary>
|
|
178
245
|
<p>
|
|
179
|
-
|
|
180
|
-
We constantly test for and ensure compatibility with the current stable and beta releases of supported browsers.
|
|
181
|
-
However, because some of the APIs we rely upon, like WebRTC, are under active development in the browsers,
|
|
246
|
+
|
|
247
|
+
We constantly test for and ensure compatibility with the current stable and beta releases of supported browsers.
|
|
248
|
+
However, because some of the APIs we rely upon, like WebRTC, are under active development in the browsers,
|
|
182
249
|
we cannot guarantee compatibility with Canary or Nightly releases. Find our browsers support matrix [here](https://www.twilio.com/docs/video/javascript#supported-browsers)
|
|
183
|
-
</p>
|
|
250
|
+
</p>
|
|
184
251
|
</details>
|
|
185
252
|
<details>
|
|
186
253
|
<summary>Internet Explorer and other WebRTC-incompatible Browsers</summary>
|
|
187
254
|
<p>
|
|
188
|
-
|
|
255
|
+
|
|
189
256
|
twilio-video.js requires WebRTC, which is not supported by Internet Explorer.
|
|
190
|
-
While twilio-video.js will load in Internet Explorer and other browsers that do not support WebRTC,
|
|
257
|
+
While twilio-video.js will load in Internet Explorer and other browsers that do not support WebRTC,
|
|
191
258
|
attempting to connect to a Room or attempting to acquire LocalTracks will fail. Find our browsers support matrix [here](https://www.twilio.com/docs/video/javascript#supported-browsers)
|
|
192
|
-
</p>
|
|
259
|
+
</p>
|
|
193
260
|
</details>
|
|
194
261
|
<details>
|
|
195
262
|
<summary>Aggressive Browser Extensions and Plugins</summary>
|
|
196
263
|
<p>
|
|
197
|
-
|
|
264
|
+
|
|
198
265
|
Some browser extensions and plugins will disable WebRTC APIs, causing
|
|
199
266
|
twilio-video.js to fail. Examples of such plugins include
|
|
200
267
|
|
|
@@ -204,5 +271,5 @@ twilio-video.js to fail. Examples of such plugins include
|
|
|
204
271
|
|
|
205
272
|
These are unsupported and likely to break twilio-video.js. If you are having
|
|
206
273
|
trouble with twilio-video.js, ensure these are not running.
|
|
207
|
-
</p>
|
|
274
|
+
</p>
|
|
208
275
|
</details>
|
package/README.md
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
**NEW:** Please check out our [Best Practices Guide](https://www.twilio.com/docs/video/build-js-video-application-recommendations-and-best-practices)
|
|
2
|
-
for building video applications with twilio-video.js.
|
|
3
|
-
|
|
4
1
|
twilio-video.js
|
|
5
2
|
===============
|
|
6
3
|
|
|
7
4
|
[](https://www.npmjs.com/package/twilio-video) [](https://circleci.com/gh/twilio/twilio-video.js/tree/master)
|
|
8
5
|
|
|
9
|
-
For 1.x, go [here](https://github.com/twilio/twilio-video.js/tree/support-1.x/).
|
|
10
|
-
|
|
11
6
|
twilio-video.js allows you to add real-time voice and video to your web apps.
|
|
12
7
|
|
|
13
8
|
* [API Docs](//sdk.twilio.com/js/video/latest/docs)
|
|
@@ -18,20 +13,22 @@ twilio-video.js allows you to add real-time voice and video to your web apps.
|
|
|
18
13
|
|
|
19
14
|
**We want your feedback!** Please feel free to open a [GitHub issue](https://github.com/twilio/twilio-video.js/issues) for suggested improvements or feature requests. If you need technical support, contact [help@twilio.com](mailto:help@twilio.com).
|
|
20
15
|
|
|
16
|
+
Changelog
|
|
17
|
+
---------
|
|
18
|
+
|
|
19
|
+
View [CHANGELOG.md](https://github.com/twilio/twilio-video.js/blob/master/CHANGELOG.md) for details about our releases.
|
|
20
|
+
|
|
21
21
|
Browser Support
|
|
22
22
|
---------------
|
|
23
23
|
|
|
24
24
|
| | Chrome | Edge (Chromium) | Firefox | Safari |
|
|
25
25
|
| ------------|--------|-----------------|---------|--------|
|
|
26
26
|
| **Android** | ✓ | - | ✓ | - |
|
|
27
|
-
| **iOS** |
|
|
27
|
+
| **iOS** | ✓ | - | * | ✓ |
|
|
28
28
|
| **Linux** | ✓ | - | ✓ | - |
|
|
29
29
|
| **macOS** | ✓ | ✓ ** | ✓ | ✓ |
|
|
30
30
|
| **Windows** | ✓ | ✓ ** | ✓ | - |
|
|
31
31
|
|
|
32
|
-
\* Chrome and Firefox for iOS do not have access to WebRTC APIs, unlike Safari
|
|
33
|
-
for iOS.
|
|
34
|
-
|
|
35
32
|
\*\* twilio-video.js supports the [Chromium-based Edge](https://www.microsoftedgeinsider.com/) browser.
|
|
36
33
|
|
|
37
34
|
Installation
|
|
@@ -77,7 +74,7 @@ Releases of twilio-video.js are hosted on a CDN, and you can include these
|
|
|
77
74
|
directly in your web app using a <script> tag.
|
|
78
75
|
|
|
79
76
|
```html
|
|
80
|
-
<script src="//sdk.twilio.com/js/video/releases/2.
|
|
77
|
+
<script src="//sdk.twilio.com/js/video/releases/2.18.1/twilio-video.min.js"></script>
|
|
81
78
|
|
|
82
79
|
```
|
|
83
80
|
|
|
@@ -139,11 +136,6 @@ function trackUnsubscribed(track) {
|
|
|
139
136
|
}
|
|
140
137
|
```
|
|
141
138
|
|
|
142
|
-
Changelog
|
|
143
|
-
---------
|
|
144
|
-
|
|
145
|
-
See [CHANGELOG.md](https://github.com/twilio/twilio-video.js/blob/master/CHANGELOG.md).
|
|
146
|
-
|
|
147
139
|
Content Security Policy (CSP)
|
|
148
140
|
-----------------------------
|
|
149
141
|
|
|
@@ -165,10 +157,6 @@ script-src https://sdk.twilio.com
|
|
|
165
157
|
Keep in mind, you may need to merge these policy directives with your own if
|
|
166
158
|
you're using other services.
|
|
167
159
|
|
|
168
|
-
License
|
|
169
|
-
-------
|
|
170
|
-
|
|
171
|
-
See [LICENSE.md](https://github.com/twilio/twilio-video.js/blob/master/LICENSE.md).
|
|
172
160
|
|
|
173
161
|
Building
|
|
174
162
|
--------
|
|
@@ -224,9 +212,27 @@ Tips
|
|
|
224
212
|
ln -s ../../pre-commit.sh .git/hooks/pre-commit
|
|
225
213
|
```
|
|
226
214
|
|
|
215
|
+
Related
|
|
216
|
+
-------
|
|
217
|
+
### Applications using twilio-video.js
|
|
218
|
+
- [Twilio Video React App](https://github.com/twilio/twilio-video-app-react)
|
|
219
|
+
- [Twilio Video Javascript Quickstart](https://github.com/twilio/video-quickstart-js)
|
|
220
|
+
- [Twilio Video Diagnostics App](https://github.com/twilio/twilio-video-diagnostics-react-app/blob/main/README.md)
|
|
221
|
+
|
|
222
|
+
### Developer tools
|
|
223
|
+
- [Twilio Video Processors](https://twilio.github.io/twilio-video-processors.js/index.html)
|
|
224
|
+
- [Twilio Video Room Monitor](https://github.com/twilio/twilio-video-room-monitor.js)
|
|
225
|
+
- [Twilio RTC Diagnostics SDK](https://github.com/twilio/rtc-diagnostics)
|
|
226
|
+
|
|
227
227
|
Contributing
|
|
228
228
|
------------
|
|
229
229
|
|
|
230
230
|
Bug fixes welcome! If you're not familiar with the GitHub pull
|
|
231
231
|
request/contribution process,
|
|
232
232
|
[this is a nice tutorial](https://gun.io/blog/how-to-github-fork-branch-and-pull-request/).
|
|
233
|
+
|
|
234
|
+
License
|
|
235
|
+
-------
|
|
236
|
+
|
|
237
|
+
See [LICENSE.md](https://github.com/twilio/twilio-video.js/blob/master/LICENSE.md).
|
|
238
|
+
|