twilio-video 2.17.1 → 2.18.0

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 CHANGED
@@ -2,6 +2,21 @@ 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.18.0 (October 13, 2021)
6
+ =========================
7
+
8
+ New Features
9
+ ------------
10
+
11
+ - 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),
12
+ it will fail with a [RoomTrackKindNotSupportedError](https://sdk.twilio.com/js/video/releases/2.18.0/docs/RoomTrackKindNotSupportedError.html). (VIDEO-7242)
13
+
14
+ Known Issue
15
+ ------------
16
+
17
+ In Firefox, although the publishing of a LocalVideoTrack in an Audio Only Group Room fails,
18
+ the **RoomTrackKindNotSupportedError** is not raised. We are actively working on fixing this issue.
19
+
5
20
  2.17.1 (September 21, 2021)
6
21
  ===========================
7
22
  Bug Fixes
@@ -47,7 +62,6 @@ preflightTest.on('progress', (progress: string) => {
47
62
 
48
63
  preflightTest.on('failed', (error: Error) => {
49
64
  console.error('preflight error:', error);
50
- deferred.reject && deferred.reject(error);
51
65
  });
52
66
 
53
67
  preflightTest.on('completed', (report: PreflightTestReport) => {
package/COMMON_ISSUES.md CHANGED
@@ -53,6 +53,16 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
53
53
  </details>
54
54
 
55
55
  ### Safari desktop
56
+ <details>
57
+ <summary>Failures to publish tracks on Safari 15</summary>
58
+ <p>
59
+
60
+ 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.
61
+
62
+ 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)
63
+ </p>
64
+ </details>
65
+
56
66
  <details>
57
67
  <summary>Echo issues in Safari when using external microphone</summary>
58
68
  <p>
@@ -89,6 +99,18 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
89
99
 
90
100
  ### Safari mobile
91
101
  <details>
102
+ <summary>iOS 15: Low audio volume in Safari</summary>
103
+ <p>
104
+ 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).
105
+ </p>
106
+ </details>
107
+ <details>
108
+ <summary>iOS 15: Audio is lost in a video call after an interruption with a phone call</summary>
109
+ <p>
110
+ 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).
111
+ </p>
112
+ </details>
113
+ <details>
92
114
  <summary>Mobile Safari Participants on iOS 13.1-13.3 sometimes fail to send audio</summary>
93
115
  <p>
94
116
 
@@ -103,6 +125,7 @@ before opening a new issue. We recommend regularly upgrading to the latest versi
103
125
  </p>
104
126
  </details>
105
127
 
128
+
106
129
  ### Firefox desktop
107
130
  <details>
108
131
  <summary>Firefox Participants sometimes fail to subscribe to DataTracks on Peer-to-Peer Rooms</summary>
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 &lt;script&gt; tag.
75
75
 
76
76
  ```html
77
- <script src="//sdk.twilio.com/js/video/releases/2.17.1/twilio-video.min.js"></script>
77
+ <script src="//sdk.twilio.com/js/video/releases/2.18.0/twilio-video.min.js"></script>
78
78
 
79
79
  ```
80
80
 
@@ -1,4 +1,4 @@
1
- /*! twilio-video.js 2.17.1
1
+ /*! twilio-video.js 2.18.0
2
2
 
3
3
  The following license applies to all parts of this software except as
4
4
  documented below.
@@ -23107,9 +23107,6 @@ exports.createTwilioError = function createTwilioError(code, message) {
23107
23107
  message = typeof message === 'string' && message ? message : 'Unknown error';
23108
23108
  return TwilioErrorByCode[code] ? new TwilioErrorByCode[code]() : new TwilioError(code, message);
23109
23109
  };
23110
- // Note(mpatwardhan): We derive twilio specific errors here. After typescript compiles to es5 `instanceof` does not work
23111
- // on objects that derive from Error/Array types. To workaround we call setPrototypeOf after calling super()
23112
- // more on this at: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work
23113
23110
  /**
23114
23111
  * @class AccessTokenInvalidError
23115
23112
  * @classdesc Raised whenever the AccessToken used for connecting to a Room is invalid.
@@ -23499,7 +23496,7 @@ var RoomTypeInvalidError = /** @class */ (function (_super) {
23499
23496
  __extends(RoomTypeInvalidError, _super);
23500
23497
  function RoomTypeInvalidError() {
23501
23498
  var _this = _super.call(this, 53108, 'RoomType is not valid') || this;
23502
- Object.setPrototypeOf(_this, RoomMaxParticipantsOutOfRangeError.prototype);
23499
+ Object.setPrototypeOf(_this, RoomTypeInvalidError.prototype);
23503
23500
  return _this;
23504
23501
  }
23505
23502
  return RoomTypeInvalidError;
@@ -23686,6 +23683,42 @@ var RoomCompletedError = /** @class */ (function (_super) {
23686
23683
  }(TwilioError));
23687
23684
  exports.RoomCompletedError = RoomCompletedError;
23688
23685
  Object.defineProperty(TwilioErrorByCode, 53118, { value: RoomCompletedError });
23686
+ /**
23687
+ * @class RoomAudioOnlyFlagNotSupportedError
23688
+ * @classdesc Raised whenever a participant tries to set the AudioOnly flag for a Room type other than Group Rooms.
23689
+ * @extends TwilioError
23690
+ * @property {number} code - 53124
23691
+ * @property {string} message - 'The AudioOnly flag is not supported for the Room type'
23692
+ */
23693
+ var RoomAudioOnlyFlagNotSupportedError = /** @class */ (function (_super) {
23694
+ __extends(RoomAudioOnlyFlagNotSupportedError, _super);
23695
+ function RoomAudioOnlyFlagNotSupportedError() {
23696
+ var _this = _super.call(this, 53124, 'The AudioOnly flag is not supported for the Room type') || this;
23697
+ Object.setPrototypeOf(_this, RoomAudioOnlyFlagNotSupportedError.prototype);
23698
+ return _this;
23699
+ }
23700
+ return RoomAudioOnlyFlagNotSupportedError;
23701
+ }(TwilioError));
23702
+ exports.RoomAudioOnlyFlagNotSupportedError = RoomAudioOnlyFlagNotSupportedError;
23703
+ Object.defineProperty(TwilioErrorByCode, 53124, { value: RoomAudioOnlyFlagNotSupportedError });
23704
+ /**
23705
+ * @class RoomTrackKindNotSupportedError
23706
+ * @classdesc Raised whenever a participant tries to publish a track or connects with a track that is not supported by the group room.
23707
+ * @extends TwilioError
23708
+ * @property {number} code - 53125
23709
+ * @property {string} message - 'The track kind is not supported by the Room'
23710
+ */
23711
+ var RoomTrackKindNotSupportedError = /** @class */ (function (_super) {
23712
+ __extends(RoomTrackKindNotSupportedError, _super);
23713
+ function RoomTrackKindNotSupportedError() {
23714
+ var _this = _super.call(this, 53125, 'The track kind is not supported by the Room') || this;
23715
+ Object.setPrototypeOf(_this, RoomTrackKindNotSupportedError.prototype);
23716
+ return _this;
23717
+ }
23718
+ return RoomTrackKindNotSupportedError;
23719
+ }(TwilioError));
23720
+ exports.RoomTrackKindNotSupportedError = RoomTrackKindNotSupportedError;
23721
+ Object.defineProperty(TwilioErrorByCode, 53125, { value: RoomTrackKindNotSupportedError });
23689
23722
  /**
23690
23723
  * @class ParticipantIdentityInvalidError
23691
23724
  * @classdesc Raised whenever a Participant identity is invalid, and the scenario is not covered by a more specific error code.
@@ -23742,7 +23775,7 @@ exports.ParticipantIdentityCharsInvalidError = ParticipantIdentityCharsInvalidEr
23742
23775
  Object.defineProperty(TwilioErrorByCode, 53202, { value: ParticipantIdentityCharsInvalidError });
23743
23776
  /**
23744
23777
  * @class ParticipantMaxTracksExceededError
23745
- * @classdesc Raised when the Room limit for published tracks has been reached and a Participant tries to publish a track to the Room.
23778
+ * @classdesc Raised whenever a Participant tries to publish a Track and the maximum number of published tracks allowed in the Room at the same time has been reached
23746
23779
  * @extends TwilioError
23747
23780
  * @property {number} code - 53203
23748
23781
  * @property {string} message - 'The maximum number of published tracks allowed in the Room at the same time has been reached'
@@ -28579,7 +28612,7 @@ if ($defineProperty) {
28579
28612
 
28580
28613
  var GetIntrinsic = require('get-intrinsic');
28581
28614
 
28582
- var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%');
28615
+ var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
28583
28616
  if ($gOPD) {
28584
28617
  try {
28585
28618
  $gOPD([], 'length');
@@ -31191,7 +31224,7 @@ module.exports={
31191
31224
  "name": "twilio-video",
31192
31225
  "title": "Twilio Video",
31193
31226
  "description": "Twilio Video JavaScript Library",
31194
- "version": "2.17.1",
31227
+ "version": "2.18.0",
31195
31228
  "homepage": "https://twilio.com",
31196
31229
  "author": "Mark Andrus Roberts <mroberts@twilio.com>",
31197
31230
  "contributors": [
@@ -31274,7 +31307,7 @@ module.exports={
31274
31307
  "vinyl-fs": "^2.4.4",
31275
31308
  "vinyl-source-stream": "^1.1.0",
31276
31309
  "watchify": "^3.11.1",
31277
- "webrtc-adapter": "^4.1.1"
31310
+ "webrtc-adapter": "^7.7.1"
31278
31311
  },
31279
31312
  "engines": {
31280
31313
  "node": ">=0.12"