@stream-io/video-client 0.0.1-alpha.25 → 0.0.1-alpha.27

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.
Files changed (74) hide show
  1. package/README.md +7 -3
  2. package/coverage/lcov-report/index.html +25 -25
  3. package/coverage/lcov-report/src/Batcher.ts.html +1 -1
  4. package/coverage/lcov-report/src/CallDropScheduler.ts.html +1 -1
  5. package/coverage/lcov-report/src/StreamSfuClient.ts.html +1 -1
  6. package/coverage/lcov-report/src/StreamVideoClient.ts.html +9 -18
  7. package/coverage/lcov-report/src/config/defaultConfigs.ts.html +1 -1
  8. package/coverage/lcov-report/src/config/index.html +1 -1
  9. package/coverage/lcov-report/src/coordinator/StreamCoordinatorClient.ts.html +10 -16
  10. package/coverage/lcov-report/src/coordinator/connection/base64.ts.html +1 -1
  11. package/coverage/lcov-report/src/coordinator/connection/client.ts.html +32 -8
  12. package/coverage/lcov-report/src/coordinator/connection/connection.ts.html +12 -6
  13. package/coverage/lcov-report/src/coordinator/connection/connection_fallback.ts.html +12 -6
  14. package/coverage/lcov-report/src/coordinator/connection/errors.ts.html +1 -1
  15. package/coverage/lcov-report/src/coordinator/connection/index.html +24 -24
  16. package/coverage/lcov-report/src/coordinator/connection/insights.ts.html +1 -1
  17. package/coverage/lcov-report/src/coordinator/connection/signing.ts.html +1 -1
  18. package/coverage/lcov-report/src/coordinator/connection/token_manager.ts.html +1 -1
  19. package/coverage/lcov-report/src/coordinator/connection/types.ts.html +1 -1
  20. package/coverage/lcov-report/src/coordinator/connection/utils.ts.html +1 -1
  21. package/coverage/lcov-report/src/coordinator/index.html +11 -11
  22. package/coverage/lcov-report/src/events/call.ts.html +1 -1
  23. package/coverage/lcov-report/src/events/index.html +1 -1
  24. package/coverage/lcov-report/src/events/internal.ts.html +1 -1
  25. package/coverage/lcov-report/src/events/participant.ts.html +1 -1
  26. package/coverage/lcov-report/src/events/speaker.ts.html +1 -1
  27. package/coverage/lcov-report/src/gen/google/protobuf/index.html +1 -1
  28. package/coverage/lcov-report/src/gen/google/protobuf/struct.ts.html +1 -1
  29. package/coverage/lcov-report/src/gen/google/protobuf/timestamp.ts.html +1 -1
  30. package/coverage/lcov-report/src/gen/video/sfu/event/events.ts.html +1 -1
  31. package/coverage/lcov-report/src/gen/video/sfu/event/index.html +1 -1
  32. package/coverage/lcov-report/src/gen/video/sfu/models/index.html +1 -1
  33. package/coverage/lcov-report/src/gen/video/sfu/models/models.ts.html +1 -1
  34. package/coverage/lcov-report/src/index.html +11 -11
  35. package/coverage/lcov-report/src/rpc/index.html +1 -1
  36. package/coverage/lcov-report/src/rpc/index.ts.html +1 -1
  37. package/coverage/lcov-report/src/rpc/latency.ts.html +1 -1
  38. package/coverage/lcov-report/src/rtc/Call.ts.html +1 -1
  39. package/coverage/lcov-report/src/rtc/CallMetadata.ts.html +1 -1
  40. package/coverage/lcov-report/src/rtc/Dispatcher.ts.html +1 -1
  41. package/coverage/lcov-report/src/rtc/IceTrickleBuffer.ts.html +1 -1
  42. package/coverage/lcov-report/src/rtc/callEventHandlers.ts.html +1 -1
  43. package/coverage/lcov-report/src/rtc/codecs.ts.html +1 -1
  44. package/coverage/lcov-report/src/rtc/helpers/iceCandidate.ts.html +1 -1
  45. package/coverage/lcov-report/src/rtc/helpers/index.html +1 -1
  46. package/coverage/lcov-report/src/rtc/helpers/tracks.ts.html +1 -1
  47. package/coverage/lcov-report/src/rtc/index.html +1 -1
  48. package/coverage/lcov-report/src/rtc/publisher.ts.html +1 -1
  49. package/coverage/lcov-report/src/rtc/signal.ts.html +1 -1
  50. package/coverage/lcov-report/src/rtc/subscriber.ts.html +1 -1
  51. package/coverage/lcov-report/src/rtc/videoLayers.ts.html +1 -1
  52. package/coverage/lcov-report/src/stats/index.html +1 -1
  53. package/coverage/lcov-report/src/stats/state-store-stats-reporter.ts.html +1 -1
  54. package/coverage/lcov-report/src/store/index.html +1 -1
  55. package/coverage/lcov-report/src/store/index.ts.html +1 -1
  56. package/coverage/lcov-report/src/store/rxUtils.ts.html +1 -1
  57. package/coverage/lcov-report/src/store/stateStore.ts.html +1 -1
  58. package/coverage/lcov.info +454 -446
  59. package/coverage/tmp/{coverage-2169-1676897785619-2.json → coverage-2324-1676992614634-2.json} +1 -1
  60. package/dist/index.browser.es.js +10 -1
  61. package/dist/index.browser.es.js.map +1 -1
  62. package/dist/index.cjs.js +10 -1
  63. package/dist/index.cjs.js.map +1 -1
  64. package/dist/index.es.js +10 -1
  65. package/dist/index.es.js.map +1 -1
  66. package/dist/src/StreamVideoClient.d.ts +2 -2
  67. package/dist/src/coordinator/StreamCoordinatorClient.d.ts +2 -2
  68. package/dist/src/coordinator/connection/client.d.ts +3 -0
  69. package/package.json +2 -2
  70. package/src/StreamVideoClient.ts +2 -5
  71. package/src/coordinator/StreamCoordinatorClient.ts +3 -5
  72. package/src/coordinator/connection/client.ts +8 -0
  73. package/src/coordinator/connection/connection.ts +2 -0
  74. package/src/coordinator/connection/connection_fallback.ts +2 -0
