@webex/plugin-meetings 3.12.0-next.9 → 3.12.0-task-refactor.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.
Files changed (201) hide show
  1. package/dist/annotation/index.js +5 -14
  2. package/dist/annotation/index.js.map +1 -1
  3. package/dist/breakouts/breakout.js +1 -1
  4. package/dist/breakouts/index.js +1 -1
  5. package/dist/config.js +2 -8
  6. package/dist/config.js.map +1 -1
  7. package/dist/constants.js +6 -29
  8. package/dist/constants.js.map +1 -1
  9. package/dist/hashTree/hashTreeParser.js +29 -1563
  10. package/dist/hashTree/hashTreeParser.js.map +1 -1
  11. package/dist/hashTree/types.js +3 -13
  12. package/dist/hashTree/types.js.map +1 -1
  13. package/dist/index.js +2 -11
  14. package/dist/index.js.map +1 -1
  15. package/dist/interceptors/index.js +0 -7
  16. package/dist/interceptors/index.js.map +1 -1
  17. package/dist/interceptors/locusRouteToken.js +5 -27
  18. package/dist/interceptors/locusRouteToken.js.map +1 -1
  19. package/dist/interpretation/index.js +2 -2
  20. package/dist/interpretation/index.js.map +1 -1
  21. package/dist/interpretation/siLanguage.js +1 -1
  22. package/dist/locus-info/controlsUtils.js +3 -7
  23. package/dist/locus-info/controlsUtils.js.map +1 -1
  24. package/dist/locus-info/index.js +247 -642
  25. package/dist/locus-info/index.js.map +1 -1
  26. package/dist/locus-info/selfUtils.js +0 -1
  27. package/dist/locus-info/selfUtils.js.map +1 -1
  28. package/dist/locus-info/types.js.map +1 -1
  29. package/dist/media/MediaConnectionAwaiter.js +1 -57
  30. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  31. package/dist/media/properties.js +2 -4
  32. package/dist/media/properties.js.map +1 -1
  33. package/dist/meeting/in-meeting-actions.js +1 -7
  34. package/dist/meeting/in-meeting-actions.js.map +1 -1
  35. package/dist/meeting/index.js +1036 -1481
  36. package/dist/meeting/index.js.map +1 -1
  37. package/dist/meeting/request.js +0 -50
  38. package/dist/meeting/request.js.map +1 -1
  39. package/dist/meeting/request.type.js.map +1 -1
  40. package/dist/meeting/util.js +3 -133
  41. package/dist/meeting/util.js.map +1 -1
  42. package/dist/meetings/index.js +59 -142
  43. package/dist/meetings/index.js.map +1 -1
  44. package/dist/meetings/util.js +7 -11
  45. package/dist/meetings/util.js.map +1 -1
  46. package/dist/member/index.js +0 -10
  47. package/dist/member/index.js.map +1 -1
  48. package/dist/member/util.js +0 -10
  49. package/dist/member/util.js.map +1 -1
  50. package/dist/metrics/constants.js +1 -7
  51. package/dist/metrics/constants.js.map +1 -1
  52. package/dist/multistream/mediaRequestManager.js +60 -9
  53. package/dist/multistream/mediaRequestManager.js.map +1 -1
  54. package/dist/multistream/remoteMediaManager.js +0 -11
  55. package/dist/multistream/remoteMediaManager.js.map +1 -1
  56. package/dist/multistream/sendSlotManager.js +2 -116
  57. package/dist/multistream/sendSlotManager.js.map +1 -1
  58. package/dist/reachability/clusterReachability.js +18 -171
  59. package/dist/reachability/clusterReachability.js.map +1 -1
  60. package/dist/reachability/index.js +11 -21
  61. package/dist/reachability/index.js.map +1 -1
  62. package/dist/reachability/reachabilityPeerConnection.js +1 -1
  63. package/dist/reachability/reachabilityPeerConnection.js.map +1 -1
  64. package/dist/reactions/reactions.type.js.map +1 -1
  65. package/dist/reconnection-manager/index.js +1 -0
  66. package/dist/reconnection-manager/index.js.map +1 -1
  67. package/dist/types/common/browser-detection.d.ts +0 -1
  68. package/dist/types/common/events/events-scope.d.ts +0 -1
  69. package/dist/types/common/events/events.d.ts +0 -1
  70. package/dist/types/config.d.ts +0 -5
  71. package/dist/types/constants.d.ts +1 -24
  72. package/dist/types/hashTree/hashTreeParser.d.ts +11 -260
  73. package/dist/types/hashTree/types.d.ts +0 -20
  74. package/dist/types/index.d.ts +0 -1
  75. package/dist/types/interceptors/index.d.ts +1 -2
  76. package/dist/types/interceptors/locusRouteToken.d.ts +0 -2
  77. package/dist/types/locus-info/index.d.ts +47 -68
  78. package/dist/types/locus-info/types.d.ts +12 -28
  79. package/dist/types/media/MediaConnectionAwaiter.d.ts +1 -10
  80. package/dist/types/media/properties.d.ts +1 -2
  81. package/dist/types/meeting/in-meeting-actions.d.ts +0 -6
  82. package/dist/types/meeting/index.d.ts +7 -86
  83. package/dist/types/meeting/request.d.ts +1 -16
  84. package/dist/types/meeting/request.type.d.ts +0 -5
  85. package/dist/types/meeting/util.d.ts +0 -31
  86. package/dist/types/meeting-info/util.d.ts +0 -1
  87. package/dist/types/meeting-info/utilv2.d.ts +0 -1
  88. package/dist/types/meetings/index.d.ts +2 -4
  89. package/dist/types/member/index.d.ts +0 -1
  90. package/dist/types/member/types.d.ts +4 -4
  91. package/dist/types/member/util.d.ts +0 -5
  92. package/dist/types/metrics/constants.d.ts +0 -6
  93. package/dist/types/multistream/mediaRequestManager.d.ts +23 -0
  94. package/dist/types/multistream/sendSlotManager.d.ts +1 -23
  95. package/dist/types/reachability/clusterReachability.d.ts +3 -30
  96. package/dist/types/reactions/reactions.type.d.ts +0 -1
  97. package/dist/types/recording-controller/util.d.ts +5 -5
  98. package/dist/types/roap/index.d.ts +1 -1
  99. package/dist/webinar/index.js +163 -438
  100. package/dist/webinar/index.js.map +1 -1
  101. package/package.json +24 -26
  102. package/src/annotation/index.ts +7 -27
  103. package/src/config.ts +0 -5
  104. package/src/constants.ts +1 -30
  105. package/src/hashTree/hashTreeParser.ts +25 -1523
  106. package/src/hashTree/types.ts +1 -24
  107. package/src/index.ts +1 -8
  108. package/src/interceptors/index.ts +1 -2
  109. package/src/interceptors/locusRouteToken.ts +5 -22
  110. package/src/interpretation/index.ts +2 -2
  111. package/src/locus-info/controlsUtils.ts +0 -17
  112. package/src/locus-info/index.ts +213 -707
  113. package/src/locus-info/selfUtils.ts +0 -1
  114. package/src/locus-info/types.ts +12 -27
  115. package/src/media/MediaConnectionAwaiter.ts +1 -41
  116. package/src/media/properties.ts +1 -3
  117. package/src/meeting/in-meeting-actions.ts +0 -12
  118. package/src/meeting/index.ts +84 -461
  119. package/src/meeting/request.ts +0 -42
  120. package/src/meeting/request.type.ts +0 -6
  121. package/src/meeting/util.ts +2 -160
  122. package/src/meetings/index.ts +60 -180
  123. package/src/meetings/util.ts +9 -10
  124. package/src/member/index.ts +0 -10
  125. package/src/member/util.ts +0 -12
  126. package/src/metrics/constants.ts +0 -7
  127. package/src/multistream/mediaRequestManager.ts +54 -4
  128. package/src/multistream/remoteMediaManager.ts +0 -13
  129. package/src/multistream/sendSlotManager.ts +3 -97
  130. package/src/reachability/clusterReachability.ts +27 -153
  131. package/src/reachability/index.ts +1 -15
  132. package/src/reachability/reachabilityPeerConnection.ts +1 -3
  133. package/src/reactions/reactions.type.ts +0 -1
  134. package/src/reconnection-manager/index.ts +1 -0
  135. package/src/webinar/index.ts +6 -265
  136. package/test/unit/spec/annotation/index.ts +7 -69
  137. package/test/unit/spec/interceptors/locusRouteToken.ts +0 -44
  138. package/test/unit/spec/locus-info/controlsUtils.js +1 -56
  139. package/test/unit/spec/locus-info/index.js +90 -1457
  140. package/test/unit/spec/media/MediaConnectionAwaiter.ts +1 -41
  141. package/test/unit/spec/media/properties.ts +3 -12
  142. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -8
  143. package/test/unit/spec/meeting/index.js +128 -981
  144. package/test/unit/spec/meeting/request.js +0 -70
  145. package/test/unit/spec/meeting/utils.js +26 -438
  146. package/test/unit/spec/meetings/index.js +33 -845
  147. package/test/unit/spec/meetings/utils.js +1 -51
  148. package/test/unit/spec/member/index.js +4 -28
  149. package/test/unit/spec/member/util.js +27 -65
  150. package/test/unit/spec/multistream/mediaRequestManager.ts +85 -2
  151. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -30
  152. package/test/unit/spec/multistream/sendSlotManager.ts +36 -135
  153. package/test/unit/spec/reachability/clusterReachability.ts +1 -125
  154. package/test/unit/spec/reachability/index.ts +3 -26
  155. package/test/unit/spec/reconnection-manager/index.js +8 -4
  156. package/test/unit/spec/webinar/index.ts +37 -534
  157. package/dist/aiEnableRequest/index.js +0 -184
  158. package/dist/aiEnableRequest/index.js.map +0 -1
  159. package/dist/aiEnableRequest/utils.js +0 -36
  160. package/dist/aiEnableRequest/utils.js.map +0 -1
  161. package/dist/hashTree/constants.js +0 -22
  162. package/dist/hashTree/constants.js.map +0 -1
  163. package/dist/hashTree/hashTree.js +0 -533
  164. package/dist/hashTree/hashTree.js.map +0 -1
  165. package/dist/hashTree/utils.js +0 -69
  166. package/dist/hashTree/utils.js.map +0 -1
  167. package/dist/interceptors/constant.js +0 -12
  168. package/dist/interceptors/constant.js.map +0 -1
  169. package/dist/interceptors/dataChannelAuthToken.js +0 -290
  170. package/dist/interceptors/dataChannelAuthToken.js.map +0 -1
  171. package/dist/interceptors/utils.js +0 -27
  172. package/dist/interceptors/utils.js.map +0 -1
  173. package/dist/types/aiEnableRequest/index.d.ts +0 -5
  174. package/dist/types/aiEnableRequest/utils.d.ts +0 -2
  175. package/dist/types/hashTree/constants.d.ts +0 -9
  176. package/dist/types/hashTree/hashTree.d.ts +0 -136
  177. package/dist/types/hashTree/utils.d.ts +0 -22
  178. package/dist/types/interceptors/constant.d.ts +0 -5
  179. package/dist/types/interceptors/dataChannelAuthToken.d.ts +0 -43
  180. package/dist/types/interceptors/utils.d.ts +0 -1
  181. package/dist/types/webinar/utils.d.ts +0 -6
  182. package/dist/webinar/utils.js +0 -25
  183. package/dist/webinar/utils.js.map +0 -1
  184. package/src/aiEnableRequest/README.md +0 -84
  185. package/src/aiEnableRequest/index.ts +0 -170
  186. package/src/aiEnableRequest/utils.ts +0 -25
  187. package/src/hashTree/constants.ts +0 -10
  188. package/src/hashTree/hashTree.ts +0 -480
  189. package/src/hashTree/utils.ts +0 -62
  190. package/src/interceptors/constant.ts +0 -6
  191. package/src/interceptors/dataChannelAuthToken.ts +0 -170
  192. package/src/interceptors/utils.ts +0 -16
  193. package/src/webinar/utils.ts +0 -16
  194. package/test/unit/spec/aiEnableRequest/index.ts +0 -981
  195. package/test/unit/spec/aiEnableRequest/utils.ts +0 -130
  196. package/test/unit/spec/hashTree/hashTree.ts +0 -721
  197. package/test/unit/spec/hashTree/hashTreeParser.ts +0 -3670
  198. package/test/unit/spec/hashTree/utils.ts +0 -140
  199. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +0 -210
  200. package/test/unit/spec/interceptors/utils.ts +0 -75
  201. package/test/unit/spec/webinar/utils.ts +0 -39
