@webex/plugin-meetings 2.60.1-next.7 → 2.60.1-next.8

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 (54) hide show
  1. package/README.md +12 -0
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +1 -1
  4. package/dist/constants.d.ts +12 -2
  5. package/dist/constants.js +15 -5
  6. package/dist/constants.js.map +1 -1
  7. package/dist/interpretation/index.js +1 -1
  8. package/dist/interpretation/siLanguage.js +1 -1
  9. package/dist/locus-info/index.d.ts +1 -1
  10. package/dist/locus-info/index.js +8 -8
  11. package/dist/locus-info/index.js.map +1 -1
  12. package/dist/meeting/index.d.ts +62 -18
  13. package/dist/meeting/index.js +679 -568
  14. package/dist/meeting/index.js.map +1 -1
  15. package/dist/meeting/request.js +25 -18
  16. package/dist/meeting/request.js.map +1 -1
  17. package/dist/meeting/util.d.ts +16 -0
  18. package/dist/meeting/util.js +71 -0
  19. package/dist/meeting/util.js.map +1 -1
  20. package/dist/meetings/index.d.ts +25 -3
  21. package/dist/meetings/index.js +83 -32
  22. package/dist/meetings/index.js.map +1 -1
  23. package/dist/reachability/index.js +11 -6
  24. package/dist/reachability/index.js.map +1 -1
  25. package/dist/reconnection-manager/index.js +3 -1
  26. package/dist/reconnection-manager/index.js.map +1 -1
  27. package/dist/roap/index.js +50 -54
  28. package/dist/roap/index.js.map +1 -1
  29. package/dist/statsAnalyzer/index.js +1 -1
  30. package/dist/statsAnalyzer/index.js.map +1 -1
  31. package/dist/statsAnalyzer/mqaUtil.js +13 -10
  32. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  33. package/dist/webinar/index.js +1 -1
  34. package/package.json +22 -22
  35. package/src/constants.ts +13 -2
  36. package/src/locus-info/index.ts +13 -12
  37. package/src/meeting/index.ts +215 -116
  38. package/src/meeting/request.ts +7 -0
  39. package/src/meeting/util.ts +97 -0
  40. package/src/meetings/index.ts +59 -18
  41. package/src/reachability/index.ts +7 -4
  42. package/src/reconnection-manager/index.ts +1 -1
  43. package/src/roap/index.ts +49 -51
  44. package/src/statsAnalyzer/index.ts +2 -2
  45. package/src/statsAnalyzer/mqaUtil.ts +15 -14
  46. package/test/unit/spec/locus-info/index.js +53 -5
  47. package/test/unit/spec/meeting/index.js +1792 -1139
  48. package/test/unit/spec/meeting/request.js +22 -12
  49. package/test/unit/spec/meeting/utils.js +93 -0
  50. package/test/unit/spec/meetings/index.js +180 -21
  51. package/test/unit/spec/reachability/index.ts +2 -1
  52. package/test/unit/spec/reconnection-manager/index.js +1 -0
  53. package/test/unit/spec/roap/index.ts +28 -42
  54. package/test/unit/spec/stats-analyzer/index.js +415 -30
@@ -81,6 +81,12 @@ export declare enum ScreenShareFloorStatus {
81
81
  GRANTED = "floor_request_granted",
82
82
  RELEASED = "floor_released"
83
83
  }
84
+ type FetchMeetingInfoParams = {
85
+ password?: string;
86
+ captchaCode?: string;
87
+ extraParams?: Record<string, any>;
88
+ sendCAevents?: boolean;
89
+ };
84
90
  /**
85
91
  * MediaDirection
86
92
  * @typedef {Object} MediaDirection
@@ -436,6 +442,8 @@ export default class Meeting extends StatelessWebexPlugin {
436
442
  environment: string;
437
443
  namespace: string;
438
444
  allowMediaInLobby: boolean;
445
+ localShareInstanceId: string;
446
+ remoteShareInstanceId: string;
439
447
  turnDiscoverySkippedReason: string;
440
448
  turnServerUsed: boolean;
441
449
  areVoiceaEventsSetup: boolean;
@@ -474,6 +482,34 @@ export default class Meeting extends StatelessWebexPlugin {
474
482
  * @param {string} correlationId
475
483
  */
476
484
  set correlationId(correlationId: string);