package/README.md CHANGED
@@ -4,10 +4,14 @@
4
4
 
5
5
  This package holds the autogenerated Protobuf code and clients.
6
6
 
7
- ## Generate the client
7
+ ## Generate Coordinator Models from OpenAPI spec (Dev Mode):
8
8
 
9
- 1. Follow the instructions in [GetStream/video-proto](https://github.com/getstream/video-proto)
10
- 2. Copy the generated files into `./src/gen/` and commit them to this repository
9
+ We have a shell script which will generate the Coordinator models from the OpenAPI spec.
10
+ This script expects the following directory structure to be set up:
11
+
12
+ - `chat` - the `chat` repository
13
+ - `stream-video-js` - current repository
14
+ - `cd stream-video-js/packages/client && yarn generate:open-api`
11
15
 
12
16
  ## Documentation
13
17
 
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">37.45% </span>
26
+ <span class="strong">37.52% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3717/9925</span>
28
+ <span class='fraction'>3727/9932</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">79.25% </span>
33
+ <span class="strong">79.41% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>107/135</span>
35
+ <span class='fraction'>108/136</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">37.45% </span>
47
+ <span class="strong">37.52% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3717/9925</span>
49
+ <span class='fraction'>3727/9932</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file low" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="33.22" class="pic low">
83
+ <td data-value="33.44" class="pic low">
84
84
  <div class="chart"><div class="cover-fill" style="width: 33%"></div><div class="cover-empty" style="width: 67%"></div></div>
85
85
  </td>
86
- <td data-value="33.22" class="pct low">33.22%</td>
87
- <td data-value="936" class="abs low">311/936</td>
86
+ <td data-value="33.44" class="pct low">33.44%</td>
87
+ <td data-value="933" class="abs low">312/933</td>
88
88
  <td data-value="80" class="pct high">80%</td>
89
89
  <td data-value="10" class="abs high">8/10</td>
90
90
  <td data-value="22.85" class="pct low">22.85%</td>
91
91
  <td data-value="35" class="abs low">8/35</td>
92
- <td data-value="33.22" class="pct low">33.22%</td>
93
- <td data-value="936" class="abs low">311/936</td>
92
+ <td data-value="33.44" class="pct low">33.44%</td>
93
+ <td data-value="933" class="abs low">312/933</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -110,32 +110,32 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="src/coordinator"><a href="src/coordinator/index.html">src/coordinator</a></td>
113
- <td data-value="53.57" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 53%"></div><div class="cover-empty" style="width: 47%"></div></div>
113
+ <td data-value="55.45" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 55%"></div><div class="cover-empty" style="width: 45%"></div></div>
115
115
  </td>
116
- <td data-value="53.57" class="pct medium">53.57%</td>
117
- <td data-value="112" class="abs medium">60/112</td>
116
+ <td data-value="55.45" class="pct medium">55.45%</td>
117
+ <td data-value="110" class="abs medium">61/110</td>
118
118
  <td data-value="100" class="pct high">100%</td>
119
119
  <td data-value="3" class="abs high">3/3</td>
120
120
  <td data-value="18.75" class="pct low">18.75%</td>
121
121
  <td data-value="16" class="abs low">3/16</td>
122
- <td data-value="53.57" class="pct medium">53.57%</td>
123
- <td data-value="112" class="abs medium">60/112</td>
122
+ <td data-value="55.45" class="pct medium">55.45%</td>
123
+ <td data-value="110" class="abs medium">61/110</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
127
127
  <td class="file low" data-value="src/coordinator/connection"><a href="src/coordinator/connection/index.html">src/coordinator/connection</a></td>
128
- <td data-value="28.81" class="pic low">
128
+ <td data-value="28.98" class="pic low">
129
129
  <div class="chart"><div class="cover-fill" style="width: 28%"></div><div class="cover-empty" style="width: 72%"></div></div>
130
130
  </td>
131
- <td data-value="28.81" class="pct low">28.81%</td>
132
- <td data-value="2565" class="abs low">739/2565</td>
133
- <td data-value="54.76" class="pct medium">54.76%</td>
134
- <td data-value="42" class="abs medium">23/42</td>
131
+ <td data-value="28.98" class="pct low">28.98%</td>
132
+ <td data-value="2577" class="abs low">747/2577</td>
133
+ <td data-value="55.81" class="pct medium">55.81%</td>
134
+ <td data-value="43" class="abs medium">24/43</td>
135
135
  <td data-value="15.57" class="pct low">15.57%</td>
136
136
  <td data-value="122" class="abs low">19/122</td>
137
- <td data-value="28.81" class="pct low">28.81%</td>
138
- <td data-value="2565" class="abs low">739/2565</td>
137
+ <td data-value="28.98" class="pct low">28.98%</td>
138
+ <td data-value="2577" class="abs low">747/2577</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -281,7 +281,7 @@
281
281
  <div class='footer quiet pad2 space-top1 center small'>
282
282
  Code coverage generated by
283
283
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
284
- at 2023-02-20T12:56:25.427Z
284
+ at 2023-02-21T15:16:54.435Z
285
285
  </div>
286
286
  <script src="prettify.js"></script>
287
287
  <script>
@@ -199,7 +199,7 @@
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at 2023-02-20T12:56:25.427Z
202
+ at 2023-02-21T15:16:54.435Z
203
203
  </div>
204
204
  <script src="../prettify.js"></script>
205
205
  <script>
@@ -664,7 +664,7 @@ export <span class="fstat-no" title="function not covered" ><span class="branch-
664
664
  <div class='footer quiet pad2 space-top1 center small'>
665
665
  Code coverage generated by
666
666
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
667
- at 2023-02-20T12:56:25.427Z
667
+ at 2023-02-21T15:16:54.435Z
668
668
  </div>
669
669
  <script src="../prettify.js"></script>
670
670
  <script>
@@ -625,7 +625,7 @@ export <span class="fstat-no" title="function not covered" ><span class="branch-
625
625
  <div class='footer quiet pad2 space-top1 center small'>
626
626
  Code coverage generated by
627
627
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
628
- at 2023-02-20T12:56:25.427Z
628
+ at 2023-02-21T15:16:54.435Z
629
629
  </div>
630
630
  <script src="../prettify.js"></script>
631
631
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">50.98% </span>
26
+ <span class="strong">51.47% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>260/510</span>
28
+ <span class='fraction'>261/507</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">50.98% </span>
47
+ <span class="strong">51.47% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>260/510</span>
49
+ <span class='fraction'>261/507</span>
50
50
  </div>
51
51
 
52
52
 
@@ -570,10 +570,8 @@
570
570
  <a name='L505'></a><a href='#L505'>505</a>
571
571
  <a name='L506'></a><a href='#L506'>506</a>
572
572
  <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
573
+ <a name='L508'></a><a href='#L508'>508</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
574
+ <span class="cline-any cline-yes">1x</span>
577
575
  <span class="cline-any cline-yes">1x</span>
578
576
  <span class="cline-any cline-yes">1x</span>
579
577
  <span class="cline-any cline-yes">1x</span>
@@ -948,10 +946,6 @@
948
946
  <span class="cline-any cline-no">&nbsp;</span>
949
947
  <span class="cline-any cline-no">&nbsp;</span>
950
948
  <span class="cline-any cline-no">&nbsp;</span>
951
- <span class="cline-any cline-no">&nbsp;</span>
952
- <span class="cline-any cline-no">&nbsp;</span>
953
- <span class="cline-any cline-no">&nbsp;</span>
954
- <span class="cline-any cline-no">&nbsp;</span>
955
949
  <span class="cline-any cline-yes">2x</span>
956
950
  <span class="cline-any cline-yes">2x</span>
957
951
  <span class="cline-any cline-yes">2x</span>
@@ -1094,6 +1088,7 @@ import type {
1094
1088
  GetOrCreateCallRequest,
1095
1089
  ICEServer,
1096
1090
  JoinCallResponse,
1091
+ JoinCallRequest,
1097
1092
  } from './gen/coordinator';
1098
1093
  &nbsp;
1099
1094
  import type { ReportCallStatEventRequest } from './gen/video/coordinator/client_v1_rpc/client_rpc';
@@ -1410,11 +1405,7 @@ export class StreamVideoClient {
1410
1405
  * @param data the data for the call.
1411
1406
  * @returns A [`Call`](./Call.md) instance that can be used to interact with the call.
1412
1407
  */
1413
- joinCall = <span class="fstat-no" title="function not covered" >async (</span>
1414
- <span class="cstat-no" title="statement not covered" > id: string,</span>
1415
- <span class="cstat-no" title="statement not covered" > type: string,</span>
1416
- <span class="cstat-no" title="statement not covered" > data?: GetOrCreateCallRequest,</span>
1417
- <span class="cstat-no" title="statement not covered" > ) =&gt; {</span>
1408
+ joinCall = <span class="fstat-no" title="function not covered" >async (id: string, type: string, data?: JoinCallRequest) =&gt; {</span>
1418
1409
  <span class="cstat-no" title="statement not covered" > const joinCallResponse = await this.coordinatorClient.joinCall(</span>
1419
1410
  <span class="cstat-no" title="statement not covered" > id,</span>
1420
1411
  <span class="cstat-no" title="statement not covered" > type,</span>
@@ -1600,7 +1591,7 @@ export class StreamVideoClient {
1600
1591
  <div class='footer quiet pad2 space-top1 center small'>
1601
1592
  Code coverage generated by
1602
1593
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1603
- at 2023-02-20T12:56:25.427Z
1594
+ at 2023-02-21T15:16:54.435Z
1604
1595
  </div>
1605
1596
  <script src="../prettify.js"></script>
1606
1597
  <script>
@@ -115,7 +115,7 @@ export const CALL_CONFIG: Record&lt;CallType, CallConfig&gt; = {
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at 2023-02-20T12:56:25.427Z
118
+ at 2023-02-21T15:16:54.435Z
119
119
  </div>
120
120
  <script src="../../prettify.js"></script>
121
121
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2023-02-20T12:56:25.427Z
104
+ at 2023-02-21T15:16:54.435Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">53.57% </span>
26
+ <span class="strong">55.45% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>60/112</span>
28
+ <span class='fraction'>61/110</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">53.57% </span>
47
+ <span class="strong">55.45% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>60/112</span>
49
+ <span class='fraction'>61/110</span>
50
50
  </div>
51
51
 
52
52
 
@@ -173,9 +173,8 @@
173
173
  <a name='L108'></a><a href='#L108'>108</a>
174
174
  <a name='L109'></a><a href='#L109'>109</a>
175
175
  <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
176
+ <a name='L111'></a><a href='#L111'>111</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
177
+ <span class="cline-any cline-yes">1x</span>
179
178
  <span class="cline-any cline-yes">1x</span>
180
179
  <span class="cline-any cline-yes">1x</span>
181
180
  <span class="cline-any cline-yes">1x</span>
@@ -248,9 +247,6 @@
248
247
  <span class="cline-any cline-no">&nbsp;</span>
249
248
  <span class="cline-any cline-no">&nbsp;</span>
250
249
  <span class="cline-any cline-no">&nbsp;</span>
251
- <span class="cline-any cline-no">&nbsp;</span>
252
- <span class="cline-any cline-no">&nbsp;</span>
253
- <span class="cline-any cline-no">&nbsp;</span>
254
250
  <span class="cline-any cline-yes">2x</span>
255
251
  <span class="cline-any cline-yes">2x</span>
256
252
  <span class="cline-any cline-no">&nbsp;</span>
@@ -300,6 +296,7 @@ import {
300
296
  GetCallEdgeServerResponse,
301
297
  GetOrCreateCallRequest,
302
298
  GetOrCreateCallResponse,
299
+ JoinCallRequest,
303
300
  JoinCallResponse,
304
301
  SendEventRequest,
305
302
  } from '../gen/coordinator';
@@ -356,11 +353,8 @@ export class StreamCoordinatorClient {
356
353
  <span class="cstat-no" title="statement not covered" > );</span>
357
354
  <span class="cstat-no" title="statement not covered" > };</span>
358
355
  &nbsp;
359
- joinCall = <span class="fstat-no" title="function not covered" >async (</span>
360
- <span class="cstat-no" title="statement not covered" > id: string,</span>
361
- <span class="cstat-no" title="statement not covered" > type: string,</span>
362
- <span class="cstat-no" title="statement not covered" > data?: GetOrCreateCallRequest,</span>
363
- <span class="cstat-no" title="statement not covered" > ) =&gt; {</span>
356
+ joinCall = <span class="fstat-no" title="function not covered" >async (id: string, type: string, data?: JoinCallRequest) =&gt; {</span>
357
+ <span class="cstat-no" title="statement not covered" > await this.client.connectionIdPromise;</span>
364
358
  <span class="cstat-no" title="statement not covered" > return this.client.post&lt;JoinCallResponse&gt;(`/join_call/${type}/${id}`, data);</span>
365
359
  <span class="cstat-no" title="statement not covered" > };</span>
366
360
  &nbsp;
@@ -406,7 +400,7 @@ export class StreamCoordinatorClient {
406
400
  <div class='footer quiet pad2 space-top1 center small'>
407
401
  Code coverage generated by
408
402
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
409
- at 2023-02-20T12:56:25.427Z
403
+ at 2023-02-21T15:16:54.435Z
410
404
  </div>
411
405
  <script src="../../prettify.js"></script>
412
406
  <script>
@@ -310,7 +310,7 @@ export const decodeBase64 = (<span class="fstat-no" title="function not covered"
310
310
  <div class='footer quiet pad2 space-top1 center small'>
311
311
  Code coverage generated by
312
312
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
313
- at 2023-02-20T12:56:25.427Z
313
+ at 2023-02-21T15:16:54.435Z
314
314
  </div>
315
315
  <script src="../../../prettify.js"></script>
316
316
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">36.11% </span>
26
+ <span class="strong">36.73% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>294/814</span>
28
+ <span class='fraction'>302/822</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">33.33% </span>
33
+ <span class="strong">37.5% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/15</span>
35
+ <span class='fraction'>6/16</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">36.11% </span>
47
+ <span class="strong">36.73% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>294/814</span>
49
+ <span class='fraction'>302/822</span>
50
50
  </div>
51
51
 
52
52
 
@@ -877,7 +877,15 @@
877
877
  <a name='L812'></a><a href='#L812'>812</a>
878
878
  <a name='L813'></a><a href='#L813'>813</a>
879
879
  <a name='L814'></a><a href='#L814'>814</a>
880
- <a name='L815'></a><a href='#L815'>815</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
880
+ <a name='L815'></a><a href='#L815'>815</a>
881
+ <a name='L816'></a><a href='#L816'>816</a>
882
+ <a name='L817'></a><a href='#L817'>817</a>
883
+ <a name='L818'></a><a href='#L818'>818</a>
884
+ <a name='L819'></a><a href='#L819'>819</a>
885
+ <a name='L820'></a><a href='#L820'>820</a>
886
+ <a name='L821'></a><a href='#L821'>821</a>
887
+ <a name='L822'></a><a href='#L822'>822</a>
888
+ <a name='L823'></a><a href='#L823'>823</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
881
889
  <span class="cline-any cline-yes">1x</span>
882
890
  <span class="cline-any cline-yes">1x</span>
883
891
  <span class="cline-any cline-yes">1x</span>
@@ -979,6 +987,9 @@
979
987
  <span class="cline-any cline-yes">2x</span>
980
988
  <span class="cline-any cline-yes">2x</span>
981
989
  <span class="cline-any cline-yes">2x</span>
990
+ <span class="cline-any cline-yes">2x</span>
991
+ <span class="cline-any cline-yes">2x</span>
992
+ <span class="cline-any cline-yes">2x</span>
982
993
  <span class="cline-any cline-no">&nbsp;</span>
983
994
  <span class="cline-any cline-no">&nbsp;</span>
984
995
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1013,6 +1024,11 @@
1013
1024
  <span class="cline-any cline-yes">2x</span>
1014
1025
  <span class="cline-any cline-yes">2x</span>
1015
1026
  <span class="cline-any cline-yes">2x</span>
1027
+ <span class="cline-any cline-yes">2x</span>
1028
+ <span class="cline-any cline-yes">2x</span>
1029
+ <span class="cline-any cline-yes">2x</span>
1030
+ <span class="cline-any cline-yes">2x</span>
1031
+ <span class="cline-any cline-yes">2x</span>
1016
1032
  <span class="cline-any cline-no">&nbsp;</span>
1017
1033
  <span class="cline-any cline-no">&nbsp;</span>
1018
1034
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1760,6 +1776,9 @@ export class StreamClient {
1760
1776
  insightMetrics: InsightMetrics;
1761
1777
  defaultWSTimeoutWithFallback: number;
1762
1778
  defaultWSTimeout: number;
1779
+ resolveConnectionId!: Function;
1780
+ rejectConnectionId!: Function;
1781
+ connectionIdPromise: Promise&lt;void&gt;;
1763
1782
  private nextRequestAbortController: AbortController | null = null;
1764
1783
  &nbsp;
1765
1784
  /**
@@ -1822,6 +1841,11 @@ export class StreamClient {
1822
1841
  <span class="cstat-no" title="statement not covered" > });</span>
1823
1842
  <span class="cstat-no" title="statement not covered" > }</span>
1824
1843
  <span class="cstat-no" title="statement not covered" ></span>
1844
+ this.connectionIdPromise = new Promise((resolve, reject) =&gt; {
1845
+ this.resolveConnectionId = resolve;
1846
+ this.rejectConnectionId = reject;
1847
+ });
1848
+ &nbsp;
1825
1849
  this.axiosInstance = axios.create(this.options);
1826
1850
  &nbsp;
1827
1851
  this.setBaseURL(this.options.<span class="branch-0 cbranch-no" title="branch not covered" >baseURL || 'https://chat.stream-io-api.com');</span>
@@ -2512,7 +2536,7 @@ export class StreamClient {
2512
2536
  <div class='footer quiet pad2 space-top1 center small'>
2513
2537
  Code coverage generated by
2514
2538
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2515
- at 2023-02-20T12:56:25.427Z
2539
+ at 2023-02-21T15:16:54.435Z
2516
2540
  </div>
2517
2541
  <script src="../../../prettify.js"></script>
2518
2542
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">5.73% </span>
26
+ <span class="strong">5.71% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>43/750</span>
28
+ <span class='fraction'>43/752</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">5.73% </span>
47
+ <span class="strong">5.71% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>43/750</span>
49
+ <span class='fraction'>43/752</span>
50
50
  </div>
51
51
 
52
52
 
@@ -813,7 +813,9 @@
813
813
  <a name='L748'></a><a href='#L748'>748</a>
814
814
  <a name='L749'></a><a href='#L749'>749</a>
815
815
  <a name='L750'></a><a href='#L750'>750</a>
816
- <a name='L751'></a><a href='#L751'>751</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
816
+ <a name='L751'></a><a href='#L751'>751</a>
817
+ <a name='L752'></a><a href='#L752'>752</a>
818
+ <a name='L753'></a><a href='#L753'>753</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
817
819
  <span class="cline-any cline-yes">1x</span>
818
820
  <span class="cline-any cline-yes">1x</span>
819
821
  <span class="cline-any cline-yes">1x</span>
@@ -1563,6 +1565,8 @@
1563
1565
  <span class="cline-any cline-no">&nbsp;</span>
1564
1566
  <span class="cline-any cline-no">&nbsp;</span>
1565
1567
  <span class="cline-any cline-no">&nbsp;</span>
1568
+ <span class="cline-any cline-no">&nbsp;</span>
1569
+ <span class="cline-any cline-no">&nbsp;</span>
1566
1570
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import WebSocket from 'isomorphic-ws';
1567
1571
  import { StreamClient } from './client';
1568
1572
  import {
@@ -1913,6 +1917,7 @@ export <span class="fstat-no" title="function not covered" ><span class="branch-
1913
1917
  <span class="cstat-no" title="statement not covered" ></span>
1914
1918
  <span class="cstat-no" title="statement not covered" > if (response) {</span>
1915
1919
  <span class="cstat-no" title="statement not covered" > this.connectionID = response.connection_id;</span>
1920
+ <span class="cstat-no" title="statement not covered" > this.client.resolveConnectionId();</span>
1916
1921
  <span class="cstat-no" title="statement not covered" > if (</span>
1917
1922
  <span class="cstat-no" title="statement not covered" > this.client.insightMetrics.wsConsecutiveFailures &gt; 0 &amp;&amp;</span>
1918
1923
  <span class="cstat-no" title="statement not covered" > this.client.options.enableInsights</span>
@@ -1941,6 +1946,7 @@ export <span class="fstat-no" title="function not covered" ><span class="branch-
1941
1946
  <span class="cstat-no" title="statement not covered" > );</span>
1942
1947
  <span class="cstat-no" title="statement not covered" > postInsights?.('ws_fatal', insights);</span>
1943
1948
  <span class="cstat-no" title="statement not covered" > }</span>
1949
+ <span class="cstat-no" title="statement not covered" > this.client.rejectConnectionId();</span>
1944
1950
  <span class="cstat-no" title="statement not covered" > throw err;</span>
1945
1951
  <span class="cstat-no" title="statement not covered" > }</span>
1946
1952
  <span class="cstat-no" title="statement not covered" > }</span>
@@ -2320,7 +2326,7 @@ export <span class="fstat-no" title="function not covered" ><span class="branch-
2320
2326
  <div class='footer quiet pad2 space-top1 center small'>
2321
2327
  Code coverage generated by
2322
2328
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2323
- at 2023-02-20T12:56:25.427Z
2329
+ at 2023-02-21T15:16:54.435Z
2324
2330
  </div>
2325
2331
  <script src="../../../prettify.js"></script>
2326
2332
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">8.36% </span>
26
+ <span class="strong">8.29% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/239</span>
28
+ <span class='fraction'>20/241</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">8.36% </span>
47
+ <span class="strong">8.29% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/239</span>
49
+ <span class='fraction'>20/241</span>
50
50
  </div>
51
51
 
52
52
 
@@ -302,7 +302,9 @@
302
302
  <a name='L237'></a><a href='#L237'>237</a>
303
303
  <a name='L238'></a><a href='#L238'>238</a>
304
304
  <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
306
308
  <span class="cline-any cline-yes">1x</span>
307
309
  <span class="cline-any cline-yes">1x</span>
308
310
  <span class="cline-any cline-yes">1x</span>
@@ -541,6 +543,8 @@
541
543
  <span class="cline-any cline-no">&nbsp;</span>
542
544
  <span class="cline-any cline-no">&nbsp;</span>
543
545
  <span class="cline-any cline-no">&nbsp;</span>
546
+ <span class="cline-any cline-no">&nbsp;</span>
547
+ <span class="cline-any cline-no">&nbsp;</span>
544
548
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import axios, { AxiosRequestConfig, CancelTokenSource } from 'axios';
545
549
  import { StreamClient } from './client';
546
550
  import {
@@ -739,12 +743,14 @@ export <span class="fstat-no" title="function not covered" ><span class="branch-
739
743
  <span class="cstat-no" title="statement not covered" ></span>
740
744
  <span class="cstat-no" title="statement not covered" > this._setState(ConnectionState.Connected);</span>
741
745
  <span class="cstat-no" title="statement not covered" > this.connectionID = event.connection_id;</span>
746
+ <span class="cstat-no" title="statement not covered" > this.client.resolveConnectionId();</span>
742
747
  <span class="cstat-no" title="statement not covered" > // @ts-expect-error</span>
743
748
  <span class="cstat-no" title="statement not covered" > this.client.dispatchEvent(event);</span>
744
749
  <span class="cstat-no" title="statement not covered" > this._poll();</span>
745
750
  <span class="cstat-no" title="statement not covered" > return event;</span>
746
751
  <span class="cstat-no" title="statement not covered" > } catch (err) {</span>
747
752
  <span class="cstat-no" title="statement not covered" > this._setState(ConnectionState.Closed);</span>
753
+ <span class="cstat-no" title="statement not covered" > this.client.rejectConnectionId();</span>
748
754
  <span class="cstat-no" title="statement not covered" > throw err;</span>
749
755
  <span class="cstat-no" title="statement not covered" > }</span>
750
756
  <span class="cstat-no" title="statement not covered" > };</span>
@@ -787,7 +793,7 @@ export <span class="fstat-no" title="function not covered" ><span class="branch-
787
793
  <div class='footer quiet pad2 space-top1 center small'>
788
794
  Code coverage generated by
789
795
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
790
- at 2023-02-20T12:56:25.427Z
796
+ at 2023-02-21T15:16:54.435Z
791
797
  </div>
792
798
  <script src="../../../prettify.js"></script>
793
799
  <script>
@@ -280,7 +280,7 @@ export <span class="fstat-no" title="function not covered" >function isErrorResp
280
280
  <div class='footer quiet pad2 space-top1 center small'>
281
281
  Code coverage generated by
282
282
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
283
- at 2023-02-20T12:56:25.427Z
283
+ at 2023-02-21T15:16:54.435Z
284
284
  </div>
285
285
  <script src="../../../prettify.js"></script>
286
286
  <script>