@@ -138,7 +138,6 @@ const SelfUtils = {
138
138
  updates.breakoutsChanged = SelfUtils.breakoutsChanged(previous, current);
139
139
  updates.interpretationChanged = SelfUtils.interpretationChanged(previous, current);
140
140
  updates.brbChanged = SelfUtils.brbChanged(previous, current);
141
- updates.selfIdChanged = previous?.selfId !== current.selfId;
142
141
 
143
142
  return {
144
143
  previous,
@@ -1,26 +1,18 @@
1
1
  import {HtMeta} from '../hashTree/types';
2
2
 
3
- export type LocusFullState = {
4
- active: boolean;
5
- count: number;
6
- lastActive: string;
7
- locked: boolean;
8
- sessionId: string;
9
- seessionIds: string[];
10
- startTime: number;
11
- state: string;
12
- type: string;
13
- };
14
-
15
- export type Links = {
16
- services: Record<'breakout' | 'record', {url: string}>; // there exist also other services, but these are the ones we currently use
17
- resources: Record<'webcastInstance' | 'visibleDataSets', {url: string}>; // there exist also other resources, but these are the ones we currently use
18
- };
19
-
20
3
  export type LocusDTO = {
21
4
  controls?: any;
22
- embeddedApps?: any[];
23
- fullState?: LocusFullState;
5
+ fullState?: {
6
+ active: boolean;
7
+ count: number;
8
+ lastActive: string;
9
+ locked: boolean;
10
+ sessionId: string;
11
+ seessionIds: string[];
12
+ startTime: number;
13
+ state: string;
14
+ type: string;
15
+ };
24
16
  host?: {
25
17
  id: string;
26
18
  incomingCallProtocols: any[];
@@ -32,9 +24,8 @@ export type LocusDTO = {
32
24
  info?: any;
33
25
  jsSdkMeta?: {
34
26
  removedParticipantIds: string[]; // list of ids of participants that are removed in the last update
35
- forceReplaceMembers?: boolean; // when true, forces a full replacement of meeting members (e.g. when switching to a new hash tree parser - when moving between breakouts)
36
27
  };
37
- links?: Links;
28
+ links?: any;
38
29
  mediaShares?: any[];
39
30
  meetings?: any[];
40
31
  participants: any[];
@@ -53,9 +44,3 @@ export type LocusDTO = {
53
44
  syncUrl?: string;
54
45
  url?: string;
55
46
  };
56
-
57
- export type ReplacesInfo = {
58
- locusUrl: string;
59
- replacedAt: string;
60
- sessionId: string;
61
- };
@@ -2,12 +2,9 @@ import {Defer} from '@webex/common';
2
2
  import {ConnectionState, MediaConnectionEventNames} from '@webex/internal-media-core';
3
3
  import LoggerProxy from '../common/logs/logger-proxy';
4
4
  import {ICE_AND_DTLS_CONNECTION_TIMEOUT} from '../constants';
5
- import BEHAVIORAL_METRICS from '../metrics/constants';
6
- import Metrics from '../metrics';
7
5
 
8
6
  export interface MediaConnectionAwaiterProps {
9
7
  webrtcMediaConnection: any;
10
- correlationId: string;
11
8
  }
12
9
 
13
10
  /**
@@ -19,7 +16,6 @@ export default class MediaConnectionAwaiter {
19
16
  private defer: Defer;
20
17
  private retried: boolean;
21
18
  private iceConnected: boolean;
22
- private correlationId: string;
23
19
  private onTimeoutCallback: () => void;
24
20
  private peerConnectionStateCallback: () => void;
25
21
  private iceConnectionStateCallback: () => void;
@@ -28,12 +24,11 @@ export default class MediaConnectionAwaiter {
28
24
  /**
29
25
  * @param {MediaConnectionAwaiterProps} mediaConnectionAwaiterProps
30
26
  */
31
- constructor({webrtcMediaConnection, correlationId}: MediaConnectionAwaiterProps) {
27
+ constructor({webrtcMediaConnection}: MediaConnectionAwaiterProps) {
32
28
  this.webrtcMediaConnection = webrtcMediaConnection;
33
29
  this.defer = new Defer();
34
30
  this.retried = false;
35
31
  this.iceConnected = false;
36
- this.correlationId = correlationId;
37
32
  this.onTimeoutCallback = this.onTimeout.bind(this);
38
33
  this.peerConnectionStateCallback = this.peerConnectionStateHandler.bind(this);
39
34
  this.iceConnectionStateCallback = this.iceConnectionStateHandler.bind(this);
@@ -180,32 +175,6 @@ export default class MediaConnectionAwaiter {
180
175
  this.timer = setTimeout(this.onTimeoutCallback, ICE_AND_DTLS_CONNECTION_TIMEOUT);
181
176
  }
182
177
 
183
- /**
184
- * sends a metric with some additional info that might help debugging
185
- * issues where browser doesn't update the RTCPeerConnection's iceConnectionState or connectionState
186
- *
187
- * @returns {void}
188
- */
189
- async sendMetric() {
190
- const stats = await this.webrtcMediaConnection.getStats();
191
-
192
- // in theory we can end up with more than one transport report in the stats,
193
- // but for the purpose of this metric it's fine to just use the first one
194
- const transportReports = Array.from(
195
- stats.values().filter((report) => report.type === 'transport')
196
- ) as Record<string, number | string>[];
197
-
198
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEDIA_STILL_NOT_CONNECTED, {
199
- correlation_id: this.correlationId,
200
- numTransports: transportReports.length,
201
- dtlsState: transportReports[0]?.dtlsState,
202
- iceState: transportReports[0]?.iceState,
203
- packetsSent: transportReports[0]?.packetsSent,
204
- packetsReceived: transportReports[0]?.packetsReceived,
205
- dataChannelState: this.webrtcMediaConnection.multistreamConnection?.dataChannel?.readyState,
206
- });
207
- }
208
-
209
178
  /**
210
179
  * Function called when the timeout is reached.
211
180
  *
@@ -220,8 +189,6 @@ export default class MediaConnectionAwaiter {
220
189
  return;
221
190
  }
222
191
 
223
- this.sendMetric();
224
-
225
192
  if (!this.isIceGatheringCompleted()) {
226
193
  if (!this.retried) {
227
194
  LoggerProxy.logger.warn(
@@ -259,15 +226,8 @@ export default class MediaConnectionAwaiter {
259
226
  */
260
227
  waitForMediaConnectionConnected(): Promise<void> {
261
228
  if (this.isConnected()) {
262
- LoggerProxy.logger.log(
263
- 'Media:MediaConnectionAwaiter#waitForMediaConnectionConnected --> Already connected'
264
- );
265
-
266
229
  return Promise.resolve();
267
230
  }
268
- LoggerProxy.logger.log(
269
- 'Media:MediaConnectionAwaiter#waitForMediaConnectionConnected --> Waiting for media connection to be connected'
270
- );
271
231
 
272
232
  this.webrtcMediaConnection.on(
273
233
  MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED,
@@ -196,13 +196,11 @@ export default class MediaProperties {
196
196
  /**
197
197
  * Waits for the webrtc media connection to be connected.
198
198
  *
199
- * @param {string} correlationId
200
199
  * @returns {Promise<void>}
201
200
  */
202
- waitForMediaConnectionConnected(correlationId: string): Promise<void> {
201
+ waitForMediaConnectionConnected(): Promise<void> {
203
202
  const mediaConnectionAwaiter = new MediaConnectionAwaiter({
204
203
  webrtcMediaConnection: this.webrtcMediaConnection,
205
- correlationId,
206
204
  });
207
205
 
208
206
  return mediaConnectionAwaiter.waitForMediaConnectionConnected();
@@ -32,7 +32,6 @@ interface IInMeetingActions {
32
32
  canLowerAllHands?: boolean;
33
33
  canLowerSomeoneElsesHand?: boolean;
34
34
  bothLeaveAndEndMeetingAvailable?: boolean;
35
- requireHostEndMeetingBeforeLeave?: boolean;
36
35
  canEnableClosedCaption?: boolean;
37
36
  canStartTranscribing?: boolean;
38
37
  canStopTranscribing?: boolean;
@@ -118,8 +117,6 @@ interface IInMeetingActions {
118
117
  canMoveToLobby?: boolean;
119
118
  canEnablePollingQA?: boolean;
120
119
  canDisablePollingQA?: boolean;
121
- canAttendeeRequestAiAssistantEnabled?: boolean;
122
- isAttendeeRequestAiAssistantDeclinedAll?: boolean;
123
120
  }
124
121
 
125
122
  /**
@@ -172,8 +169,6 @@ export default class InMeetingActions implements IInMeetingActions {
172
169
 
173
170
  bothLeaveAndEndMeetingAvailable = null;
174
171
 
175
- requireHostEndMeetingBeforeLeave = null;
176
-
177
172
  canEnableClosedCaption = null;
178
173
 
179
174
  canStartTranscribing = null;
@@ -342,10 +337,6 @@ export default class InMeetingActions implements IInMeetingActions {
342
337
 
343
338
  canDisablePollingQA = null;
344
339
 
345
- canAttendeeRequestAiAssistantEnabled = null;
346
-
347
- isAttendeeRequestAiAssistantDeclinedAll = null;
348
-
349
340
  /**
350
341
  * Returns all meeting action options
351
342
  * @returns {Object}
@@ -373,7 +364,6 @@ export default class InMeetingActions implements IInMeetingActions {
373
364
  canLowerAllHands: this.canLowerAllHands,
374
365
  canLowerSomeoneElsesHand: this.canLowerSomeoneElsesHand,
375
366
  bothLeaveAndEndMeetingAvailable: this.bothLeaveAndEndMeetingAvailable,
376
- requireHostEndMeetingBeforeLeave: this.requireHostEndMeetingBeforeLeave,
377
367
  canEnableClosedCaption: this.canEnableClosedCaption,
378
368
  canStartTranscribing: this.canStartTranscribing,
379
369
  canStopTranscribing: this.canStopTranscribing,
@@ -458,8 +448,6 @@ export default class InMeetingActions implements IInMeetingActions {
458
448
  canMoveToLobby: this.canMoveToLobby,
459
449
  canEnablePollingQA: this.canEnablePollingQA,
460
450
  canDisablePollingQA: this.canDisablePollingQA,
461
- canAttendeeRequestAiAssistantEnabled: this.canAttendeeRequestAiAssistantEnabled,
462
- isAttendeeRequestAiAssistantDeclinedAll: this.isAttendeeRequestAiAssistantDeclinedAll,
463
451
  });
464
452
 
465
453
  /**