@webex/plugin-meetings 3.6.0 → 3.7.0

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 (277) hide show
  1. package/README.md +2 -1
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +1 -1
  4. package/dist/common/errors/webinar-registration-error.js +50 -0
  5. package/dist/common/errors/webinar-registration-error.js.map +1 -0
  6. package/dist/config.js +3 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/constants.js +31 -2
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controls-options-manager/enums.js +1 -0
  11. package/dist/controls-options-manager/enums.js.map +1 -1
  12. package/dist/controls-options-manager/index.js +10 -3
  13. package/dist/controls-options-manager/index.js.map +1 -1
  14. package/dist/controls-options-manager/types.js.map +1 -1
  15. package/dist/controls-options-manager/util.js +12 -0
  16. package/dist/controls-options-manager/util.js.map +1 -1
  17. package/dist/index.js +7 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/interpretation/index.js +1 -1
  20. package/dist/interpretation/siLanguage.js +1 -1
  21. package/dist/locus-info/controlsUtils.js +28 -4
  22. package/dist/locus-info/controlsUtils.js.map +1 -1
  23. package/dist/locus-info/fullState.js +2 -1
  24. package/dist/locus-info/fullState.js.map +1 -1
  25. package/dist/locus-info/index.js +61 -3
  26. package/dist/locus-info/index.js.map +1 -1
  27. package/dist/locus-info/parser.js +5 -1
  28. package/dist/locus-info/parser.js.map +1 -1
  29. package/dist/meeting/in-meeting-actions.js +19 -1
  30. package/dist/meeting/in-meeting-actions.js.map +1 -1
  31. package/dist/meeting/index.js +664 -490
  32. package/dist/meeting/index.js.map +1 -1
  33. package/dist/meeting/muteState.js +5 -2
  34. package/dist/meeting/muteState.js.map +1 -1
  35. package/dist/meeting/util.js +3 -2
  36. package/dist/meeting/util.js.map +1 -1
  37. package/dist/meeting-info/meeting-info-v2.js +68 -17
  38. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  39. package/dist/meetings/index.js +25 -1
  40. package/dist/meetings/index.js.map +1 -1
  41. package/dist/members/index.js +3 -2
  42. package/dist/members/index.js.map +1 -1
  43. package/dist/members/util.js +9 -5
  44. package/dist/members/util.js.map +1 -1
  45. package/dist/metrics/constants.js +2 -1
  46. package/dist/metrics/constants.js.map +1 -1
  47. package/dist/multistream/remoteMedia.js +4 -0
  48. package/dist/multistream/remoteMedia.js.map +1 -1
  49. package/dist/networkQualityMonitor/index.js +19 -13
  50. package/dist/networkQualityMonitor/index.js.map +1 -1
  51. package/dist/reachability/index.js +3 -3
  52. package/dist/reachability/index.js.map +1 -1
  53. package/dist/reachability/request.js +2 -1
  54. package/dist/reachability/request.js.map +1 -1
  55. package/dist/roap/request.js +1 -1
  56. package/dist/roap/request.js.map +1 -1
  57. package/dist/{common/errors/parameter.d.ts → types/common/errors/webinar-registration-error.d.ts} +4 -5
  58. package/dist/types/config.d.ts +2 -0
  59. package/dist/types/constants.d.ts +25 -0
  60. package/dist/types/controls-options-manager/enums.d.ts +2 -1
  61. package/dist/types/controls-options-manager/index.d.ts +2 -1
  62. package/dist/types/controls-options-manager/types.d.ts +2 -0
  63. package/dist/types/index.d.ts +2 -1
  64. package/dist/types/locus-info/index.d.ts +9 -0
  65. package/dist/types/meeting/in-meeting-actions.d.ts +18 -0
  66. package/dist/types/meeting/index.d.ts +12 -1
  67. package/dist/types/meeting/muteState.d.ts +2 -1
  68. package/dist/types/meeting-info/meeting-info-v2.d.ts +23 -0
  69. package/dist/types/meetings/index.d.ts +9 -0
  70. package/dist/types/members/index.d.ts +2 -1
  71. package/dist/types/members/util.d.ts +3 -1
  72. package/dist/types/metrics/constants.d.ts +1 -0
  73. package/dist/types/multistream/remoteMedia.d.ts +1 -0
  74. package/dist/webinar/index.js +32 -19
  75. package/dist/webinar/index.js.map +1 -1
  76. package/package.json +22 -22
  77. package/src/common/errors/webinar-registration-error.ts +27 -0
  78. package/src/config.ts +2 -0
  79. package/src/constants.ts +31 -0
  80. package/src/controls-options-manager/enums.ts +1 -0
  81. package/src/controls-options-manager/index.ts +19 -2
  82. package/src/controls-options-manager/types.ts +2 -0
  83. package/src/controls-options-manager/util.ts +12 -0
  84. package/src/index.ts +2 -0
  85. package/src/locus-info/controlsUtils.ts +46 -2
  86. package/src/locus-info/fullState.ts +1 -0
  87. package/src/locus-info/index.ts +60 -0
  88. package/src/locus-info/parser.ts +8 -1
  89. package/src/meeting/in-meeting-actions.ts +37 -0
  90. package/src/meeting/index.ts +154 -20
  91. package/src/meeting/muteState.ts +6 -2
  92. package/src/meeting/util.ts +6 -2
  93. package/src/meeting-info/meeting-info-v2.ts +51 -0
  94. package/src/meetings/index.ts +68 -40
  95. package/src/members/index.ts +4 -2
  96. package/src/members/util.ts +3 -1
  97. package/src/metrics/constants.ts +1 -0
  98. package/src/multistream/remoteMedia.ts +5 -0
  99. package/src/reachability/index.ts +3 -3
  100. package/src/reachability/request.ts +1 -0
  101. package/src/roap/request.ts +3 -1
  102. package/src/webinar/index.ts +31 -17
  103. package/test/unit/spec/controls-options-manager/index.js +56 -32
  104. package/test/unit/spec/controls-options-manager/util.js +44 -0
  105. package/test/unit/spec/locus-info/controlsUtils.js +80 -4
  106. package/test/unit/spec/locus-info/index.js +88 -2
  107. package/test/unit/spec/meeting/in-meeting-actions.ts +18 -0
  108. package/test/unit/spec/meeting/index.js +263 -64
  109. package/test/unit/spec/meeting/muteState.js +8 -4
  110. package/test/unit/spec/meeting/utils.js +16 -1
  111. package/test/unit/spec/meeting-info/meetinginfov2.js +37 -0
  112. package/test/unit/spec/meetings/index.js +32 -1
  113. package/test/unit/spec/members/index.js +25 -2
  114. package/test/unit/spec/members/request.js +37 -3
  115. package/test/unit/spec/members/utils.js +15 -1
  116. package/test/unit/spec/multistream/remoteMedia.ts +16 -2
  117. package/test/unit/spec/reachability/index.ts +1 -1
  118. package/test/unit/spec/reachability/request.js +13 -8
  119. package/test/unit/spec/webinar/index.ts +82 -16
  120. package/dist/annotation/annotation.types.d.ts +0 -42
  121. package/dist/annotation/constants.d.ts +0 -31
  122. package/dist/annotation/index.d.ts +0 -117
  123. package/dist/breakouts/breakout.d.ts +0 -8
  124. package/dist/breakouts/collection.d.ts +0 -5
  125. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  126. package/dist/breakouts/events.d.ts +0 -8
  127. package/dist/breakouts/index.d.ts +0 -5
  128. package/dist/breakouts/request.d.ts +0 -22
  129. package/dist/breakouts/utils.d.ts +0 -15
  130. package/dist/common/browser-detection.d.ts +0 -9
  131. package/dist/common/collection.d.ts +0 -48
  132. package/dist/common/config.d.ts +0 -2
  133. package/dist/common/errors/captcha-error.d.ts +0 -15
  134. package/dist/common/errors/intent-to-join.d.ts +0 -16
  135. package/dist/common/errors/join-meeting.d.ts +0 -17
  136. package/dist/common/errors/media.d.ts +0 -15
  137. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  138. package/dist/common/errors/password-error.d.ts +0 -15
  139. package/dist/common/errors/permission.d.ts +0 -14
  140. package/dist/common/errors/reclaim-host-role-error.js +0 -149
  141. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  142. package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
  143. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  144. package/dist/common/errors/reconnection-in-progress.js +0 -33
  145. package/dist/common/errors/reconnection-in-progress.js.map +0 -1
  146. package/dist/common/errors/reconnection.d.ts +0 -15
  147. package/dist/common/errors/stats.d.ts +0 -15
  148. package/dist/common/errors/webex-errors.d.ts +0 -93
  149. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  150. package/dist/common/events/events-scope.d.ts +0 -17
  151. package/dist/common/events/events.d.ts +0 -12
  152. package/dist/common/events/trigger-proxy.d.ts +0 -2
  153. package/dist/common/events/util.d.ts +0 -2
  154. package/dist/common/logs/logger-config.d.ts +0 -2
  155. package/dist/common/logs/logger-proxy.d.ts +0 -2
  156. package/dist/common/logs/request.d.ts +0 -36
  157. package/dist/common/queue.d.ts +0 -34
  158. package/dist/config.d.ts +0 -72
  159. package/dist/constants.d.ts +0 -1088
  160. package/dist/controls-options-manager/constants.d.ts +0 -4
  161. package/dist/controls-options-manager/enums.d.ts +0 -15
  162. package/dist/controls-options-manager/index.d.ts +0 -136
  163. package/dist/controls-options-manager/types.d.ts +0 -43
  164. package/dist/controls-options-manager/util.d.ts +0 -1
  165. package/dist/index.d.ts +0 -7
  166. package/dist/interceptors/index.d.ts +0 -2
  167. package/dist/interceptors/locusRetry.d.ts +0 -27
  168. package/dist/interpretation/collection.d.ts +0 -5
  169. package/dist/interpretation/index.d.ts +0 -5
  170. package/dist/interpretation/siLanguage.d.ts +0 -5
  171. package/dist/locus-info/controlsUtils.d.ts +0 -2
  172. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  173. package/dist/locus-info/fullState.d.ts +0 -2
  174. package/dist/locus-info/hostUtils.d.ts +0 -2
  175. package/dist/locus-info/index.d.ts +0 -322
  176. package/dist/locus-info/infoUtils.d.ts +0 -2
  177. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  178. package/dist/locus-info/parser.d.ts +0 -272
  179. package/dist/locus-info/selfUtils.d.ts +0 -2
  180. package/dist/media/index.d.ts +0 -34
  181. package/dist/media/properties.d.ts +0 -93
  182. package/dist/media/util.d.ts +0 -2
  183. package/dist/mediaQualityMetrics/config.d.ts +0 -241
  184. package/dist/mediaQualityMetrics/config.js +0 -502
  185. package/dist/mediaQualityMetrics/config.js.map +0 -1
  186. package/dist/meeting/effectsState.js +0 -260
  187. package/dist/meeting/effectsState.js.map +0 -1
  188. package/dist/meeting/in-meeting-actions.d.ts +0 -167
  189. package/dist/meeting/index.d.ts +0 -1825
  190. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  191. package/dist/meeting/muteState.d.ts +0 -178
  192. package/dist/meeting/request.d.ts +0 -295
  193. package/dist/meeting/request.type.d.ts +0 -11
  194. package/dist/meeting/state.d.ts +0 -9
  195. package/dist/meeting/util.d.ts +0 -119
  196. package/dist/meeting/voicea-meeting.d.ts +0 -16
  197. package/dist/meeting-info/collection.d.ts +0 -20
  198. package/dist/meeting-info/index.d.ts +0 -69
  199. package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
  200. package/dist/meeting-info/request.d.ts +0 -22
  201. package/dist/meeting-info/util.d.ts +0 -2
  202. package/dist/meeting-info/utilv2.d.ts +0 -2
  203. package/dist/meetings/collection.d.ts +0 -40
  204. package/dist/meetings/index.d.ts +0 -390
  205. package/dist/meetings/meetings.types.d.ts +0 -4
  206. package/dist/meetings/request.d.ts +0 -27
  207. package/dist/meetings/util.d.ts +0 -18
  208. package/dist/member/index.d.ts +0 -160
  209. package/dist/member/member.types.js +0 -17
  210. package/dist/member/member.types.js.map +0 -1
  211. package/dist/member/types.d.ts +0 -32
  212. package/dist/member/util.d.ts +0 -2
  213. package/dist/members/collection.d.ts +0 -29
  214. package/dist/members/index.d.ts +0 -353
  215. package/dist/members/request.d.ts +0 -114
  216. package/dist/members/types.d.ts +0 -25
  217. package/dist/members/util.d.ts +0 -215
  218. package/dist/metrics/config.js +0 -276
  219. package/dist/metrics/config.js.map +0 -1
  220. package/dist/metrics/constants.d.ts +0 -70
  221. package/dist/metrics/index.d.ts +0 -45
  222. package/dist/multistream/mediaRequestManager.d.ts +0 -119
  223. package/dist/multistream/receiveSlot.d.ts +0 -68
  224. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  225. package/dist/multistream/remoteMedia.d.ts +0 -72
  226. package/dist/multistream/remoteMediaGroup.d.ts +0 -49
  227. package/dist/multistream/remoteMediaManager.d.ts +0 -300
  228. package/dist/multistream/sendSlotManager.d.ts +0 -69
  229. package/dist/networkQualityMonitor/index.d.ts +0 -70
  230. package/dist/peer-connection-manager/index.js +0 -671
  231. package/dist/peer-connection-manager/index.js.map +0 -1
  232. package/dist/peer-connection-manager/util.js +0 -109
  233. package/dist/peer-connection-manager/util.js.map +0 -1
  234. package/dist/personal-meeting-room/index.d.ts +0 -47
  235. package/dist/personal-meeting-room/request.d.ts +0 -14
  236. package/dist/personal-meeting-room/util.d.ts +0 -2
  237. package/dist/reachability/clusterReachability.d.ts +0 -109
  238. package/dist/reachability/index.d.ts +0 -105
  239. package/dist/reachability/request.d.ts +0 -39
  240. package/dist/reachability/util.d.ts +0 -8
  241. package/dist/reactions/constants.d.ts +0 -3
  242. package/dist/reactions/reactions.d.ts +0 -4
  243. package/dist/reactions/reactions.type.d.ts +0 -52
  244. package/dist/reconnection-manager/index.d.ts +0 -136
  245. package/dist/recording-controller/enums.d.ts +0 -7
  246. package/dist/recording-controller/index.d.ts +0 -207
  247. package/dist/recording-controller/util.d.ts +0 -14
  248. package/dist/roap/collection.js +0 -62
  249. package/dist/roap/collection.js.map +0 -1
  250. package/dist/roap/handler.js +0 -275
  251. package/dist/roap/handler.js.map +0 -1
  252. package/dist/roap/index.d.ts +0 -86
  253. package/dist/roap/request.d.ts +0 -39
  254. package/dist/roap/state.js +0 -126
  255. package/dist/roap/state.js.map +0 -1
  256. package/dist/roap/turnDiscovery.d.ts +0 -155
  257. package/dist/roap/util.js +0 -75
  258. package/dist/roap/util.js.map +0 -1
  259. package/dist/rtcMetrics/constants.d.ts +0 -4
  260. package/dist/rtcMetrics/index.d.ts +0 -61
  261. package/dist/statsAnalyzer/global.d.ts +0 -36
  262. package/dist/statsAnalyzer/global.js +0 -126
  263. package/dist/statsAnalyzer/global.js.map +0 -1
  264. package/dist/statsAnalyzer/index.d.ts +0 -217
  265. package/dist/statsAnalyzer/index.js +0 -1013
  266. package/dist/statsAnalyzer/index.js.map +0 -1
  267. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
  268. package/dist/statsAnalyzer/mqaUtil.js +0 -179
  269. package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
  270. package/dist/transcription/index.d.ts +0 -64
  271. package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
  272. package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
  273. package/dist/types/statsAnalyzer/global.d.ts +0 -36
  274. package/dist/types/statsAnalyzer/index.d.ts +0 -217
  275. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
  276. package/dist/webinar/collection.d.ts +0 -16
  277. package/dist/webinar/index.d.ts +0 -5
