@webex/plugin-meetings 2.35.3 → 2.35.4

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 (212) hide show
  1. package/dist/common/browser-detection.js.map +1 -1
  2. package/dist/common/collection.js.map +1 -1
  3. package/dist/common/config.js.map +1 -1
  4. package/dist/common/errors/captcha-error.js +7 -0
  5. package/dist/common/errors/captcha-error.js.map +1 -1
  6. package/dist/common/errors/intent-to-join.js +8 -0
  7. package/dist/common/errors/intent-to-join.js.map +1 -1
  8. package/dist/common/errors/join-meeting.js +8 -0
  9. package/dist/common/errors/join-meeting.js.map +1 -1
  10. package/dist/common/errors/media.js +7 -0
  11. package/dist/common/errors/media.js.map +1 -1
  12. package/dist/common/errors/parameter.js.map +1 -1
  13. package/dist/common/errors/password-error.js +7 -0
  14. package/dist/common/errors/password-error.js.map +1 -1
  15. package/dist/common/errors/permission.js +7 -0
  16. package/dist/common/errors/permission.js.map +1 -1
  17. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  18. package/dist/common/errors/reconnection.js +7 -0
  19. package/dist/common/errors/reconnection.js.map +1 -1
  20. package/dist/common/errors/stats.js +7 -0
  21. package/dist/common/errors/stats.js.map +1 -1
  22. package/dist/common/errors/webex-errors.js.map +1 -1
  23. package/dist/common/errors/webex-meetings-error.js +5 -2
  24. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  25. package/dist/common/events/events-scope.js.map +1 -1
  26. package/dist/common/events/events.js.map +1 -1
  27. package/dist/common/events/trigger-proxy.js.map +1 -1
  28. package/dist/common/events/util.js.map +1 -1
  29. package/dist/common/logs/logger-config.js.map +1 -1
  30. package/dist/common/logs/logger-proxy.js.map +1 -1
  31. package/dist/common/logs/request.js +3 -0
  32. package/dist/common/logs/request.js.map +1 -1
  33. package/dist/common/queue.js.map +1 -1
  34. package/dist/config.js.map +1 -1
  35. package/dist/constants.js.map +1 -1
  36. package/dist/locus-info/controlsUtils.js.map +1 -1
  37. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  38. package/dist/locus-info/fullState.js.map +1 -1
  39. package/dist/locus-info/hostUtils.js.map +1 -1
  40. package/dist/locus-info/index.js +43 -5
  41. package/dist/locus-info/index.js.map +1 -1
  42. package/dist/locus-info/infoUtils.js.map +1 -1
  43. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  44. package/dist/locus-info/parser.js +12 -3
  45. package/dist/locus-info/parser.js.map +1 -1
  46. package/dist/locus-info/selfUtils.js.map +1 -1
  47. package/dist/media/index.js.map +1 -1
  48. package/dist/media/properties.js +12 -0
  49. package/dist/media/properties.js.map +1 -1
  50. package/dist/media/util.js.map +1 -1
  51. package/dist/mediaQualityMetrics/config.js.map +1 -1
  52. package/dist/meeting/effectsState.js +8 -1
  53. package/dist/meeting/effectsState.js.map +1 -1
  54. package/dist/meeting/index.js +151 -32
  55. package/dist/meeting/index.js.map +1 -1
  56. package/dist/meeting/muteState.js +6 -0
  57. package/dist/meeting/muteState.js.map +1 -1
  58. package/dist/meeting/request.js +54 -24
  59. package/dist/meeting/request.js.map +1 -1
  60. package/dist/meeting/state.js.map +1 -1
  61. package/dist/meeting/util.js.map +1 -1
  62. package/dist/meeting-info/collection.js +4 -1
  63. package/dist/meeting-info/collection.js.map +1 -1
  64. package/dist/meeting-info/index.js +5 -0
  65. package/dist/meeting-info/index.js.map +1 -1
  66. package/dist/meeting-info/meeting-info-v2.js +14 -2
  67. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  68. package/dist/meeting-info/request.js +3 -0
  69. package/dist/meeting-info/request.js.map +1 -1
  70. package/dist/meeting-info/util.js.map +1 -1
  71. package/dist/meeting-info/utilv2.js.map +1 -1
  72. package/dist/meetings/collection.js +4 -1
  73. package/dist/meetings/collection.js.map +1 -1
  74. package/dist/meetings/index.js +72 -20
  75. package/dist/meetings/index.js.map +1 -1
  76. package/dist/meetings/request.js +4 -0
  77. package/dist/meetings/request.js.map +1 -1
  78. package/dist/meetings/util.js.map +1 -1
  79. package/dist/member/index.js +30 -7
  80. package/dist/member/index.js.map +1 -1
  81. package/dist/member/util.js +2 -1
  82. package/dist/member/util.js.map +1 -1
  83. package/dist/members/collection.js +1 -0
  84. package/dist/members/collection.js.map +1 -1
  85. package/dist/members/index.js +12 -1
  86. package/dist/members/index.js.map +1 -1
  87. package/dist/members/request.js +19 -9
  88. package/dist/members/request.js.map +1 -1
  89. package/dist/members/util.js.map +1 -1
  90. package/dist/metrics/config.js.map +1 -1
  91. package/dist/metrics/constants.js.map +1 -1
  92. package/dist/metrics/index.js +8 -0
  93. package/dist/metrics/index.js.map +1 -1
  94. package/dist/networkQualityMonitor/index.js +10 -2
  95. package/dist/networkQualityMonitor/index.js.map +1 -1
  96. package/dist/peer-connection-manager/index.js +11 -4
  97. package/dist/peer-connection-manager/index.js.map +1 -1
  98. package/dist/personal-meeting-room/index.js +11 -0
  99. package/dist/personal-meeting-room/index.js.map +1 -1
  100. package/dist/personal-meeting-room/request.js +2 -1
  101. package/dist/personal-meeting-room/request.js.map +1 -1
  102. package/dist/personal-meeting-room/util.js.map +1 -1
  103. package/dist/reachability/index.js +17 -7
  104. package/dist/reachability/index.js.map +1 -1
  105. package/dist/reachability/request.js +1 -0
  106. package/dist/reachability/request.js.map +1 -1
  107. package/dist/reconnection-manager/index.js +21 -2
  108. package/dist/reconnection-manager/index.js.map +1 -1
  109. package/dist/roap/collection.js +1 -0
  110. package/dist/roap/collection.js.map +1 -1
  111. package/dist/roap/handler.js +14 -2
  112. package/dist/roap/handler.js.map +1 -1
  113. package/dist/roap/index.js +11 -1
  114. package/dist/roap/index.js.map +1 -1
  115. package/dist/roap/request.js +7 -2
  116. package/dist/roap/request.js.map +1 -1
  117. package/dist/roap/state.js.map +1 -1
  118. package/dist/roap/turnDiscovery.js +9 -1
  119. package/dist/roap/turnDiscovery.js.map +1 -1
  120. package/dist/roap/util.js.map +1 -1
  121. package/dist/statsAnalyzer/global.js.map +1 -1
  122. package/dist/statsAnalyzer/index.js +19 -1
  123. package/dist/statsAnalyzer/index.js.map +1 -1
  124. package/dist/statsAnalyzer/mqaUtil.js +9 -3
  125. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  126. package/dist/transcription/index.js +10 -3
  127. package/dist/transcription/index.js.map +1 -1
  128. package/package.json +17 -17
  129. package/src/common/{browser-detection.js → browser-detection.ts} +1 -1
  130. package/src/common/collection.ts +6 -6
  131. package/src/common/{config.js → config.ts} +1 -1
  132. package/src/common/errors/{captcha-error.js → captcha-error.ts} +5 -1
  133. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +6 -1
  134. package/src/common/errors/{join-meeting.js → join-meeting.ts} +6 -1
  135. package/src/common/errors/{media.js → media.ts} +5 -1
  136. package/src/common/errors/parameter.ts +3 -2
  137. package/src/common/errors/{password-error.js → password-error.ts} +5 -1
  138. package/src/common/errors/{permission.js → permission.ts} +5 -1
  139. package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
  140. package/src/common/errors/{reconnection.js → reconnection.ts} +5 -1
  141. package/src/common/errors/{stats.js → stats.ts} +5 -1
  142. package/src/common/errors/{webex-errors.js → webex-errors.ts} +1 -2
  143. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +3 -1
  144. package/src/common/events/{events-scope.js → events-scope.ts} +1 -1
  145. package/src/common/events/{events.js → events.ts} +0 -0
  146. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +1 -2
  147. package/src/common/events/{util.js → util.ts} +1 -1
  148. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  149. package/src/common/logs/{logger-proxy.js → logger-proxy.ts} +1 -1
  150. package/src/common/logs/{request.js → request.ts} +12 -2
  151. package/src/common/queue.ts +1 -2
  152. package/src/{config.js → config.ts} +1 -0
  153. package/src/constants.ts +1 -0
  154. package/src/locus-info/{controlsUtils.js → controlsUtils.ts} +4 -4
  155. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  156. package/src/locus-info/{fullState.js → fullState.ts} +1 -1
  157. package/src/locus-info/{hostUtils.js → hostUtils.ts} +5 -5
  158. package/src/locus-info/{index.js → index.ts} +67 -32
  159. package/src/locus-info/{infoUtils.js → infoUtils.ts} +3 -4
  160. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +13 -13
  161. package/src/locus-info/{parser.js → parser.ts} +22 -12
  162. package/src/locus-info/{selfUtils.js → selfUtils.ts} +17 -19
  163. package/src/media/{index.js → index.ts} +108 -39
  164. package/src/media/{properties.js → properties.ts} +16 -4
  165. package/src/media/{util.js → util.ts} +2 -3
  166. package/src/mediaQualityMetrics/{config.js → config.ts} +1 -1
  167. package/src/meeting/{effectsState.js → effectsState.ts} +12 -6
  168. package/src/meeting/{index.js → index.ts} +323 -147
  169. package/src/meeting/{muteState.js → muteState.ts} +16 -11
  170. package/src/meeting/{request.js → request.ts} +124 -36
  171. package/src/meeting/{state.js → state.ts} +6 -6
  172. package/src/meeting/{util.js → util.ts} +4 -4
  173. package/src/meeting-info/{collection.js → collection.ts} +4 -1
  174. package/src/meeting-info/{index.js → index.ts} +10 -6
  175. package/src/meeting-info/{meeting-info-v2.js → meeting-info-v2.ts} +28 -10
  176. package/src/meeting-info/{request.js → request.ts} +6 -2
  177. package/src/meeting-info/{util.js → util.ts} +6 -5
  178. package/src/meeting-info/{utilv2.js → utilv2.ts} +8 -7
  179. package/src/meetings/{collection.js → collection.ts} +5 -2
  180. package/src/meetings/{index.js → index.ts} +88 -22
  181. package/src/meetings/{request.js → request.ts} +6 -1
  182. package/src/meetings/{util.js → util.ts} +5 -3
  183. package/src/member/{index.js → index.ts} +46 -15
  184. package/src/member/{util.js → util.ts} +17 -16
  185. package/src/members/{collection.js → collection.ts} +2 -1
  186. package/src/members/{index.js → index.ts} +39 -26
  187. package/src/members/{request.js → request.ts} +16 -5
  188. package/src/members/{util.js → util.ts} +7 -7
  189. package/src/metrics/{config.js → config.ts} +0 -2
  190. package/src/metrics/{constants.js → constants.ts} +0 -0
  191. package/src/metrics/{index.js → index.ts} +27 -8
  192. package/src/networkQualityMonitor/{index.js → index.ts} +18 -3
  193. package/src/peer-connection-manager/{index.js → index.ts} +72 -28
  194. package/src/personal-meeting-room/{index.js → index.ts} +17 -4
  195. package/src/personal-meeting-room/{request.js → request.ts} +3 -1
  196. package/src/personal-meeting-room/{util.js → util.ts} +1 -1
  197. package/src/reachability/{index.js → index.ts} +28 -17
  198. package/src/reachability/request.ts +4 -2
  199. package/src/reconnection-manager/{index.js → index.ts} +42 -13
  200. package/src/roap/{collection.js → collection.ts} +1 -0
  201. package/src/roap/{handler.js → handler.ts} +15 -4
  202. package/src/roap/{index.js → index.ts} +23 -10
  203. package/src/roap/{request.js → request.ts} +19 -3
  204. package/src/roap/{state.js → state.ts} +3 -2
  205. package/src/roap/turnDiscovery.ts +14 -5
  206. package/src/roap/{util.js → util.ts} +1 -2
  207. package/src/statsAnalyzer/{global.js → global.ts} +0 -0
  208. package/src/statsAnalyzer/{index.js → index.ts} +36 -17
  209. package/src/statsAnalyzer/{mqaUtil.js → mqaUtil.ts} +6 -1
  210. package/src/transcription/{index.js → index.ts} +16 -11
  211. package/test/integration/spec/space-meeting.js +1 -2
  212. package/test/unit/spec/roap/util.js +1 -1