485
+ /**
486
+ * Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
487
+ * @param {any} info
488
+ * @param {string} [meetingLookupUrl] Lookup url, defined when the meeting info fetched
489
+ * @returns {void}
490
+ */
491
+ private setMeetingInfo;
492
+ /**
493
+ * Add pre-fetched meeting info
494
+ *
495
+ * The passed meeting info should be be complete, e.g.: fetched after password or captcha provided
496
+ *
497
+ * @param {Object} meetingInfo - Complete meeting info
498
+ * @param {FetchMeetingInfoParams} fetchParams - Fetch parameters for validation
499
+ * @param {String|undefined} meetingLookupUrl - Lookup url, defined when the meeting info fetched
500
+ * @returns {Promise<void>}
501
+ */
502
+ injectMeetingInfo(meetingInfo: any, fetchParams: FetchMeetingInfoParams, meetingLookupUrl: string | undefined): Promise<void>;
503
+ /**
504
+ * Validate fetch parameters and clear the fetchMeetingInfoTimeout timeout
505
+ *
506
+ * @param {FetchMeetingInfoParams} fetchParams - fetch parameters for validation
507
+ * @param {String} caller - Name of the caller for logging
508
+ *
509
+ * @returns {Promise<void>}
510
+ * @private
511
+ */
512
+ private prepForFetchMeetingInfo;
477
513
  /**
478
514
  * Internal method for fetching meeting info
479
515
  *
@@ -497,12 +533,7 @@ export default class Meeting extends StatelessWebexPlugin {
497
533
  * @memberof Meeting
498
534
  * @returns {Promise}
499
535
  */
500
- fetchMeetingInfo({ password, captchaCode, extraParams, sendCAevents, }: {
501
- password?: string;
502
- captchaCode?: string;
503
- extraParams?: Record<string, any>;
504
- sendCAevents?: boolean;
505
- }): Promise<void>;
536
+ fetchMeetingInfo(options: FetchMeetingInfoParams): Promise<void>;
506
537
  /**
507
538
  * Checks if the supplied password/host key is correct. It returns a promise with information whether the
508
539
  * password and captcha code were correct or not.
@@ -807,24 +838,36 @@ export default class Meeting extends StatelessWebexPlugin {
807
838
  /**
808
839
  * Sets the meeting info on the class instance
809
840
  * @param {Object} meetingInfo
810
- * @param {Object} meetingInfo.body
811
- * @param {String} meetingInfo.body.conversationUrl
812
- * @param {String} meetingInfo.body.locusUrl
813
- * @param {String} meetingInfo.body.sipUri
814
- * @param {Object} meetingInfo.body.owner
841
+ * @param {String} meetingInfo.conversationUrl
842
+ * @param {String} meetingInfo.locusUrl
843
+ * @param {String} meetingInfo.sipUri
844
+ * @param {String} [meetingInfo.sipUrl]
845
+ * @param {String} [meetingInfo.sipMeetingUri]
846
+ * @param {String} [meetingInfo.meetingNumber]
847
+ * @param {String} [meetingInfo.meetingJoinUrl]
848
+ * @param {String} [meetingInfo.hostId]
849
+ * @param {String} [meetingInfo.permissionToken]
850
+ * @param {String} [meetingInfo.channel]
851
+ * @param {Object} meetingInfo.owner
815
852
  * @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
853
+ * @param {Object | String} errors Meeting info request error
816
854
  * @returns {undefined}
817
855
  * @private
818
856
  * @memberof Meeting
819
857
  */
820
858
  parseMeetingInfo(meetingInfo: {
821
- body: {
822
- conversationUrl: string;
823
- locusUrl: string;
824
- sipUri: string;
825
- owner: object;
826
- };
827
- } | any, destination?: object | string | null): void;
859
+ conversationUrl: string;
860
+ locusUrl: string;
861
+ sipUri: string;
862
+ owner: object;
863
+ sipUrl?: string;
864
+ sipMeetingUri?: string;
865
+ meetingNumber?: string;
866
+ meetingJoinUrl?: string;
867
+ hostId?: string;
868
+ permissionToken?: string;
869
+ channel?: string;
870
+ }, destination?: object | string | null, errors?: any): void;
828
871
  /**
829
872
  * Indicates whether policy can be applied
830
873
  * @returns {boolean}
@@ -1761,3 +1804,4 @@ export default class Meeting extends StatelessWebexPlugin {
1761
1804
  */
1762
1805
  checkAndRefreshPermissionToken(threshold: number, reason: string): Promise<void>;
1763
1806
  }
1807
+ export {};