@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
package/README.md CHANGED
@@ -98,6 +98,8 @@ return webex.meetings.create(locusObj, 'LOCUS_ID').then((meeting) ==> {...});
98
98
 
99
99
  We want to sync our meetings collection with the server.
100
100
 
101
+ To keep only Locus meetings with an locus url that is still active:
102
+
101
103
  ```js
102
104
  let existingMeetings;
103
105
  // Sync Meetings From Server
@@ -107,6 +109,16 @@ webex.meetings.syncMeetings().then(() => {
107
109
  });
108
110
  ```
109
111
 
112
+ Or, to keep meetings with an locus url that is still active and any meeting without a locus url:
113
+ ```js
114
+ let existingMeetings;
115
+ // Sync Meetings From Server
116
+ webex.meetings.syncMeetings({keepOnlyLocusMeetings: false}).then(() => {
117
+ // Existing meetings live in the meeting collection
118
+ existingMeetings = webex.meetings.getAllMeetings();
119
+ });
120
+ ```
121
+
110
122
  ##### Get a Meeting
111
123
 
112
124
  ```js
@@ -209,7 +209,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
209
209
  sessionId: this.sessionId
210
210
  });
211
211
  },
212
- version: "2.60.1-next.7"
212
+ version: "2.60.1-next.8"
213
213
  });
214
214
  var _default = exports.default = Breakout;
215
215
  //# sourceMappingURL=breakout.js.map
@@ -1041,7 +1041,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1041
1041
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1042
1042
  }
1043
1043
  },
1044
- version: "2.60.1-next.7"
1044
+ version: "2.60.1-next.8"
1045
1045
  });
1046
1046
  var _default = exports.default = Breakouts;
1047
1047
  //# sourceMappingURL=index.js.map
@@ -446,6 +446,8 @@ export declare const LOCUS: {
446
446
  INACTIVE: string;
447
447
  ENDED: string;
448
448
  INITIALIZING: string;
449
+ ACTIVE: string;
450
+ TERMINATING: string;
449
451
  };
450
452
  SEQUENCE: {
451
453
  UN_DEF: string;
@@ -526,7 +528,6 @@ export declare const LOCUSINFO: {
526
528
  CONTROLS_MEETING_CONTAINER_UPDATED: string;
527
529
  CONTROLS_MEETING_INTERPRETATION_UPDATED: string;
528
530
  CONTROLS_ENTRY_EXIT_TONE_UPDATED: string;
529
- CONTROLS_JOIN_BREAKOUT_FROM_MAIN: string;
530
531
  CONTROLS_MUTE_ON_ENTRY_CHANGED: string;
531
532
  CONTROLS_SHARE_CONTROL_CHANGED: string;
532
533
  CONTROLS_DISALLOW_UNMUTE_CHANGED: string;
@@ -1022,7 +1023,7 @@ export declare const AVAILABLE_RESOLUTIONS: {
1022
1023
  };
1023
1024
  };
1024
1025
  };
1025
- export declare const MQA_INTEVAL = 60000;
1026
+ export declare const MQA_INTERVAL = 60000;
1026
1027
  export declare const MEDIA_DEVICES: {
1027
1028
  MICROPHONE: string;
1028
1029
  SPEAKER: string;
@@ -1070,6 +1071,15 @@ export declare const IP_VERSION: {
1070
1071
  readonly only_ipv6: 6;
1071
1072
  readonly ipv4_and_ipv6: 1;
1072
1073
  };
1074
+ export declare const LOCAL_SHARE_ERRORS: {
1075
+ DEVICE_NOT_JOINED: string;
1076
+ UNDEFINED: string;
1077
+ NO_MEDIA_FOR_DEVICE: string;
1078
+ NO_CONFLUENCE_ID: string;
1079
+ CONTENT_SHARING_DISABLED: string;
1080
+ LOCUS_PARTICIPANT_DNE: string;
1081
+ CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD: string;
1082
+ };
1073
1083
  export type IP_VERSION = Enum<typeof IP_VERSION>;
1074
1084
  export declare const MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
1075
1085
  export declare const MEETING_PERMISSION_TOKEN_REFRESH_REASON = "ttl-join";
package/dist/constants.js CHANGED
@@ -4,8 +4,8 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
4
4
  _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.OFFLINE = exports.NETWORK_TYPE = exports.NETWORK_STATUS = exports.MediaContent = exports.MQA_STATS = exports.MQA_INTEVAL = exports.MODERATOR_TRUE = exports.MODERATOR_FALSE = exports.MEET_M = exports.MEET_CO = exports.MEET_CISCO = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = exports.MEETING_PERMISSION_TOKEN_REFRESH_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGNUMBER = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.LOCUS_URL = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.LANGUAGE_ENGLISH = exports.JOIN = exports.IP_VERSION = exports.IPV4_REGEX = exports.INTERSTITIAL_DISPLAY_HINTS = exports.INTERPRETATION = exports.INTENT_TO_JOIN = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.ICE_AND_DTLS_CONNECTION_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.EMBEDDED_APP_TYPES = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DEFAULT_MEETING_INFO_REQUEST_BODY = exports.DEFAULT_GET_STATS_FILTER = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BREAKOUTS = exports.BNR_STATUS = exports.AVAILABLE_RESOLUTIONS = exports.AUDIO_STATUS = exports.AUDIO = exports.ASSIGN_ROLES_ERROR_CODES = exports.API = exports.ANSWER = exports.ANNOTATION = exports.ALTERNATE_REDIRECT_TRUE = exports.ALIAS = exports.ALERT = void 0;
8
- exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MOVED_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.SELF_POLICY = exports.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.RECORDING_STATE = exports.RECONNECTION = exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = void 0;
7
+ exports.NETWORK_TYPE = exports.NETWORK_STATUS = exports.MediaContent = exports.MQA_STATS = exports.MQA_INTERVAL = exports.MODERATOR_TRUE = exports.MODERATOR_FALSE = exports.MEET_M = exports.MEET_CO = exports.MEET_CISCO = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = exports.MEETING_PERMISSION_TOKEN_REFRESH_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGNUMBER = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.LOCUS_URL = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL_SHARE_ERRORS = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.LANGUAGE_ENGLISH = exports.JOIN = exports.IP_VERSION = exports.IPV4_REGEX = exports.INTERSTITIAL_DISPLAY_HINTS = exports.INTERPRETATION = exports.INTENT_TO_JOIN = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.ICE_AND_DTLS_CONNECTION_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.EMBEDDED_APP_TYPES = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DEFAULT_MEETING_INFO_REQUEST_BODY = exports.DEFAULT_GET_STATS_FILTER = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BREAKOUTS = exports.BNR_STATUS = exports.AVAILABLE_RESOLUTIONS = exports.AUDIO_STATUS = exports.AUDIO = exports.ASSIGN_ROLES_ERROR_CODES = exports.API = exports.ANSWER = exports.ANNOTATION = exports.ALTERNATE_REDIRECT_TRUE = exports.ALIAS = exports.ALERT = void 0;
8
+ exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MOVED_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STATS = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.SELF_POLICY = exports.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.RECORDING_STATE = exports.RECONNECTION = exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = exports.OFFLINE = void 0;
9
9
  var _common = require("@webex/common");
10
10
  // @ts-ignore
11
11
 
@@ -520,7 +520,9 @@ var LOCUS = exports.LOCUS = {
520
520
  STATE: {
521
521
  INACTIVE: 'INACTIVE',
522
522
  ENDED: 'ENDED',
523
- INITIALIZING: 'INITIALIZING'
523
+ INITIALIZING: 'INITIALIZING',
524
+ ACTIVE: 'ACTIVE',
525
+ TERMINATING: 'TERMINATING'
524
526
  },
525
527
  SEQUENCE: {
526
528
  UN_DEF: 'undef',
@@ -601,7 +603,6 @@ var LOCUSINFO = exports.LOCUSINFO = {
601
603
  CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
602
604
  CONTROLS_MEETING_INTERPRETATION_UPDATED: 'CONTROLS_MEETING_INTERPRETATION_UPDATED',
603
605
  CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
604
- CONTROLS_JOIN_BREAKOUT_FROM_MAIN: 'CONTROLS_JOIN_BREAKOUT_FROM_MAIN',
605
606
  CONTROLS_MUTE_ON_ENTRY_CHANGED: 'CONTROLS_MUTE_ON_ENTRY_CHANGED',
606
607
  CONTROLS_SHARE_CONTROL_CHANGED: 'CONTROLS_SHARE_CONTROL_CHANGED',
607
608
  CONTROLS_DISALLOW_UNMUTE_CHANGED: 'CONTROLS_DISALLOW_UNMUTE_CHANGED',
@@ -1152,7 +1153,7 @@ var AVAILABLE_RESOLUTIONS = exports.AVAILABLE_RESOLUTIONS = {
1152
1153
  * mqa Interval for sending stats metrics
1153
1154
  */
1154
1155
 
1155
- var MQA_INTEVAL = exports.MQA_INTEVAL = 60000; // mqa analyzer interval its fixed to 60000
1156
+ var MQA_INTERVAL = exports.MQA_INTERVAL = 60000; // mqa analyzer interval its fixed to 60000
1156
1157
 
1157
1158
  var MEDIA_DEVICES = exports.MEDIA_DEVICES = {
1158
1159
  MICROPHONE: 'microphone',
@@ -1219,6 +1220,15 @@ var IP_VERSION = exports.IP_VERSION = {
1219
1220
  // we know we have ipv6, we don't know or we don't have ipv4
1220
1221
  ipv4_and_ipv6: 1
1221
1222
  };
1223
+ var LOCAL_SHARE_ERRORS = exports.LOCAL_SHARE_ERRORS = {
1224
+ DEVICE_NOT_JOINED: 'Floor requested but device not yet joined',
1225
+ UNDEFINED: 'undefined PUT',
1226
+ NO_MEDIA_FOR_DEVICE: 'No media session found for device',
1227
+ NO_CONFLUENCE_ID: 'Failed to request floor: 404 (null) could not find confluence id',
1228
+ CONTENT_SHARING_DISABLED: 'Content share policies are disabled',
1229
+ LOCUS_PARTICIPANT_DNE: 'does not exist in Locus',
1230
+ CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD: 'Content share request is not allowed while whiteboard floor request is pending'
1231
+ };
1222
1232
  // constant for if the permissionToken is about to expire in the next 30 seconds, refresh it
1223
1233
  var MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = exports.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
1224
1234
  var MEETING_PERMISSION_TOKEN_REFRESH_REASON = exports.MEETING_PERMISSION_TOKEN_REFRESH_REASON = 'ttl-join';