twilio-video 2.21.3 → 2.22.2
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 +83 -1
- package/COMMON_ISSUES.md +34 -0
- package/README.md +1 -1
- package/dist/twilio-video.js +377 -116
- package/dist/twilio-video.min.js +20 -20
- package/es5/connect.js +9 -0
- package/es5/connect.js.map +1 -1
- package/es5/localparticipant.js +57 -33
- package/es5/localparticipant.js.map +1 -1
- package/es5/media/track/localtrackpublication.js +56 -4
- package/es5/media/track/localtrackpublication.js.map +1 -1
- package/es5/room.js +59 -0
- package/es5/room.js.map +1 -1
- package/es5/signaling/v2/cancelableroomsignalingpromise.js +2 -1
- package/es5/signaling/v2/cancelableroomsignalingpromise.js.map +1 -1
- package/es5/signaling/v2/localparticipant.js +13 -1
- package/es5/signaling/v2/localparticipant.js.map +1 -1
- package/es5/signaling/v2/localtrackpublication.js +38 -2
- package/es5/signaling/v2/localtrackpublication.js.map +1 -1
- package/es5/signaling/v2/peerconnection.js +23 -7
- package/es5/signaling/v2/peerconnection.js.map +1 -1
- package/es5/signaling/v2/room.js +9 -0
- package/es5/signaling/v2/room.js.map +1 -1
- package/es5/signaling/v2/twilioconnectiontransport.js +8 -1
- package/es5/signaling/v2/twilioconnectiontransport.js.map +1 -1
- package/es5/util/index.js +11 -0
- package/es5/util/index.js.map +1 -1
- package/es5/util/support.js +2 -0
- package/es5/util/support.js.map +1 -1
- package/es5/util/twiliowarning.js +12 -0
- package/es5/util/twiliowarning.js.map +1 -0
- package/es5/webrtc/util/sdp.js +10 -1
- package/es5/webrtc/util/sdp.js.map +1 -1
- package/lib/connect.js +9 -0
- package/lib/localparticipant.js +64 -37
- package/lib/media/track/localtrackpublication.js +32 -4
- package/lib/room.js +53 -0
- package/lib/signaling/v2/cancelableroomsignalingpromise.js +2 -0
- package/lib/signaling/v2/localparticipant.js +15 -1
- package/lib/signaling/v2/localtrackpublication.js +38 -1
- package/lib/signaling/v2/peerconnection.js +22 -7
- package/lib/signaling/v2/room.js +10 -0
- package/lib/signaling/v2/twilioconnectiontransport.js +10 -0
- package/lib/util/index.js +11 -0
- package/lib/util/support.js +2 -0
- package/lib/util/twiliowarning.js +13 -0
- package/lib/webrtc/util/sdp.js +11 -1
- package/package.json +2 -1
- package/tsdef/LocalParticipant.d.ts +2 -0
- package/tsdef/LocalTrackPublication.d.ts +2 -0
- package/tsdef/Room.d.ts +4 -1
- package/tsdef/twilio-video-tests.ts +38 -0
- package/tsdef/types.d.ts +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,88 @@ The Twilio Programmable Video SDKs use [Semantic Versioning](http://www.semver.o
|
|
|
2
2
|
|
|
3
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
4
|
|
|
5
|
+
2.22.2 (July 25, 2022)
|
|
6
|
+
======================
|
|
7
|
+
|
|
8
|
+
Changes
|
|
9
|
+
-------
|
|
10
|
+
|
|
11
|
+
- `isSupported` flag now returns `false` if the browser does not support the Unified Plan SDP format. (VIDEO-10307)
|
|
12
|
+
|
|
13
|
+
The following is a list of browsers with Unified Plan as the default SDP format.
|
|
14
|
+
- Chrome 72+
|
|
15
|
+
- Safari 12.1+
|
|
16
|
+
- Firefox 38+
|
|
17
|
+
|
|
18
|
+
2.22.1 (July 11, 2022)
|
|
19
|
+
======================
|
|
20
|
+
|
|
21
|
+
Bug Fixes
|
|
22
|
+
---------
|
|
23
|
+
|
|
24
|
+
- The encoding of audio and screen share Tracks are prioritized in Chrome and Safari, thereby more gracefully degrading
|
|
25
|
+
their quality in limited network conditions. (VIDEO-10212)
|
|
26
|
+
|
|
27
|
+
2.22.0 (July 5, 2022)
|
|
28
|
+
====================
|
|
29
|
+
|
|
30
|
+
New Features
|
|
31
|
+
------------
|
|
32
|
+
|
|
33
|
+
This release include the **Media Warnings API (Beta)** to help surface media related warning events on the SDK whenever the media server is not able to detect media from a published audio or video track.
|
|
34
|
+
|
|
35
|
+
### Example
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
const room = await connect('token', {
|
|
39
|
+
notifyWarnings: [ 'recording-media-lost' ]
|
|
40
|
+
// Other connect options
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
Array.from(room.localParticipant.tracks.values()).forEach(publication => {
|
|
44
|
+
publication.on('warning', name => {
|
|
45
|
+
if (name === 'recording-media-lost') {
|
|
46
|
+
console.log(`LocalTrack ${publication.track.name} is not recording media.`);
|
|
47
|
+
|
|
48
|
+
// Wait a reasonable amount of time to clear the warning.
|
|
49
|
+
const timer = setTimeout(() => {
|
|
50
|
+
// If the warning is not cleared, you can manually
|
|
51
|
+
// reconnect to the room, or show a dialog to the user
|
|
52
|
+
}, 5000);
|
|
53
|
+
|
|
54
|
+
publication.once('warningsCleared', () => {
|
|
55
|
+
console.log(`LocalTrack ${publication.track.name} warnings have cleared!`);
|
|
56
|
+
clearTimeout(timer);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### API Definitions
|
|
64
|
+
|
|
65
|
+
#### ConnectOptions
|
|
66
|
+
|
|
67
|
+
- **notifyWarnings** - An array of warnings to listen to. By default, this array is empty and no warning events will be raised. Possible warning values include:
|
|
68
|
+
|
|
69
|
+
- `recording-media-lost` - Raised when the media server has not detected any media on the published track that is being recorded in the past 30 seconds. This usually happens when there are network interruptions or when the track has stopped.
|
|
70
|
+
|
|
71
|
+
#### Events
|
|
72
|
+
|
|
73
|
+
The SDK raises warning events when it detects certain conditions. You can implement callbacks on these events to act on them, or to alert the user of an issue. Subsequently, "warningsCleared" event is raised when conditions have returned to normal.
|
|
74
|
+
|
|
75
|
+
- **LocalTrackPublication.on('warning', callback(name))** - Raised when the published Track encounters a warning.
|
|
76
|
+
|
|
77
|
+
- **LocalTrackPublication.on('warningsCleared', callback())** - Raised when the published Track cleared all warning.
|
|
78
|
+
|
|
79
|
+
- **LocalParticipant.on('trackWarning', callback(name, publication))** - Raised when one of the LocalParticipant's published tracks encounters a warning.
|
|
80
|
+
|
|
81
|
+
- **LocalParticipant.on('trackWarningsCleared', callback(publication))** - Raised when one of the LocalParticipant's published tracks cleared all warning.
|
|
82
|
+
|
|
83
|
+
- **Room.on('trackWarning', callback(name, publication, participant))** - Raised when one of the LocalParticipant's published tracks in the Room encounters a warning.
|
|
84
|
+
|
|
85
|
+
- **Room.on('trackWarningsCleared', callback(publication, participant))** - Raised when one of the LocalParticipant's published tracks in the Room cleared all warning.
|
|
86
|
+
|
|
5
87
|
2.21.3 (June 7, 2022)
|
|
6
88
|
====================
|
|
7
89
|
|
|
@@ -16,7 +98,7 @@ Bug Fixes
|
|
|
16
98
|
Bug Fixes
|
|
17
99
|
---------
|
|
18
100
|
|
|
19
|
-
- Fixed an issue where
|
|
101
|
+
- Fixed an issue where publishing a video track sometimes caused a failure with "Unhandled exception: Client is unable to create or apply a local media description". (VIDEO-9511)
|
|
20
102
|
- Fixed an issue where the `dimensionsChanged` event was not firing when the track dimensions first became available. (VIDEO-3576)
|
|
21
103
|
- Removed references to node dependencies that causes build errors on Angular and Vue. (VIDEO-9282)
|
|
22
104
|
- Fixed an issue where incorrect device was detected when using iPad in Desktop Website mode. (VIDEO-8282)
|
package/COMMON_ISSUES.md
CHANGED
|
@@ -117,9 +117,34 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
|
|
|
117
117
|
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.
|
|
118
118
|
</p>
|
|
119
119
|
</details>
|
|
120
|
+
<details>
|
|
121
|
+
<summary>Video elements may not be visible when applying a 3d transform</summary>
|
|
122
|
+
<p>
|
|
123
|
+
|
|
124
|
+
In some cases, a video element may not be visible when using a 3d CSS transform (such as `rotateY(180deg)`) to mirror a local video track. It is recommended that a 2d transform be used instead.
|
|
125
|
+
|
|
126
|
+
Recommended 2d transform to mirror a video track:
|
|
127
|
+
```css
|
|
128
|
+
transform: scaleX(-1)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
This issue is also present in Safari mobile.
|
|
132
|
+
|
|
133
|
+
For more information, please see the discussion in [this issue](https://github.com/twilio/twilio-video.js/issues/1724).
|
|
134
|
+
</p>
|
|
135
|
+
</details>
|
|
120
136
|
|
|
121
137
|
### Safari mobile
|
|
122
138
|
<details>
|
|
139
|
+
<summary>iOS 15: Echo issues on iOS 15 devices after attaching video tracks</summary>
|
|
140
|
+
<p>
|
|
141
|
+
|
|
142
|
+
Attaching a VideoTrack to a video element causes echo issues if you have a LocalAudioTrack that is already attached to an audio element. This happens due to an iOS 15 [bug](https://bugs.webkit.org/show_bug.cgi?id=241492) where the audio element is unintentionally unmuted.
|
|
143
|
+
|
|
144
|
+
Apple has already fixed this issue on iOS 15.5. However, older versions will continue to experience the issue. As a workaround, you can skip attaching the LocalAudioTrack to an audio element to prevent a feedback loop that causes the echo issue. If you really need to attach the LocalAudioTrack for any reason, please feel free to reach out to us in this repo and we will help to find a workaround depending on your use case.
|
|
145
|
+
</p>
|
|
146
|
+
</details>
|
|
147
|
+
<details>
|
|
123
148
|
<summary>iOS 15: VideoTracks goes black and the page freezes on certain interruptions</summary>
|
|
124
149
|
<p>
|
|
125
150
|
|
|
@@ -363,3 +388,12 @@ These are unsupported and likely to break twilio-video.js. If you are having
|
|
|
363
388
|
trouble with twilio-video.js, ensure these are not running.
|
|
364
389
|
</p>
|
|
365
390
|
</details>
|
|
391
|
+
<details>
|
|
392
|
+
<summary>setSinkId method is not implemented in all browsers</summary>
|
|
393
|
+
<p>
|
|
394
|
+
|
|
395
|
+
The `audioElement.setSinkId()` method, which is used to change the audio output device for a given HTML audio element, is only implemented in Desktop Chrome and Desktop Edge. Therefore, it is not possible for users to change their audio output device in other browsers. Users will have to use their operating system settings to change their audio output device instead.
|
|
396
|
+
|
|
397
|
+
More information about this method (including browser compatibility) is available [here](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/setSinkId).
|
|
398
|
+
</p>
|
|
399
|
+
</details>
|
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ Releases of twilio-video.js are hosted on a CDN, and you can include these
|
|
|
74
74
|
directly in your web app using a <script> tag.
|
|
75
75
|
|
|
76
76
|
```html
|
|
77
|
-
<script src="//sdk.twilio.com/js/video/releases/2.
|
|
77
|
+
<script src="//sdk.twilio.com/js/video/releases/2.22.2/twilio-video.min.js"></script>
|
|
78
78
|
|
|
79
79
|
```
|
|
80
80
|
|