@@ -1,6 +1,6 @@
1
-
2
1
  import '@webex/internal-plugin-mercury';
3
2
  import '@webex/internal-plugin-conversation';
3
+ // @ts-ignore
4
4
  import {WebexPlugin} from '@webex/webex-core';
5
5
 
6
6
  import 'webrtc-adapter';
@@ -51,7 +51,6 @@ import CaptchaError from '../common/errors/captcha-error';
51
51
  import MeetingCollection from './collection';
52
52
  import MeetingsUtil from './util';
53
53
 
54
-
55
54
  /**
56
55
  * Meetings Ready Event
57
56
  * Emitted when the meetings instance on webex is ready
@@ -105,6 +104,17 @@ import MeetingsUtil from './util';
105
104
  * @class
106
105
  */
107
106
  export default class Meetings extends WebexPlugin {
107
+ loggerRequest: any;
108
+ media: any;
109
+ meetingCollection: any;
110
+ personalMeetingRoom: any;
111
+ preferredWebexSite: any;
112
+ reachability: any;
113
+ registered: any;
114
+ request: any;
115
+ geoHintInfo: any;
116
+ meetingInfo: any;
117
+
108
118
  namespace = MEETINGS;
109
119
 
110
120
  /**
@@ -123,6 +133,7 @@ export default class Meetings extends WebexPlugin {
123
133
  * @private
124
134
  * @memberof Meetings
125
135
  */
136
+ // @ts-ignore
126
137
  this.request = new Request({}, {parent: this.webex});
127
138
  /**
128
139
  * Log upload request helper
@@ -131,6 +142,7 @@ export default class Meetings extends WebexPlugin {
131
142
  * @private
132
143
  * @memberof Meetings
133
144
  */
145
+ // @ts-ignore
134
146
  this.loggerRequest = new LoggerRequest({webex: this.webex});
135
147
  this.meetingCollection = new MeetingCollection();
136
148
  /**
@@ -196,13 +208,14 @@ export default class Meetings extends WebexPlugin {
196
208
  * @private
197
209
  * @memberof Meetings
198
210
  */
199
- handleLocusEvent(data, useRandomDelayForInfo = false) {
211
+ private handleLocusEvent(data: { locusUrl: string; locus: any }, useRandomDelayForInfo: boolean = false) {
200
212
  let meeting = null;
201
213
 
202
214
  // getting meeting by correlationId. This will happen for the new event
203
215
  // Either the locus
204
216
  // TODO : Add check for the callBack Address
205
217
  meeting = this.meetingCollection.getByKey(LOCUS_URL, data.locusUrl) ||
218
+ // @ts-ignore
206
219
  this.meetingCollection.getByKey(CORRELATION_ID, MeetingsUtil.checkForCorrelationId(this.webex.internal.device.url, data.locus)) ||
207
220
  this.meetingCollection.getByKey(SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) ||
208
221
  (data.locus.info?.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(CONVERSATION_URL, data.locus.conversationUrl));
@@ -300,7 +313,7 @@ export default class Meetings extends WebexPlugin {
300
313
  * @private
301
314
  * @memberof Meetings
302
315
  */
303
- handleLocusMercury(envelope) {
316
+ private handleLocusMercury(envelope: { data: any }) {
304
317
  const {data} = envelope;
305
318
  const {eventType} = data;
306
319
 
@@ -316,7 +329,7 @@ export default class Meetings extends WebexPlugin {
316
329
  * @private
317
330
  * @memberof Meetings
318
331
  */
319
- handleMercuryOffline() {
332
+ private handleMercuryOffline() {
320
333
  Trigger.trigger(
321
334
  this,
322
335
  {
@@ -334,18 +347,22 @@ export default class Meetings extends WebexPlugin {
334
347
  * @private
335
348
  * @memberof Meetings
336
349
  */
337
- listenForEvents() {
350
+ private listenForEvents() {
351
+ // @ts-ignore
338
352
  this.webex.internal.mercury.on(LOCUSEVENT.LOCUS_MERCURY, (envelope) => {
339
353
  this.handleLocusMercury(envelope);
340
354
  });
355
+ // @ts-ignore
341
356
  this.webex.internal.mercury.on(ROAP.ROAP_MERCURY, (envelope) => {
342
357
  MeetingsUtil.handleRoapMercury(envelope, this.meetingCollection);
343
358
  });
344
359
 
360
+ // @ts-ignore
345
361
  this.webex.internal.mercury.on(ONLINE, () => {
346
362
  this.syncMeetings();
347
363
  });
348
364
 
365
+ // @ts-ignore
349
366
  this.webex.internal.mercury.on(OFFLINE, () => {
350
367
  this.handleMercuryOffline();
351
368
  });
@@ -357,9 +374,12 @@ export default class Meetings extends WebexPlugin {
357
374
  * @private
358
375
  * @memberof Meetings
359
376
  */
360
- stopListeningForEvents() {
377
+ private stopListeningForEvents() {
378
+ // @ts-ignore
361
379
  this.webex.internal.mercury.off(LOCUSEVENT.LOCUS_MERCURY);
380
+ // @ts-ignore
362
381
  this.webex.internal.mercury.off(ROAP.ROAP_MERCURY);
382
+ // @ts-ignore
363
383
  this.webex.internal.mercury.off(ONLINE);
364
384
  }
365
385
 
@@ -368,10 +388,14 @@ export default class Meetings extends WebexPlugin {
368
388
  * @private
369
389
  * @memberof Meetings
370
390
  */
371
- onReady() {
391
+ private onReady() {
392
+ // @ts-ignore
372
393
  this.webex.once(READY, () => {
394
+ // @ts-ignore
373
395
  StaticConfig.set(this.config);
396
+ // @ts-ignore
374
397
  LoggerConfig.set(this.config.logging);
398
+ // @ts-ignore
375
399
  LoggerProxy.set(this.webex.logger);
376
400
 
377
401
  /**
@@ -381,7 +405,9 @@ export default class Meetings extends WebexPlugin {
381
405
  * @private
382
406
  * @memberof Meetings
383
407
  */
408
+ // @ts-ignore
384
409
  this.meetingInfo = this.config.experimental.enableUnifiedMeetings ? new MeetingInfoV2(this.webex) : new MeetingInfo(this.webex);
410
+ // @ts-ignore
385
411
  this.personalMeetingRoom = new PersonalMeetingRoom({meetingInfo: this.meetingInfo}, {parent: this.webex});
386
412
 
387
413
  Trigger.trigger(
@@ -394,6 +420,7 @@ export default class Meetings extends WebexPlugin {
394
420
  );
395
421
 
396
422
  MeetingsUtil.checkH264Support({disableNotifications: true});
423
+ // @ts-ignore
397
424
  Metrics.initialSetup(this.meetingCollection, this.webex);
398
425
  });
399
426
  }
@@ -405,12 +432,15 @@ export default class Meetings extends WebexPlugin {
405
432
  * @memberof Meetings
406
433
  * @returns {undefined}
407
434
  */
408
- _toggleUnifiedMeetings(changeState) {
435
+ private _toggleUnifiedMeetings(changeState: boolean) {
409
436
  if (typeof changeState !== 'boolean') {
410
437
  return;
411
438
  }
439
+ // @ts-ignore
412
440
  if (this.config?.experimental?.enableUnifiedMeetings !== changeState) {
441
+ // @ts-ignore
413
442
  this.config.experimental.enableUnifiedMeetings = changeState;
443
+ // @ts-ignore
414
444
  this.meetingInfo = changeState ? new MeetingInfoV2(this.webex) : new MeetingInfo(this.webex);
415
445
  }
416
446
  }
@@ -422,10 +452,11 @@ export default class Meetings extends WebexPlugin {
422
452
  * @memberof Meetings
423
453
  * @returns {undefined}
424
454
  */
425
- _toggleTurnDiscovery(enable) {
455
+ private _toggleTurnDiscovery(enable: boolean) {
426
456
  if (typeof enable !== 'boolean') {
427
457
  return;
428
458
  }
459
+ // @ts-ignore
429
460
  this.config.experimental.enableTurnDiscovery = enable;
430
461
  }
431
462
 
@@ -436,11 +467,13 @@ export default class Meetings extends WebexPlugin {
436
467
  * @memberof Meetings
437
468
  * @returns {undefined}
438
469
  */
439
- _toggleAdhocMeetings(changeState) {
470
+ private _toggleAdhocMeetings(changeState: boolean) {
440
471
  if (typeof changeState !== 'boolean') {
441
472
  return;
442
473
  }
474
+ // @ts-ignore
443
475
  if (this.config?.experimental?.enableAdhocMeetings !== changeState) {
476
+ // @ts-ignore
444
477
  this.config.experimental.enableAdhocMeetings = changeState;
445
478
  }
446
479
  }
@@ -453,7 +486,8 @@ export default class Meetings extends WebexPlugin {
453
486
  * @public
454
487
  * @memberof Meetings
455
488
  */
456
- register() {
489
+ public register() {
490
+ // @ts-ignore
457
491
  if (!this.webex.canAuthorize) {
458
492
  LoggerProxy.logger.error('Meetings:index#register --> ERROR, Unable to register, SDK cannot authorize');
459
493
 
@@ -473,8 +507,11 @@ export default class Meetings extends WebexPlugin {
473
507
  this.startReachability().catch((error) => {
474
508
  LoggerProxy.logger.error(`Meetings:index#register --> GDM error, ${error.message}`);
475
509
  }),
510
+ // @ts-ignore
476
511
  this.webex.internal.device.register()
512
+ // @ts-ignore
477
513
  .then(() => LoggerProxy.logger.info(`Meetings:index#register --> INFO, Device registered ${this.webex.internal.device.url}`))
514
+ // @ts-ignore
478
515
  .then(() => this.webex.internal.mercury.connect()),
479
516
  MeetingsUtil.checkH264Support.call(this)
480
517
  ]).then(() => {
@@ -524,7 +561,9 @@ export default class Meetings extends WebexPlugin {
524
561
 
525
562
  this.stopListeningForEvents();
526
563
 
564
+ // @ts-ignore
527
565
  return this.webex.internal.mercury.disconnect()
566
+ // @ts-ignore
528
567
  .then(() => this.webex.internal.device.unregister())
529
568
  .then(() => {
530
569
  Trigger.trigger(
@@ -551,7 +590,17 @@ export default class Meetings extends WebexPlugin {
551
590
  * @param {String} [options.orgId] org id
552
591
  * @returns {String} feedback ID logs were submitted under
553
592
  */
554
- uploadLogs(options = {}) {
593
+ uploadLogs(
594
+ options: {
595
+ callStart?: string;
596
+ feedbackId?: string;
597
+ locusId?: string;
598
+ correlationId?: string;
599
+ meetingId?: string;
600
+ userId?: string;
601
+ orgId?: string;
602
+ } = {}
603
+ ) {
555
604
  LoggerProxy.logger.info('Meetings:index#uploadLogs --> uploading logs');
556
605
 
557
606
  return this.loggerRequest.uploadLogs(options)
@@ -569,6 +618,8 @@ export default class Meetings extends WebexPlugin {
569
618
  details: uploadResult
570
619
  }
571
620
  );
621
+
622
+ return uploadResult;
572
623
  })
573
624
  .catch((uploadError) => {
574
625
  LoggerProxy.logger.error('Meetings:index#uploadLogs --> Unable to upload logs for meeting', uploadError);
@@ -588,6 +639,7 @@ export default class Meetings extends WebexPlugin {
588
639
  Metrics.sendBehavioralMetric(
589
640
  BEHAVIORAL_METRICS.UPLOAD_LOGS_FAILURE,
590
641
  {
642
+ // @ts-ignore - seems like typo
591
643
  meetingId: options.meetingsId,
592
644
  reason: uploadError.message,
593
645
  stack: uploadError.stack,
@@ -604,6 +656,7 @@ export default class Meetings extends WebexPlugin {
604
656
  * @memberof Meetings
605
657
  */
606
658
  setReachability() {
659
+ // @ts-ignore
607
660
  this.reachability = new Reachability(this.webex);
608
661
  }
609
662
 
@@ -658,7 +711,6 @@ export default class Meetings extends WebexPlugin {
658
711
  });
659
712
  }
660
713
 
661
-
662
714
  /**
663
715
  * gets the personal meeting room instance, for saved PMR values for this user
664
716
  * @returns {PersonalMeetingRoom}
@@ -678,7 +730,7 @@ export default class Meetings extends WebexPlugin {
678
730
  * @private
679
731
  * @memberof Meetings
680
732
  */
681
- destroy(meeting, reason) {
733
+ private destroy(meeting: Meeting, reason: object) {
682
734
  MeetingUtil.cleanUp(meeting);
683
735
  this.meetingCollection.delete(meeting.id);
684
736
  Trigger.trigger(
@@ -704,7 +756,7 @@ export default class Meetings extends WebexPlugin {
704
756
  * @public
705
757
  * @memberof Meetings
706
758
  */
707
- create(destination, type = null, useRandomDelayForInfo = false) {
759
+ public create(destination: string, type: string = null, useRandomDelayForInfo: boolean = false) {
708
760
  // TODO: type should be from a dictionary
709
761
 
710
762
  // Validate meeting information based on the provided destination and
@@ -716,7 +768,7 @@ export default class Meetings extends WebexPlugin {
716
768
  .catch((error) => {
717
769
  LoggerProxy.logger.info(`Meetings:index#create --> INFO, unable to determine info options: ${error.message}`);
718
770
  })
719
- .then((options = {}) => {
771
+ .then((options: any = {}) => {
720
772
  // Normalize the destination.
721
773
  const targetDest = options.destination || destination;
722
774
 
@@ -746,11 +798,12 @@ export default class Meetings extends WebexPlugin {
746
798
  if (!meeting) {
747
799
  // Create a meeting based on the normalized destination and type.
748
800
  return this.createMeeting(targetDest, type, useRandomDelayForInfo)
749
- .then((createdMeeting) => {
801
+ .then((createdMeeting: any) => {
750
802
  // If the meeting was successfully created.
751
803
  if (createdMeeting && createdMeeting.on) {
752
804
  // Create a destruction event for the meeting.
753
805
  createdMeeting.on(EVENTS.DESTROY_MEETING, (payload) => {
806
+ // @ts-ignore
754
807
  if (this.config.autoUploadLogs) {
755
808
  this.uploadLogs({
756
809
  callStart: createdMeeting.locusInfo?.fullState?.lastActive,
@@ -766,6 +819,7 @@ export default class Meetings extends WebexPlugin {
766
819
  });
767
820
 
768
821
  createdMeeting.on(EVENTS.REQUEST_UPLOAD_LOGS, (meetingInstance) => {
822
+ // @ts-ignore
769
823
  if (this.config.autoUploadLogs) {
770
824
  this.uploadLogs({
771
825
  callStart: meetingInstance?.locusInfo?.fullState?.lastActive,
@@ -799,11 +853,14 @@ export default class Meetings extends WebexPlugin {
799
853
  * @private
800
854
  * @memberof Meetings
801
855
  */
802
- async createMeeting(destination, type = null, useRandomDelayForInfo = false) {
856
+ private async createMeeting(destination: any, type: string = null, useRandomDelayForInfo: boolean = false) {
803
857
  const meeting = new Meeting(
804
858
  {
859
+ // @ts-ignore
805
860
  userId: this.webex.internal.device.userId,
861
+ // @ts-ignore
806
862
  deviceUrl: this.webex.internal.device.url,
863
+ // @ts-ignore
807
864
  orgId: this.webex.internal.device.orgId,
808
865
  roapSeq: 0,
809
866
  locus: type === _LOCUS_ID_ ? destination : null, // pass the locus object if present
@@ -812,6 +869,7 @@ export default class Meetings extends WebexPlugin {
812
869
  destinationType: type,
813
870
  },
814
871
  {
872
+ // @ts-ignore
815
873
  parent: this.webex
816
874
  }
817
875
  );
@@ -835,6 +893,7 @@ export default class Meetings extends WebexPlugin {
835
893
  waitingTime = Math.round(Math.random() * maxWaitingTime);
836
894
  }
837
895
  const isMeetingActive = !!destination.fullState?.active;
896
+ // @ts-ignore
838
897
  const {enableUnifiedMeetings} = this.config.experimental;
839
898
 
840
899
  if (enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0) {
@@ -911,7 +970,7 @@ export default class Meetings extends WebexPlugin {
911
970
  * @public
912
971
  * @memberof Meetings
913
972
  */
914
- getMeetingByType(type, value) {
973
+ public getMeetingByType(type: string, value: object) {
915
974
  return this.meetingCollection.getByKey(type, value);
916
975
  }
917
976
 
@@ -924,7 +983,12 @@ export default class Meetings extends WebexPlugin {
924
983
  * @public
925
984
  * @memberof Meetings
926
985
  */
927
- getAllMeetings(options = {}) {
986
+ public getAllMeetings(
987
+ options: {
988
+ startDate: object;
989
+ endDate: object;
990
+ } = {} as any
991
+ ) {
928
992
  // Options may include other parameters to filter this collection
929
993
  // of meetings.
930
994
  return this.meetingCollection.getAll(options);
@@ -936,7 +1000,7 @@ export default class Meetings extends WebexPlugin {
936
1000
  * @public
937
1001
  * @memberof Meetings
938
1002
  */
939
- syncMeetings() {
1003
+ public syncMeetings() {
940
1004
  return this.request.getActiveMeetings().then((locusArray) => {
941
1005
  const activeLocusUrl = [];
942
1006
 
@@ -955,8 +1019,10 @@ export default class Meetings extends WebexPlugin {
955
1019
  // Some time the mercury event is missed after mercury reconnect
956
1020
  // if sync returns no locus then clear all the meetings
957
1021
  for (const meeting of Object.values(meetingsCollection)) {
1022
+ // @ts-ignore
958
1023
  if (!activeLocusUrl.includes(meeting.locusUrl)) {
959
1024
  // destroy function also uploads logs
1025
+ // @ts-ignore
960
1026
  this.destroy(meeting, MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
961
1027
  }
962
1028
  }
@@ -1,3 +1,4 @@
1
+ // @ts-ignore
1
2
  import {StatelessWebexPlugin} from '@webex/webex-core';
2
3
 
3
4
  import LoggerProxy from '../common/logs/logger-proxy';
@@ -16,6 +17,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
16
17
  * @returns {Array} return locus array
17
18
  */
18
19
  getActiveMeetings() {
20
+ // @ts-ignore
19
21
  return this.request({
20
22
  api: API.LOCUS,
21
23
  resource: RESOURCE.LOCI
@@ -31,6 +33,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
31
33
  * @returns {Promise<object>} geoHintInfo
32
34
  */
33
35
  fetchGeoHint() {
36
+ // @ts-ignore
34
37
  return this.webex.internal.services.fetchClientRegionInfo();
35
38
  }
36
39
 
@@ -39,6 +42,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
39
42
  * @returns {Promise<object>} getMeetingPreferences
40
43
  */
41
44
  getMeetingPreferences() {
45
+ // @ts-ignore
42
46
  return this.webex.internal.services.getMeetingPreferences();
43
47
  }
44
48
 
@@ -50,8 +54,9 @@ export default class MeetingRequest extends StatelessWebexPlugin {
50
54
  * @param {object} responseBody determine the locus and fetch them if a remoteUrl is given
51
55
  * @returns {Promise} returns locusObject array
52
56
  */
53
- determineRedirections(responseBody) {
57
+ determineRedirections(responseBody: any) {
54
58
  if (responseBody.remoteLocusClusterUrls && responseBody.remoteLocusClusterUrls.length) {
59
+ // @ts-ignore
55
60
  return Promise.all(responseBody.remoteLocusClusterUrls.map((url) => this.request({
56
61
  method: HTTP_VERBS.GET,
57
62
  url,
@@ -29,7 +29,7 @@ import Trigger from '../common/events/trigger-proxy';
29
29
  * @memberof MeetingsUtil
30
30
  */
31
31
 
32
- const MeetingsUtil = {};
32
+ const MeetingsUtil: any = {};
33
33
 
34
34
  MeetingsUtil.getMeetingAddedType = (type) => (type === _LOCUS_ID_ ? _INCOMING_ : _CREATED_);
35
35
 
@@ -103,7 +103,6 @@ MeetingsUtil.hasH264Codec = async () => {
103
103
  return hasCodec;
104
104
  };
105
105
 
106
-
107
106
  /**
108
107
  * Notifies the user whether or not the H.264
109
108
  * codec is present. Will continuously check
@@ -115,7 +114,10 @@ MeetingsUtil.hasH264Codec = async () => {
115
114
  * @param {boolean} options.disableNotifications Default is false. Boolean to enable/disable notification and events
116
115
  * @returns {undefined}
117
116
  */
118
- MeetingsUtil.checkH264Support = async function checkH264Support(options) {
117
+ MeetingsUtil.checkH264Support = async function checkH264Support(options: {
118
+ firstChecked: number;
119
+ disableNotifications: boolean;
120
+ }) {
119
121
  const {hasH264Codec} = MeetingsUtil;
120
122
  const {firstChecked, disableNotifications} = options || {};
121
123
  const delay = 5e3; // ms
@@ -8,12 +8,35 @@ import {
8
8
  _IN_MEETING_
9
9
  } from '../constants';
10
10
 
11
- import MemberUtil from './util.js';
11
+ import MemberUtil from './util';
12
12
 
13
13
  /**
14
14
  * @class Member
15
15
  */
16
16
  export default class Member {
17
+ associatedUser: any;
18
+ id: any;
19
+ isAudioMuted: any;
20
+ isContentSharing: any;
21
+ isDevice: any;
22
+ isGuest: any;
23
+ isHandRaised: any;
24
+ isHost: any;
25
+ isInLobby: any;
26
+ isInMeeting: any;
27
+ isModerator: any;
28
+ isModeratorAssignmentProhibited: any;
29
+ isMutable: any;
30
+ isNotAdmitted: any;
31
+ isRecording: any;
32
+ isRemovable: any;
33
+ isSelf: any;
34
+ isUser: any;
35
+ isVideoMuted: any;
36
+ name: any;
37
+ participant: any;
38
+ status: any;
39
+ type: any;
17
40
  namespace = MEETINGS;
18
41
 
19
42
  /**
@@ -26,8 +49,16 @@ export default class Member {
26
49
  * @returns {Member}
27
50
  * @memberof Member
28
51
  */
29
- constructor(participant, options = {}) {
30
- /**
52
+ constructor(
53
+ participant: object,
54
+ options: {
55
+ selfId: string;
56
+ hostId: string;
57
+ contentSharingId: string;
58
+ type: string;
59
+ } | any = {}
60
+ ) {
61
+ /**
31
62
  * The server participant object
32
63
  * @instance
33
64
  * @type {Object}
@@ -206,7 +237,7 @@ export default class Member {
206
237
  * @private
207
238
  * @memberof Member
208
239
  */
209
- processParticipant(participant) {
240
+ private processParticipant(participant: object) {
210
241
  this.participant = participant;
211
242
  if (participant) {
212
243
  this.id = MemberUtil.extractId(participant);
@@ -233,7 +264,7 @@ export default class Member {
233
264
  * @private
234
265
  * @memberof Member
235
266
  */
236
- processParticipantOptions(participant, options) {
267
+ private processParticipantOptions(participant: object, options: any) {
237
268
  if (participant && options) {
238
269
  this.processIsSelf(participant, options.selfId);
239
270
  this.processIsHost(participant, options.hostId);
@@ -249,7 +280,7 @@ export default class Member {
249
280
  * @private
250
281
  * @memberof Member
251
282
  */
252
- processMember() {
283
+ private processMember() {
253
284
  // must occur after self, guest, meeting, and type properties are calculated
254
285
  this.isRemovable = MemberUtil.isRemovable(this.isSelf, this.isGuest, this.isInMeeting, this.type);
255
286
  // must occur after self, device, meeting, mute status, and type properties are calculated
@@ -263,7 +294,7 @@ export default class Member {
263
294
  * @private
264
295
  * @memberof Member
265
296
  */
266
- processStatus(participant) {
297
+ private processStatus(participant: object) {
267
298
  this.status = MemberUtil.extractStatus(participant);
268
299
  switch (this.status) {
269
300
  case _IN_LOBBY_:
@@ -291,7 +322,7 @@ export default class Member {
291
322
  * @public
292
323
  * @memberof Member
293
324
  */
294
- setIsContentSharing(flag) {
325
+ public setIsContentSharing(flag: boolean) {
295
326
  this.isContentSharing = flag;
296
327
  }
297
328
 
@@ -302,7 +333,7 @@ export default class Member {
302
333
  * @public
303
334
  * @memberof Member
304
335
  */
305
- setIsHost(flag) {
336
+ public setIsHost(flag: boolean) {
306
337
  this.isHost = flag;
307
338
  }
308
339
 
@@ -313,7 +344,7 @@ export default class Member {
313
344
  * @public
314
345
  * @memberof Member
315
346
  */
316
- setIsSelf(flag) {
347
+ public setIsSelf(flag: boolean) {
317
348
  this.isSelf = flag;
318
349
  }
319
350
 
@@ -325,7 +356,7 @@ export default class Member {
325
356
  * @public
326
357
  * @memberof Member
327
358
  */
328
- processIsContentSharing(participant, sharingId) {
359
+ public processIsContentSharing(participant: object, sharingId: string) {
329
360
  if (MemberUtil.isUser(participant)) {
330
361
  this.isContentSharing = MemberUtil.isSame(participant, sharingId);
331
362
  }
@@ -342,7 +373,7 @@ export default class Member {
342
373
  * @public
343
374
  * @memberof Member
344
375
  */
345
- processIsRecording(participant, recordingId) {
376
+ public processIsRecording(participant: object, recordingId: string) {
346
377
  this.isRecording = MemberUtil.isSame(participant, recordingId);
347
378
  }
348
379
 
@@ -354,7 +385,7 @@ export default class Member {
354
385
  * @private
355
386
  * @memberof Member
356
387
  */
357
- processIsSelf(participant, selfId) {
388
+ private processIsSelf(participant: object, selfId: string) {
358
389
  if (MemberUtil.isUser(participant)) {
359
390
  this.isSelf = MemberUtil.isSame(participant, selfId);
360
391
  }
@@ -372,7 +403,7 @@ export default class Member {
372
403
  * @private
373
404
  * @memberof Member
374
405
  */
375
- processIsHost(participant, hostId) {
406
+ private processIsHost(participant: object, hostId: string) {
376
407
  if (MemberUtil.isUser(participant)) {
377
408
  this.isHost = MemberUtil.isSame(participant, hostId);
378
409
  }
@@ -388,7 +419,7 @@ export default class Member {
388
419
  * @private
389
420
  * @memberof Member
390
421
  */
391
- processType(type) {
422
+ private processType(type: string) {
392
423
  this.type = type;
393
424
  }
394
425
  }