@@ -264,6 +264,10 @@ export declare const EVENT_TRIGGERS: {
264
264
  MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED: string;
265
265
  MEETING_CONTROLS_RAISE_HAND_UPDATED: string;
266
266
  MEETING_CONTROLS_VIDEO_UPDATED: string;
267
+ MEETING_CONTROLS_STAGE_VIEW_UPDATED: string;
268
+ MEETING_CONTROLS_WEBCAST_UPDATED: string;
269
+ MEETING_CONTROLS_MEETING_FULL_UPDATED: string;
270
+ MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED: string;
267
271
  MEETING_LOCUS_URL_UPDATE: string;
268
272
  MEETING_STREAM_PUBLISH_STATE_CHANGED: string;
269
273
  MEETING_TRANSCRIPTION_CONNECTED: string;
@@ -406,6 +410,11 @@ export declare const ERROR_DICTIONARY: {
406
410
  MESSAGE: string;
407
411
  CODE: number;
408
412
  };
413
+ WebinarRegistrationError: {
414
+ NAME: string;
415
+ MESSAGE: string;
416
+ CODE: number;
417
+ };
409
418
  };
410
419
  export declare const FLOOR_ACTION: {
411
420
  GRANTED: string;
@@ -541,7 +550,11 @@ export declare const LOCUSINFO: {
541
550
  CONTROLS_REACTIONS_CHANGED: string;
542
551
  CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED: string;
543
552
  CONTROLS_RAISE_HAND_CHANGED: string;
553
+ CONTROLS_WEBCAST_CHANGED: string;
554
+ CONTROLS_MEETING_FULL_CHANGED: string;
555
+ CONTROLS_PRACTICE_SESSION_STATUS_UPDATED: string;
544
556
  CONTROLS_VIDEO_CHANGED: string;
557
+ CONTROLS_STAGE_VIEW_UPDATED: string;
545
558
  SELF_UNADMITTED_GUEST: string;
546
559
  SELF_ADMITTED_GUEST: string;
547
560
  SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: string;
@@ -567,6 +580,7 @@ export declare const LOCUSINFO: {
567
580
  SELF_MEETING_INTERPRETATION_CHANGED: string;
568
581
  MEDIA_INACTIVITY: string;
569
582
  LINKS_SERVICES: string;
583
+ LINKS_RESOURCES: string;
570
584
  };
571
585
  };
572
586
  export declare const LOCUSEVENT: {
@@ -770,6 +784,10 @@ export declare const DISPLAY_HINTS: {
770
784
  DISABLE_LOBBY_TO_BREAKOUT: string;
771
785
  DISABLE_VIEW_THE_PARTICIPANT_LIST: string;
772
786
  ENABLE_VIEW_THE_PARTICIPANT_LIST: string;
787
+ DISABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST: string;
788
+ ENABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST: string;
789
+ DISABLE_SHOW_ATTENDEE_COUNT: string;
790
+ ENABLE_SHOW_ATTENDEE_COUNT: string;
773
791
  DISABLE_RAISE_HAND: string;
774
792
  ENABLE_RAISE_HAND: string;
775
793
  DISABLE_VIDEO: string;
@@ -781,6 +799,12 @@ export declare const DISPLAY_HINTS: {
781
799
  SHARE_CONTENT: string;
782
800
  SHARE_WHITEBOARD: string;
783
801
  VOIP_IS_ENABLED: string;
802
+ WEBCAST_CONTROL_START: string;
803
+ WEBCAST_CONTROL_STOP: string;
804
+ STAGE_VIEW_ACTIVE: string;
805
+ STAGE_VIEW_INACTIVE: string;
806
+ ENABLE_STAGE_VIEW: string;
807
+ DISABLE_STAGE_VIEW: string;
784
808
  };
785
809
  export declare const INTERSTITIAL_DISPLAY_HINTS: string[];
786
810
  export declare const SELF_ROLES: {
@@ -1058,6 +1082,7 @@ export declare const MEETING_INFO_FAILURE_REASON: {
1058
1082
  WRONG_PASSWORD: string;
1059
1083
  WRONG_CAPTCHA: string;
1060
1084
  POLICY: string;
1085
+ WEBINAR_REGISTRATION: string;
1061
1086
  OTHER: string;
1062
1087
  };
1063
1088
  export declare const BNR_STATUS: {
@@ -1,7 +1,8 @@
1
1
  declare enum Setting {
2
2
  disallowUnmute = "DisallowUnmute",
3
3
  muteOnEntry = "MuteOnEntry",
4
- muted = "Muted"
4
+ muted = "Muted",
5
+ roles = "Roles"
5
6
  }
6
7
  declare enum Control {
7
8
  audio = "audio",
@@ -129,8 +129,9 @@ export default class ControlsOptionsManager {
129
129
  * @param {boolean} mutedEnabled
130
130
  * @param {boolean} disallowUnmuteEnabled
131
131
  * @param {boolean} muteOnEntryEnabled
132
+ * @param {array} roles which should be muted
132
133
  * @memberof ControlsOptionsManager
133
134
  * @returns {Promise}
134
135
  */
135
- setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean): Promise<any>;
136
+ setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean, roles: Array<string>): Promise<any>;
136
137
  }
@@ -29,6 +29,8 @@ export interface VideoProperties {
29
29
  }
30
30
  export interface ViewTheParticipantListProperties {
31
31
  enabled?: boolean;
32
+ panelistEnabled?: boolean;
33
+ attendeeCount?: boolean;
32
34
  }
33
35
  export type Properties = AudioProperties | RaiseHandProperties | ReactionsProperties | ShareControlProperties | VideoProperties | ViewTheParticipantListProperties;
34
36
  export interface ControlConfig<Props = Properties> {
@@ -3,6 +3,7 @@ import CaptchaError from './common/errors/captcha-error';
3
3
  import IntentToJoinError from './common/errors/intent-to-join';
4
4
  import PasswordError from './common/errors/password-error';
5
5
  import PermissionError from './common/errors/permission';
6
+ import WebinarRegistrationError from './common/errors/webinar-registration-error';
6
7
  import { ReclaimHostEmptyWrongKeyError, ReclaimHostIsHostAlreadyError, ReclaimHostNotAllowedError, ReclaimHostNotSupportedError } from './common/errors/reclaim-host-role-errors';
7
8
  import Meeting from './meeting';
8
9
  import MeetingInfoUtil from './meeting-info/utilv2';
@@ -14,6 +15,6 @@ export * as REACTIONS from './reactions/reactions';
14
15
  export * as sdkAnnotationTypes from './annotation/annotation.types';
15
16
  export * as MeetingInfoV2 from './meeting-info/meeting-info-v2';
16
17
  export { type Reaction } from './reactions/reactions.type';
17
- export { CaptchaError, IntentToJoinError, JoinMeetingError, PasswordError, PermissionError, ReclaimHostIsHostAlreadyError, ReclaimHostNotAllowedError, ReclaimHostNotSupportedError, ReclaimHostEmptyWrongKeyError, Meeting, MeetingInfoUtil, };
18
+ export { CaptchaError, IntentToJoinError, JoinMeetingError, PasswordError, PermissionError, ReclaimHostIsHostAlreadyError, ReclaimHostNotAllowedError, ReclaimHostNotSupportedError, ReclaimHostEmptyWrongKeyError, Meeting, MeetingInfoUtil, WebinarRegistrationError, };
18
19
  export { RemoteMedia } from './multistream/remoteMedia';
19
20
  export { default as TriggerProxy } from './common/events/trigger-proxy';
@@ -35,6 +35,7 @@ export default class LocusInfo extends EventsScope {
35
35
  replace: any;
36
36
  url: any;
37
37
  services: any;
38
+ resources: any;
38
39
  mainSessionLocusCache: any;
39
40
  /**
40
41
  * Constructor
@@ -190,6 +191,14 @@ export default class LocusInfo extends EventsScope {
190
191
  updateServices(services: Record<'breakout' | 'record', {
191
192
  url: string;
192
193
  }>): void;
194
+ /**
195
+ * @param {Object} resources
196
+ * @returns {undefined}
197
+ * @memberof LocusInfo
198
+ */
199
+ updateResources(resources: Record<'webcastInstance', {
200
+ url: string;
201
+ }>): void;
193
202
  /**
194
203
  * @param {Object} fullState
195
204
  * @returns {undefined}
@@ -61,6 +61,10 @@ interface IInMeetingActions {
61
61
  canUpdateShareControl?: boolean;
62
62
  canEnableViewTheParticipantsList?: boolean;
63
63
  canDisableViewTheParticipantsList?: boolean;
64
+ canEnableViewTheParticipantsListPanelist?: boolean;
65
+ canDisableViewTheParticipantsListPanelist?: boolean;
66
+ canEnableShowAttendeeCount?: boolean;
67
+ canDisableShowAttendeeCount?: boolean;
64
68
  canEnableRaiseHand?: boolean;
65
69
  canDisableRaiseHand?: boolean;
66
70
  canEnableVideo?: boolean;
@@ -80,6 +84,11 @@ interface IInMeetingActions {
80
84
  canShareWhiteBoard?: boolean;
81
85
  enforceVirtualBackground?: boolean;
82
86
  canPollingAndQA?: boolean;
87
+ canStartWebcast?: boolean;
88
+ canStopWebcast?: boolean;
89
+ canShowStageView?: boolean;
90
+ canEnableStageView?: boolean;
91
+ canDisableStageView?: boolean;
83
92
  }
84
93
  /**
85
94
  * @class InMeetingActions
@@ -141,6 +150,10 @@ export default class InMeetingActions implements IInMeetingActions {
141
150
  canUpdateShareControl: any;
142
151
  canEnableViewTheParticipantsList: any;
143
152
  canDisableViewTheParticipantsList: any;
153
+ canEnableViewTheParticipantsListPanelist: any;
154
+ canDisableViewTheParticipantsListPanelist: any;
155
+ canEnableShowAttendeeCount: any;
156
+ canDisableShowAttendeeCount: any;
144
157
  canEnableRaiseHand: any;
145
158
  canDisableRaiseHand: any;
146
159
  canEnableVideo: any;
@@ -160,6 +173,11 @@ export default class InMeetingActions implements IInMeetingActions {
160
173
  supportHDV: any;
161
174
  canShareWhiteBoard: any;
162
175
  canPollingAndQA: any;
176
+ canStartWebcast: any;
177
+ canStopWebcast: any;
178
+ canShowStageView: any;
179
+ canEnableStageView: any;
180
+ canDisableStageView: any;
163
181
  /**
164
182
  * Returns all meeting action options
165
183
  * @returns {Object}
@@ -737,6 +737,15 @@ export default class Meeting extends StatelessWebexPlugin {
737
737
  * @memberof Meeting
738
738
  */
739
739
  private setUpLocusServicesListener;
740
+ /**
741
+ * Set up the locus info resources link listener
742
+ * update the locusInfo for webcast instance url
743
+ * @param {Object} payload - The event payload
744
+ * @returns {undefined}
745
+ * @private
746
+ * @memberof Meeting
747
+ */
748
+ private setUpLocusResourcesListener;
740
749
  /**
741
750
  * Set up the locus info meeting info listener
742
751
  * @returns {undefined}
@@ -1391,6 +1400,7 @@ export default class Meeting extends StatelessWebexPlugin {
1391
1400
  * @returns {Promise<void>}
1392
1401
  */
1393
1402
  private cleanUpBeforeRetryWithTurnServer;
1403
+ private cleanUpBeforeReconnection;
1394
1404
  /**
1395
1405
  * Creates an instance of LocusMediaRequest for this meeting - it is needed for doing any calls
1396
1406
  * to Locus /media API (these are used for sending Roap messages and updating audio/video mute status).
@@ -1605,10 +1615,11 @@ export default class Meeting extends StatelessWebexPlugin {
1605
1615
  * @param {boolean} mutedEnabled
1606
1616
  * @param {boolean} disallowUnmuteEnabled
1607
1617
  * @param {boolean} muteOnEntryEnabled
1618
+ * @param {array} roles
1608
1619
  * @public
1609
1620
  * @memberof Meeting
1610
1621
  */
1611
- setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean): Promise<any>;
1622
+ setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean, roles: Array<string>): Promise<any>;
1612
1623
  /**
1613
1624
  * End the recording of this meeting
1614
1625
  * @returns {Promise}
@@ -139,9 +139,10 @@ export declare class MuteState {
139
139
  * @public
140
140
  * @memberof MuteState
141
141
  * @param {Object} [meeting] the meeting object
142
+ * @param {Boolean} [unmuteAllowed] whether the user is allowed to unmute self
142
143
  * @returns {undefined}
143
144
  */
144
- handleServerLocalUnmuteRequired(meeting?: any): void;
145
+ handleServerLocalUnmuteRequired(meeting: any, unmuteAllowed: boolean): void;
145
146
  /**
146
147
  * Returns true if the user is locally or remotely muted.
147
148
  * It only checks the mute status, ignoring the fact whether audio/video is enabled.
@@ -64,6 +64,23 @@ export declare class MeetingInfoV2CaptchaError extends Error {
64
64
  */
65
65
  constructor(wbxAppApiErrorCode?: number, captchaInfo?: object, message?: string);
66
66
  }
67
+ /**
68
+ * Error preventing join because of a webinar registration error
69
+ */
70
+ export declare class MeetingInfoV2WebinarRegistrationError extends Error {
71
+ meetingInfo: any;
72
+ sdkMessage: any;
73
+ wbxAppApiCode: any;
74
+ body: any;
75
+ /**
76
+ *
77
+ * @constructor
78
+ * @param {Number} [wbxAppApiErrorCode]
79
+ * @param {Object} [meetingInfo]
80
+ * @param {String} [message]
81
+ */
82
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
83
+ }
67
84
  /**
68
85
  * @class MeetingInfo
69
86
  */
@@ -89,6 +106,12 @@ export default class MeetingInfoV2 {
89
106
  * @returns {void}
90
107
  */
91
108
  handlePolicyError: (err: any) => void;
109
+ /**
110
+ * Raises a handleWebinarRegistrationError for webinar registration error codes
111
+ * @param {any} err the error from the request
112
+ * @returns {void}
113
+ */
114
+ handleWebinarRegistrationError: (err: any) => void;
92
115
  /**
93
116
  * Creates adhoc space meetings for a space by fetching the conversation infomation
94
117
  * @param {String} conversationUrl conversationUrl to start adhoc meeting on
@@ -207,6 +207,15 @@ export default class Meetings extends WebexPlugin {
207
207
  * @returns {undefined}
208
208
  */
209
209
  private _toggleTlsReachability;
210
+ /**
211
+ * API to toggle backend ipv6 native support config, needs to be called before webex.meetings.register()
212
+ *
213
+ * @param {Boolean} newValue
214
+ * @private
215
+ * @memberof Meetings
216
+ * @returns {undefined}
217
+ */
218
+ private _toggleIpv6BackendNativeSupport;
210
219
  /**
211
220
  * Explicitly sets up the meetings plugin by registering
212
221
  * the device, connecting to mercury, and listening for locus events.
@@ -302,11 +302,12 @@ export default class Members extends StatelessWebexPlugin {
302
302
  /**
303
303
  * Lower all hands of members in a meeting
304
304
  * @param {String} requestingMemberId - id of the participant which requested the lower all hands
305
+ * @param {array} roles which should be lowered
305
306
  * @returns {Promise}
306
307
  * @public
307
308
  * @memberof Members
308
309
  */
309
- lowerAllHands(requestingMemberId: string): any;
310
+ lowerAllHands(requestingMemberId: string, roles: Array<string>): any;
310
311
  /**
311
312
  * Transfers the host to another member
312
313
  * @param {String} memberId
@@ -95,7 +95,8 @@ declare const MembersUtil: {
95
95
  * @returns {RoleAssignmentOptions}
96
96
  */
97
97
  generateRoleAssignmentMemberOptions: (memberId: string, roles: Array<ServerRoleShape>, locusUrl: string) => RoleAssignmentOptions;
98
- generateLowerAllHandsMemberOptions: (requestingParticipantId: any, locusUrl: any) => {
98
+ generateLowerAllHandsMemberOptions: (requestingParticipantId: any, locusUrl: any, roles: any) => {
99
+ roles: any;
99
100
  requestingParticipantId: any;
100
101
  locusUrl: any;
101
102
  };
@@ -145,6 +146,7 @@ declare const MembersUtil: {
145
146
  uri: string;
146
147
  body: {
147
148
  hand: {
149
+ roles: any;
148
150
  raised: boolean;
149
151
  };
150
152
  requestingParticipantId: any;
@@ -67,5 +67,6 @@ declare const BEHAVIORAL_METRICS: {
67
67
  ROAP_HTTP_RESPONSE_MISSING: string;
68
68
  TURN_DISCOVERY_REQUIRES_OK: string;
69
69
  REACHABILITY_COMPLETED: string;
70
+ WEBINAR_REGISTRATION_ERROR: string;
70
71
  };
71
72
  export { BEHAVIORAL_METRICS as default };
@@ -42,6 +42,7 @@ export declare class RemoteMedia extends EventsScope {
42
42
  * to restrict the requested resolution to this size
43
43
  * @param width width of the video element
44
44
  * @param height height of the video element
45
+ * @note width/height of 0 will be ignored
45
46
  */
46
47
  setSizeHint(width: any, height: any): void;
47
48
  /**
@@ -7,6 +7,7 @@ _Object$defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _webexCore = require("@webex/webex-core");
10
+ var _lodash = require("lodash");
10
11
  var _constants = require("../constants");
11
12
  var _collection = _interopRequireDefault(require("./collection"));
12
13
  /*!
@@ -24,35 +25,29 @@ var Webinar = _webexCore.WebexPlugin.extend({
24
25
  props: {
25
26
  locusUrl: 'string',
26
27
  // appears current webinar's locus url
27
- webcastUrl: 'string',
28
- // current webinar's webcast url
29
- webinarAttendeesSearchingUrl: 'string',
30
- // current webinarAttendeesSearching url
31
- canManageWebcast: 'boolean' // appears the ability to manage webcast
28
+ webcastInstanceUrl: 'string',
29
+ // current webinar's webcast instance url
30
+ canManageWebcast: 'boolean',
31
+ // appears the ability to manage webcast
32
+ selfIsPanelist: 'boolean',
33
+ // self is panelist
34
+ selfIsAttendee: 'boolean' // self is attendee
32
35
  },
33
36
  /**
34
37
  * Update the current locus url of the webinar
35
- * @param {string} locusUrl // locus url
38
+ * @param {string} locusUrl
36
39
  * @returns {void}
37
40
  */
38
41
  locusUrlUpdate: function locusUrlUpdate(locusUrl) {
39
42
  this.set('locusUrl', locusUrl);
40
43
  },
41
44
  /**
42
- * Update the current webcast url of the meeting
43
- * @param {string} webcastUrl // webcast url
45
+ * Update the current webcast instance url of the meeting
46
+ * @param {object} payload
44
47
  * @returns {void}
45
48
  */
46
- webcastUrlUpdate: function webcastUrlUpdate(webcastUrl) {
47
- this.set('webcastUrl', webcastUrl);
48
- },
49
- /**
50
- * Update the current webinarAttendeesSearching url of the meeting
51
- * @param {string} webinarAttendeesSearchingUrl // webinarAttendeesSearching url
52
- * @returns {void}
53
- */
54
- webinarAttendeesSearchingUrlUpdate: function webinarAttendeesSearchingUrlUpdate(webinarAttendeesSearchingUrl) {
55
- this.set('webinarAttendeesSearchingUrl', webinarAttendeesSearchingUrl);
49
+ updateWebcastUrl: function updateWebcastUrl(payload) {
50
+ this.set('webcastInstanceUrl', (0, _lodash.get)(payload, 'resources.webcastInstance.url'));
56
51
  },
57
52
  /**
58
53
  * Update whether self has capability to manage start/stop webcast (only host can manage it)
@@ -62,7 +57,25 @@ var Webinar = _webexCore.WebexPlugin.extend({
62
57
  updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
63
58
  this.set('canManageWebcast', canManageWebcast);
64
59
  },
65
- version: "3.6.0"
60
+ /**
61
+ * Updates user roles and manages associated state transitions
62
+ * @param {object} payload
63
+ * @param {string[]} payload.oldRoles - Previous roles of the user
64
+ * @param {string[]} payload.newRoles - New roles of the user
65
+ * @returns {{isPromoted: boolean, isDemoted: boolean}} Role transition states
66
+ */
67
+ updateRoleChanged: function updateRoleChanged(payload) {
68
+ var isPromoted = (0, _lodash.get)(payload, 'oldRoles', []).includes(_constants.SELF_ROLES.ATTENDEE) && (0, _lodash.get)(payload, 'newRoles', []).includes(_constants.SELF_ROLES.PANELIST);
69
+ var isDemoted = (0, _lodash.get)(payload, 'oldRoles', []).includes(_constants.SELF_ROLES.PANELIST) && (0, _lodash.get)(payload, 'newRoles', []).includes(_constants.SELF_ROLES.ATTENDEE);
70
+ this.set('selfIsPanelist', (0, _lodash.get)(payload, 'newRoles', []).includes(_constants.SELF_ROLES.PANELIST));
71
+ this.set('selfIsAttendee', (0, _lodash.get)(payload, 'newRoles', []).includes(_constants.SELF_ROLES.ATTENDEE));
72
+ this.updateCanManageWebcast((0, _lodash.get)(payload, 'newRoles', []).includes(_constants.SELF_ROLES.MODERATOR));
73
+ return {
74
+ isPromoted: isPromoted,
75
+ isDemoted: isDemoted
76
+ };
77
+ },
78
+ version: "3.7.0"
66
79
  });
67
80
  var _default = exports.default = Webinar;
68
81
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_constants","_collection","_interopRequireDefault","Webinar","WebexPlugin","extend","namespace","MEETINGS","collections","webinar","WebinarCollection","props","locusUrl","webcastUrl","webinarAttendeesSearchingUrl","canManageWebcast","locusUrlUpdate","set","webcastUrlUpdate","webinarAttendeesSearchingUrlUpdate","updateCanManageWebcast","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {MEETINGS} from '../constants';\n\nimport WebinarCollection from './collection';\n\n/**\n * @class Webinar\n */\nconst Webinar = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n webinar: WebinarCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current webinar's locus url\n webcastUrl: 'string', // current webinar's webcast url\n webinarAttendeesSearchingUrl: 'string', // current webinarAttendeesSearching url\n canManageWebcast: 'boolean', // appears the ability to manage webcast\n },\n\n /**\n * Update the current locus url of the webinar\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * Update the current webcast url of the meeting\n * @param {string} webcastUrl // webcast url\n * @returns {void}\n */\n webcastUrlUpdate(webcastUrl) {\n this.set('webcastUrl', webcastUrl);\n },\n\n /**\n * Update the current webinarAttendeesSearching url of the meeting\n * @param {string} webinarAttendeesSearchingUrl // webinarAttendeesSearching url\n * @returns {void}\n */\n webinarAttendeesSearchingUrlUpdate(webinarAttendeesSearchingUrl) {\n this.set('webinarAttendeesSearchingUrl', webinarAttendeesSearchingUrl);\n },\n\n /**\n * Update whether self has capability to manage start/stop webcast (only host can manage it)\n * @param {boolean} canManageWebcast\n * @returns {void}\n */\n updateCanManageWebcast(canManageWebcast) {\n this.set('canManageWebcast', canManageWebcast);\n },\n});\n\nexport default Webinar;\n"],"mappings":";;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA,IAAMI,OAAO,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACjCC,SAAS,EAAEC,mBAAQ;EACnBC,WAAW,EAAE;IACXC,OAAO,EAAEC;EACX,CAAC;EAEDC,KAAK,EAAE;IACLC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,UAAU,EAAE,QAAQ;IAAE;IACtBC,4BAA4B,EAAE,QAAQ;IAAE;IACxCC,gBAAgB,EAAE,SAAS,CAAE;EAC/B,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,cAAc,WAAAA,eAACJ,QAAQ,EAAE;IACvB,IAAI,CAACK,GAAG,CAAC,UAAU,EAAEL,QAAQ,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,gBAAgB,WAAAA,iBAACL,UAAU,EAAE;IAC3B,IAAI,CAACI,GAAG,CAAC,YAAY,EAAEJ,UAAU,CAAC;EACpC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,kCAAkC,WAAAA,mCAACL,4BAA4B,EAAE;IAC/D,IAAI,CAACG,GAAG,CAAC,8BAA8B,EAAEH,4BAA4B,CAAC;EACxE,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,sBAAsB,WAAAA,uBAACL,gBAAgB,EAAE;IACvC,IAAI,CAACE,GAAG,CAAC,kBAAkB,EAAEF,gBAAgB,CAAC;EAChD,CAAC;EAAAM,OAAA;AACH,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYrB,OAAO"}
1
+ {"version":3,"names":["_webexCore","require","_lodash","_constants","_collection","_interopRequireDefault","Webinar","WebexPlugin","extend","namespace","MEETINGS","collections","webinar","WebinarCollection","props","locusUrl","webcastInstanceUrl","canManageWebcast","selfIsPanelist","selfIsAttendee","locusUrlUpdate","set","updateWebcastUrl","payload","get","updateCanManageWebcast","updateRoleChanged","isPromoted","includes","SELF_ROLES","ATTENDEE","PANELIST","isDemoted","MODERATOR","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {get} from 'lodash';\nimport {MEETINGS, SELF_ROLES} from '../constants';\n\nimport WebinarCollection from './collection';\n\n/**\n * @class Webinar\n */\nconst Webinar = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n webinar: WebinarCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current webinar's locus url\n webcastInstanceUrl: 'string', // current webinar's webcast instance url\n canManageWebcast: 'boolean', // appears the ability to manage webcast\n selfIsPanelist: 'boolean', // self is panelist\n selfIsAttendee: 'boolean', // self is attendee\n },\n\n /**\n * Update the current locus url of the webinar\n * @param {string} locusUrl\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * Update the current webcast instance url of the meeting\n * @param {object} payload\n * @returns {void}\n */\n updateWebcastUrl(payload) {\n this.set('webcastInstanceUrl', get(payload, 'resources.webcastInstance.url'));\n },\n\n /**\n * Update whether self has capability to manage start/stop webcast (only host can manage it)\n * @param {boolean} canManageWebcast\n * @returns {void}\n */\n updateCanManageWebcast(canManageWebcast) {\n this.set('canManageWebcast', canManageWebcast);\n },\n\n /**\n * Updates user roles and manages associated state transitions\n * @param {object} payload\n * @param {string[]} payload.oldRoles - Previous roles of the user\n * @param {string[]} payload.newRoles - New roles of the user\n * @returns {{isPromoted: boolean, isDemoted: boolean}} Role transition states\n */\n updateRoleChanged(payload) {\n const isPromoted =\n get(payload, 'oldRoles', []).includes(SELF_ROLES.ATTENDEE) &&\n get(payload, 'newRoles', []).includes(SELF_ROLES.PANELIST);\n const isDemoted =\n get(payload, 'oldRoles', []).includes(SELF_ROLES.PANELIST) &&\n get(payload, 'newRoles', []).includes(SELF_ROLES.ATTENDEE);\n this.set('selfIsPanelist', get(payload, 'newRoles', []).includes(SELF_ROLES.PANELIST));\n this.set('selfIsAttendee', get(payload, 'newRoles', []).includes(SELF_ROLES.ATTENDEE));\n this.updateCanManageWebcast(get(payload, 'newRoles', []).includes(SELF_ROLES.MODERATOR));\n\n return {isPromoted, isDemoted};\n },\n});\n\nexport default Webinar;\n"],"mappings":";;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAPA;AACA;AACA;;AAOA;AACA;AACA;AACA,IAAMK,OAAO,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACjCC,SAAS,EAAEC,mBAAQ;EACnBC,WAAW,EAAE;IACXC,OAAO,EAAEC;EACX,CAAC;EAEDC,KAAK,EAAE;IACLC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,kBAAkB,EAAE,QAAQ;IAAE;IAC9BC,gBAAgB,EAAE,SAAS;IAAE;IAC7BC,cAAc,EAAE,SAAS;IAAE;IAC3BC,cAAc,EAAE,SAAS,CAAE;EAC7B,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,cAAc,WAAAA,eAACL,QAAQ,EAAE;IACvB,IAAI,CAACM,GAAG,CAAC,UAAU,EAAEN,QAAQ,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEO,gBAAgB,WAAAA,iBAACC,OAAO,EAAE;IACxB,IAAI,CAACF,GAAG,CAAC,oBAAoB,EAAE,IAAAG,WAAG,EAACD,OAAO,EAAE,+BAA+B,CAAC,CAAC;EAC/E,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,sBAAsB,WAAAA,uBAACR,gBAAgB,EAAE;IACvC,IAAI,CAACI,GAAG,CAAC,kBAAkB,EAAEJ,gBAAgB,CAAC;EAChD,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACES,iBAAiB,WAAAA,kBAACH,OAAO,EAAE;IACzB,IAAMI,UAAU,GACd,IAAAH,WAAG,EAACD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAACK,QAAQ,CAACC,qBAAU,CAACC,QAAQ,CAAC,IAC1D,IAAAN,WAAG,EAACD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAACK,QAAQ,CAACC,qBAAU,CAACE,QAAQ,CAAC;IAC5D,IAAMC,SAAS,GACb,IAAAR,WAAG,EAACD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAACK,QAAQ,CAACC,qBAAU,CAACE,QAAQ,CAAC,IAC1D,IAAAP,WAAG,EAACD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAACK,QAAQ,CAACC,qBAAU,CAACC,QAAQ,CAAC;IAC5D,IAAI,CAACT,GAAG,CAAC,gBAAgB,EAAE,IAAAG,WAAG,EAACD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAACK,QAAQ,CAACC,qBAAU,CAACE,QAAQ,CAAC,CAAC;IACtF,IAAI,CAACV,GAAG,CAAC,gBAAgB,EAAE,IAAAG,WAAG,EAACD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAACK,QAAQ,CAACC,qBAAU,CAACC,QAAQ,CAAC,CAAC;IACtF,IAAI,CAACL,sBAAsB,CAAC,IAAAD,WAAG,EAACD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAACK,QAAQ,CAACC,qBAAU,CAACI,SAAS,CAAC,CAAC;IAExF,OAAO;MAACN,UAAU,EAAVA,UAAU;MAAEK,SAAS,EAATA;IAAS,CAAC;EAChC,CAAC;EAAAE,OAAA;AACH,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEY/B,OAAO"}
package/package.json CHANGED
@@ -43,13 +43,13 @@
43
43
  "@webex/eslint-config-legacy": "0.0.0",
44
44
  "@webex/jest-config-legacy": "0.0.0",
45
45
  "@webex/legacy-tools": "0.0.0",
46
- "@webex/plugin-meetings": "3.6.0",
47
- "@webex/plugin-rooms": "3.6.0",
48
- "@webex/test-helper-chai": "3.6.0",
49
- "@webex/test-helper-mocha": "3.6.0",
50
- "@webex/test-helper-mock-webex": "3.6.0",
51
- "@webex/test-helper-retry": "3.6.0",
52
- "@webex/test-helper-test-users": "3.6.0",
46
+ "@webex/plugin-meetings": "3.7.0",
47
+ "@webex/plugin-rooms": "3.7.0",
48
+ "@webex/test-helper-chai": "3.7.0",
49
+ "@webex/test-helper-mocha": "3.7.0",
50
+ "@webex/test-helper-mock-webex": "3.7.0",
51
+ "@webex/test-helper-retry": "3.7.0",
52
+ "@webex/test-helper-test-users": "3.7.0",
53
53
  "chai": "^4.3.4",
54
54
  "chai-as-promised": "^7.1.1",
55
55
  "eslint": "^8.24.0",
@@ -61,21 +61,21 @@
61
61
  "typescript": "^4.7.4"
62
62
  },
63
63
  "dependencies": {
64
- "@webex/common": "3.6.0",
65
- "@webex/internal-media-core": "2.11.3",
66
- "@webex/internal-plugin-conversation": "3.6.0",
67
- "@webex/internal-plugin-device": "3.6.0",
68
- "@webex/internal-plugin-llm": "3.6.0",
69
- "@webex/internal-plugin-mercury": "3.6.0",
70
- "@webex/internal-plugin-metrics": "3.6.0",
71
- "@webex/internal-plugin-support": "3.6.0",
72
- "@webex/internal-plugin-user": "3.6.0",
73
- "@webex/internal-plugin-voicea": "3.6.0",
74
- "@webex/media-helpers": "3.6.0",
75
- "@webex/plugin-people": "3.6.0",
76
- "@webex/plugin-rooms": "3.6.0",
64
+ "@webex/common": "3.7.0",
65
+ "@webex/internal-media-core": "2.12.2",
66
+ "@webex/internal-plugin-conversation": "3.7.0",
67
+ "@webex/internal-plugin-device": "3.7.0",
68
+ "@webex/internal-plugin-llm": "3.7.0",
69
+ "@webex/internal-plugin-mercury": "3.7.0",
70
+ "@webex/internal-plugin-metrics": "3.7.0",
71
+ "@webex/internal-plugin-support": "3.7.0",
72
+ "@webex/internal-plugin-user": "3.7.0",
73
+ "@webex/internal-plugin-voicea": "3.7.0",
74
+ "@webex/media-helpers": "3.7.0",
75
+ "@webex/plugin-people": "3.7.0",
76
+ "@webex/plugin-rooms": "3.7.0",
77
77
  "@webex/web-capabilities": "^1.4.0",
78
- "@webex/webex-core": "3.6.0",
78
+ "@webex/webex-core": "3.7.0",
79
79
  "ampersand-collection": "^2.0.2",
80
80
  "bowser": "^2.11.0",
81
81
  "btoa": "^1.2.1",
@@ -91,5 +91,5 @@
91
91
  "//": [
92
92
  "TODO: upgrade jwt-decode when moving to node 18"
93
93
  ],
94
- "version": "3.6.0"
94
+ "version": "3.7.0"
95
95
  }
@@ -0,0 +1,27 @@
1
+ import {ERROR_DICTIONARY} from '../../constants';
2
+
3
+ /**
4
+ * Error occurred while the webinar required registration
5
+ */
6
+ export default class WebinarRegistrationError extends Error {
7
+ code: number;
8
+ error: any;
9
+ sdkMessage: string;
10
+
11
+ /**
12
+ * @constructor
13
+ * @param {String} [message]
14
+ * @param {Object} [error]
15
+ */
16
+ constructor(
17
+ message: string = ERROR_DICTIONARY.WebinarRegistrationError.MESSAGE,
18
+ error: any = null
19
+ ) {
20
+ super(message);
21
+ this.name = ERROR_DICTIONARY.WebinarRegistrationError.NAME;
22
+ this.sdkMessage = ERROR_DICTIONARY.WebinarRegistrationError.MESSAGE;
23
+ this.error = error;
24
+ this.stack = error ? error.stack : new Error().stack;
25
+ this.code = ERROR_DICTIONARY.WebinarRegistrationError.CODE;
26
+ }
27
+ }
package/src/config.ts CHANGED
@@ -94,5 +94,7 @@ export default {
94
94
  },
95
95
  // This only applies to non-multistream meetings
96
96
  iceCandidatesGatheringTimeout: undefined,
97
+ backendIpv6NativeSupport: false,
98
+ reachabilityGetClusterTimeout: 5000,
97
99
  },
98
100
  };
package/src/constants.ts CHANGED
@@ -356,6 +356,11 @@ export const EVENT_TRIGGERS = {
356
356
  'meeting:controls:view-the-participants-list:updated',
357
357
  MEETING_CONTROLS_RAISE_HAND_UPDATED: 'meeting:controls:raise-hand:updated',
358
358
  MEETING_CONTROLS_VIDEO_UPDATED: 'meeting:controls:video:updated',
359
+ MEETING_CONTROLS_STAGE_VIEW_UPDATED: 'meeting:controls:stage-view:updated',
360
+ MEETING_CONTROLS_WEBCAST_UPDATED: 'meeting:controls:webcast:updated',
361
+ MEETING_CONTROLS_MEETING_FULL_UPDATED: 'meeting:controls:meeting-full:updated',
362
+ MEETING_CONTROLS_PRACTICE_SESSION_STATUS_UPDATED:
363
+ 'meeting:controls:practice-session-status:updated',
359
364
  // Locus URL changed
360
365
  MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
361
366
  MEETING_STREAM_PUBLISH_STATE_CHANGED: 'meeting:streamPublishStateChanged',
@@ -524,6 +529,11 @@ export const ERROR_DICTIONARY = {
524
529
  'Reconnection was not started, because there is one already in progress or reconnections are disabled in config.',
525
530
  CODE: 15,
526
531
  },
532
+ WebinarRegistrationError: {
533
+ NAME: 'WebinarRegistrationError',
534
+ MESSAGE: 'An error occurred while the webinar required registration.',
535
+ CODE: 16,
536
+ },
527
537
  };
528
538
 
529
539
  export const FLOOR_ACTION = {
@@ -671,7 +681,11 @@ export const LOCUSINFO = {
671
681
  CONTROLS_REACTIONS_CHANGED: 'CONTROLS_REACTIONS_CHANGED',
672
682
  CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED: 'CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED',
673
683
  CONTROLS_RAISE_HAND_CHANGED: 'CONTROLS_RAISE_HAND_CHANGED',
684
+ CONTROLS_WEBCAST_CHANGED: 'CONTROLS_WEBCAST_CHANGED',
685
+ CONTROLS_MEETING_FULL_CHANGED: 'CONTROLS_MEETING_FULL_CHANGED',
686
+ CONTROLS_PRACTICE_SESSION_STATUS_UPDATED: 'CONTROLS_PRACTICE_SESSION_STATUS_UPDATED',
674
687
  CONTROLS_VIDEO_CHANGED: 'CONTROLS_VIDEO_CHANGED',
688
+ CONTROLS_STAGE_VIEW_UPDATED: 'CONTROLS_STAGE_VIEW_UPDATED',
675
689
  SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
676
690
  SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
677
691
  SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
@@ -697,6 +711,7 @@ export const LOCUSINFO = {
697
711
  SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
698
712
  MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
699
713
  LINKS_SERVICES: 'LINKS_SERVICES',
714
+ LINKS_RESOURCES: 'LINKS_RESOURCES',
700
715
  },
701
716
  };
702
717
 
@@ -939,6 +954,11 @@ export const DISPLAY_HINTS = {
939
954
  // participants list
940
955
  DISABLE_VIEW_THE_PARTICIPANT_LIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST',
941
956
  ENABLE_VIEW_THE_PARTICIPANT_LIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST',
957
+ // for webinar participants list
958
+ DISABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST',
959
+ ENABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST_PANELIST',
960
+ DISABLE_SHOW_ATTENDEE_COUNT: 'DISABLE_SHOW_ATTENDEE_COUNT',
961
+ ENABLE_SHOW_ATTENDEE_COUNT: 'ENABLE_SHOW_ATTENDEE_COUNT',
942
962
 
943
963
  // raise hand
944
964
  DISABLE_RAISE_HAND: 'DISABLE_RAISE_HAND',
@@ -958,6 +978,16 @@ export const DISPLAY_HINTS = {
958
978
 
959
979
  // Voip (audio/video)
960
980
  VOIP_IS_ENABLED: 'VOIP_IS_ENABLED',
981
+
982
+ // Webcast
983
+ WEBCAST_CONTROL_START: 'WEBCAST_CONTROL_START',
984
+ WEBCAST_CONTROL_STOP: 'WEBCAST_CONTROL_STOP',
985
+
986
+ // Stage View
987
+ STAGE_VIEW_ACTIVE: 'STAGE_VIEW_ACTIVE',
988
+ STAGE_VIEW_INACTIVE: 'STAGE_VIEW_INACTIVE',
989
+ ENABLE_STAGE_VIEW: 'ENABLE_STAGE_VIEW',
990
+ DISABLE_STAGE_VIEW: 'DISABLE_STAGE_VIEW',
961
991
  };
962
992
 
963
993
  export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
@@ -1269,6 +1299,7 @@ export const MEETING_INFO_FAILURE_REASON = {
1269
1299
  WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided
1270
1300
  WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided
1271
1301
  POLICY: 'POLICY', // meeting info request violates some meeting policy
1302
+ WEBINAR_REGISTRATION: 'WEBINAR_REGISTRATION', // webinar need registration
1272
1303
  OTHER: 'OTHER', // any other error (network, etc)
1273
1304
  };
1274
1305
 
@@ -2,6 +2,7 @@ enum Setting {
2
2
  disallowUnmute = 'DisallowUnmute',
3
3
  muteOnEntry = 'MuteOnEntry',
4
4
  muted = 'Muted',
5
+ roles = 'Roles',
5
6
  }
6
7
 
7
8
  enum Control {