@webex/plugin-meetings 2.37.0 → 2.37.2

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 (308) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/common/browser-detection.js +1 -20
  4. package/dist/common/browser-detection.js.map +1 -1
  5. package/dist/common/collection.js +5 -20
  6. package/dist/common/collection.js.map +1 -1
  7. package/dist/common/config.js +0 -7
  8. package/dist/common/config.js.map +1 -1
  9. package/dist/common/errors/captcha-error.js +5 -26
  10. package/dist/common/errors/captcha-error.js.map +1 -1
  11. package/dist/common/errors/intent-to-join.js +5 -26
  12. package/dist/common/errors/intent-to-join.js.map +1 -1
  13. package/dist/common/errors/join-meeting.js +6 -27
  14. package/dist/common/errors/join-meeting.js.map +1 -1
  15. package/dist/common/errors/media.js +5 -26
  16. package/dist/common/errors/media.js.map +1 -1
  17. package/dist/common/errors/parameter.js +5 -33
  18. package/dist/common/errors/parameter.js.map +1 -1
  19. package/dist/common/errors/password-error.js +5 -26
  20. package/dist/common/errors/password-error.js.map +1 -1
  21. package/dist/common/errors/permission.js +4 -25
  22. package/dist/common/errors/permission.js.map +1 -1
  23. package/dist/common/errors/reconnection-in-progress.js +0 -17
  24. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  25. package/dist/common/errors/reconnection.js +5 -26
  26. package/dist/common/errors/reconnection.js.map +1 -1
  27. package/dist/common/errors/stats.js +5 -26
  28. package/dist/common/errors/stats.js.map +1 -1
  29. package/dist/common/errors/webex-errors.js +7 -46
  30. package/dist/common/errors/webex-errors.js.map +1 -1
  31. package/dist/common/errors/webex-meetings-error.js +1 -24
  32. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  33. package/dist/common/events/events-scope.js +0 -22
  34. package/dist/common/events/events-scope.js.map +1 -1
  35. package/dist/common/events/events.js +0 -23
  36. package/dist/common/events/events.js.map +1 -1
  37. package/dist/common/events/trigger-proxy.js +0 -12
  38. package/dist/common/events/trigger-proxy.js.map +1 -1
  39. package/dist/common/events/util.js +0 -15
  40. package/dist/common/events/util.js.map +1 -1
  41. package/dist/common/logs/logger-config.js +0 -4
  42. package/dist/common/logs/logger-config.js.map +1 -1
  43. package/dist/common/logs/logger-proxy.js +1 -8
  44. package/dist/common/logs/logger-proxy.js.map +1 -1
  45. package/dist/common/logs/request.js +35 -61
  46. package/dist/common/logs/request.js.map +1 -1
  47. package/dist/common/queue.js +4 -14
  48. package/dist/common/queue.js.map +1 -1
  49. package/dist/config.js +1 -5
  50. package/dist/config.js.map +1 -1
  51. package/dist/constants.js +46 -42
  52. package/dist/constants.js.map +1 -1
  53. package/dist/index.js +1 -17
  54. package/dist/index.js.map +1 -1
  55. package/dist/locus-info/controlsUtils.js +10 -28
  56. package/dist/locus-info/controlsUtils.js.map +1 -1
  57. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  58. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  59. package/dist/locus-info/fullState.js +0 -15
  60. package/dist/locus-info/fullState.js.map +1 -1
  61. package/dist/locus-info/hostUtils.js +4 -12
  62. package/dist/locus-info/hostUtils.js.map +1 -1
  63. package/dist/locus-info/index.js +101 -193
  64. package/dist/locus-info/index.js.map +1 -1
  65. package/dist/locus-info/infoUtils.js +0 -37
  66. package/dist/locus-info/infoUtils.js.map +1 -1
  67. package/dist/locus-info/mediaSharesUtils.js +12 -38
  68. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  69. package/dist/locus-info/parser.js +87 -123
  70. package/dist/locus-info/parser.js.map +1 -1
  71. package/dist/locus-info/selfUtils.js +16 -81
  72. package/dist/locus-info/selfUtils.js.map +1 -1
  73. package/dist/media/index.js +74 -137
  74. package/dist/media/index.js.map +1 -1
  75. package/dist/media/properties.js +64 -110
  76. package/dist/media/properties.js.map +1 -1
  77. package/dist/media/util.js +3 -17
  78. package/dist/media/util.js.map +1 -1
  79. package/dist/mediaQualityMetrics/config.js +10 -12
  80. package/dist/mediaQualityMetrics/config.js.map +1 -1
  81. package/dist/meeting/effectsState.js +120 -192
  82. package/dist/meeting/effectsState.js.map +1 -1
  83. package/dist/meeting/in-meeting-actions.js +0 -13
  84. package/dist/meeting/in-meeting-actions.js.map +1 -1
  85. package/dist/meeting/index.js +812 -1487
  86. package/dist/meeting/index.js.map +1 -1
  87. package/dist/meeting/muteState.js +31 -78
  88. package/dist/meeting/muteState.js.map +1 -1
  89. package/dist/meeting/request.js +157 -227
  90. package/dist/meeting/request.js.map +1 -1
  91. package/dist/meeting/state.js +21 -31
  92. package/dist/meeting/state.js.map +1 -1
  93. package/dist/meeting/util.js +25 -169
  94. package/dist/meeting/util.js.map +1 -1
  95. package/dist/meeting-info/collection.js +3 -25
  96. package/dist/meeting-info/collection.js.map +1 -1
  97. package/dist/meeting-info/index.js +10 -33
  98. package/dist/meeting-info/index.js.map +1 -1
  99. package/dist/meeting-info/meeting-info-v2.js +179 -268
  100. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  101. package/dist/meeting-info/request.js +1 -16
  102. package/dist/meeting-info/request.js.map +1 -1
  103. package/dist/meeting-info/util.js +98 -183
  104. package/dist/meeting-info/util.js.map +1 -1
  105. package/dist/meeting-info/utilv2.js +137 -228
  106. package/dist/meeting-info/utilv2.js.map +1 -1
  107. package/dist/meetings/collection.js +3 -21
  108. package/dist/meetings/collection.js.map +1 -1
  109. package/dist/meetings/index.js +451 -570
  110. package/dist/meetings/index.js.map +1 -1
  111. package/dist/meetings/request.js +7 -30
  112. package/dist/meetings/request.js.map +1 -1
  113. package/dist/meetings/util.js +94 -148
  114. package/dist/meetings/util.js.map +1 -1
  115. package/dist/member/index.js +49 -89
  116. package/dist/member/index.js.map +1 -1
  117. package/dist/member/util.js +17 -68
  118. package/dist/member/util.js.map +1 -1
  119. package/dist/members/collection.js +2 -12
  120. package/dist/members/collection.js.map +1 -1
  121. package/dist/members/index.js +68 -184
  122. package/dist/members/index.js.map +1 -1
  123. package/dist/members/request.js +21 -56
  124. package/dist/members/request.js.map +1 -1
  125. package/dist/members/util.js +9 -38
  126. package/dist/members/util.js.map +1 -1
  127. package/dist/metrics/config.js +0 -2
  128. package/dist/metrics/config.js.map +1 -1
  129. package/dist/metrics/constants.js +1 -2
  130. package/dist/metrics/constants.js.map +1 -1
  131. package/dist/metrics/index.js +48 -136
  132. package/dist/metrics/index.js.map +1 -1
  133. package/dist/networkQualityMonitor/index.js +28 -57
  134. package/dist/networkQualityMonitor/index.js.map +1 -1
  135. package/dist/peer-connection-manager/index.js +60 -190
  136. package/dist/peer-connection-manager/index.js.map +1 -1
  137. package/dist/peer-connection-manager/util.js +10 -24
  138. package/dist/peer-connection-manager/util.js.map +1 -1
  139. package/dist/personal-meeting-room/index.js +10 -45
  140. package/dist/personal-meeting-room/index.js.map +1 -1
  141. package/dist/personal-meeting-room/request.js +2 -33
  142. package/dist/personal-meeting-room/request.js.map +1 -1
  143. package/dist/personal-meeting-room/util.js +0 -13
  144. package/dist/personal-meeting-room/util.js.map +1 -1
  145. package/dist/reachability/index.js +100 -166
  146. package/dist/reachability/index.js.map +1 -1
  147. package/dist/reachability/request.js +2 -18
  148. package/dist/reachability/request.js.map +1 -1
  149. package/dist/reactions/reactions.js +0 -2
  150. package/dist/reactions/reactions.js.map +1 -1
  151. package/dist/reactions/reactions.type.js +0 -5
  152. package/dist/reactions/reactions.type.js.map +1 -1
  153. package/dist/reconnection-manager/index.js +294 -468
  154. package/dist/reconnection-manager/index.js.map +1 -1
  155. package/dist/roap/collection.js +1 -12
  156. package/dist/roap/collection.js.map +1 -1
  157. package/dist/roap/handler.js +15 -85
  158. package/dist/roap/handler.js.map +1 -1
  159. package/dist/roap/index.js +42 -94
  160. package/dist/roap/index.js.map +1 -1
  161. package/dist/roap/request.js +81 -148
  162. package/dist/roap/request.js.map +1 -1
  163. package/dist/roap/state.js +2 -39
  164. package/dist/roap/state.js.map +1 -1
  165. package/dist/roap/turnDiscovery.js +8 -52
  166. package/dist/roap/turnDiscovery.js.map +1 -1
  167. package/dist/roap/util.js +0 -26
  168. package/dist/roap/util.js.map +1 -1
  169. package/dist/statsAnalyzer/global.js +0 -2
  170. package/dist/statsAnalyzer/global.js.map +1 -1
  171. package/dist/statsAnalyzer/index.js +68 -168
  172. package/dist/statsAnalyzer/index.js.map +1 -1
  173. package/dist/statsAnalyzer/mqaUtil.js +54 -53
  174. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  175. package/dist/transcription/index.js +13 -45
  176. package/dist/transcription/index.js.map +1 -1
  177. package/internal-README.md +7 -6
  178. package/package.json +17 -17
  179. package/src/common/browser-detection.ts +9 -6
  180. package/src/common/collection.ts +3 -1
  181. package/src/common/errors/captcha-error.ts +6 -6
  182. package/src/common/errors/intent-to-join.ts +6 -6
  183. package/src/common/errors/join-meeting.ts +12 -8
  184. package/src/common/errors/media.ts +6 -6
  185. package/src/common/errors/parameter.ts +9 -6
  186. package/src/common/errors/password-error.ts +6 -6
  187. package/src/common/errors/permission.ts +5 -5
  188. package/src/common/errors/reconnection.ts +6 -6
  189. package/src/common/errors/stats.ts +6 -6
  190. package/src/common/errors/webex-errors.ts +7 -5
  191. package/src/common/errors/webex-meetings-error.ts +1 -1
  192. package/src/common/events/events-scope.ts +5 -1
  193. package/src/common/events/events.ts +5 -1
  194. package/src/common/events/trigger-proxy.ts +8 -3
  195. package/src/common/events/util.ts +1 -2
  196. package/src/common/logs/logger-proxy.ts +21 -10
  197. package/src/common/logs/request.ts +11 -8
  198. package/src/config.ts +11 -11
  199. package/src/constants.ts +138 -119
  200. package/src/index.js +1 -1
  201. package/src/locus-info/controlsUtils.ts +34 -24
  202. package/src/locus-info/fullState.ts +15 -11
  203. package/src/locus-info/hostUtils.ts +4 -3
  204. package/src/locus-info/index.ts +25 -34
  205. package/src/locus-info/infoUtils.ts +12 -4
  206. package/src/locus-info/mediaSharesUtils.ts +4 -4
  207. package/src/locus-info/parser.ts +45 -68
  208. package/src/locus-info/selfUtils.ts +106 -57
  209. package/src/media/index.ts +118 -109
  210. package/src/media/properties.ts +26 -20
  211. package/src/media/util.ts +2 -2
  212. package/src/mediaQualityMetrics/config.ts +46 -46
  213. package/src/meeting/effectsState.ts +35 -35
  214. package/src/meeting/in-meeting-actions.ts +7 -3
  215. package/src/meeting/index.ts +1435 -1210
  216. package/src/meeting/muteState.ts +62 -31
  217. package/src/meeting/request.ts +160 -113
  218. package/src/meeting/state.ts +45 -30
  219. package/src/meeting/util.ts +131 -90
  220. package/src/meeting-info/collection.ts +2 -1
  221. package/src/meeting-info/index.ts +32 -30
  222. package/src/meeting-info/meeting-info-v2.ts +106 -108
  223. package/src/meeting-info/request.ts +9 -3
  224. package/src/meeting-info/util.ts +54 -46
  225. package/src/meeting-info/utilv2.ts +59 -53
  226. package/src/meetings/collection.ts +1 -1
  227. package/src/meetings/index.ts +513 -441
  228. package/src/meetings/request.ts +26 -24
  229. package/src/meetings/util.ts +26 -23
  230. package/src/member/index.ts +55 -49
  231. package/src/member/util.ts +26 -13
  232. package/src/members/collection.ts +0 -1
  233. package/src/members/index.ts +172 -121
  234. package/src/members/request.ts +46 -14
  235. package/src/members/util.ts +44 -42
  236. package/src/metrics/config.ts +254 -81
  237. package/src/metrics/constants.ts +0 -2
  238. package/src/metrics/index.ts +84 -71
  239. package/src/networkQualityMonitor/index.ts +20 -23
  240. package/src/peer-connection-manager/index.ts +321 -241
  241. package/src/peer-connection-manager/util.ts +4 -2
  242. package/src/personal-meeting-room/index.ts +12 -16
  243. package/src/personal-meeting-room/request.ts +10 -3
  244. package/src/personal-meeting-room/util.ts +3 -3
  245. package/src/reachability/index.ts +61 -59
  246. package/src/reachability/request.ts +36 -32
  247. package/src/reactions/reactions.ts +4 -4
  248. package/src/reactions/reactions.type.ts +2 -3
  249. package/src/reconnection-manager/index.ts +159 -98
  250. package/src/roap/collection.ts +2 -4
  251. package/src/roap/handler.ts +63 -32
  252. package/src/roap/index.ts +78 -58
  253. package/src/roap/request.ts +69 -54
  254. package/src/roap/state.ts +17 -11
  255. package/src/roap/turnDiscovery.ts +60 -31
  256. package/src/roap/util.ts +39 -31
  257. package/src/statsAnalyzer/global.ts +30 -33
  258. package/src/statsAnalyzer/index.ts +397 -169
  259. package/src/statsAnalyzer/mqaUtil.ts +178 -72
  260. package/src/transcription/index.ts +34 -32
  261. package/test/integration/spec/journey.js +666 -462
  262. package/test/integration/spec/space-meeting.js +318 -203
  263. package/test/integration/spec/transcription.js +6 -7
  264. package/test/unit/spec/common/browser-detection.js +9 -28
  265. package/test/unit/spec/fixture/locus.js +92 -90
  266. package/test/unit/spec/locus-info/controlsUtils.js +5 -5
  267. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  268. package/test/unit/spec/locus-info/index.js +1 -2
  269. package/test/unit/spec/locus-info/infoUtils.js +24 -31
  270. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  271. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  272. package/test/unit/spec/locus-info/parser.js +3 -9
  273. package/test/unit/spec/locus-info/selfConstant.js +72 -103
  274. package/test/unit/spec/locus-info/selfUtils.js +21 -12
  275. package/test/unit/spec/meeting/effectsState.js +33 -45
  276. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -3
  277. package/test/unit/spec/meeting/index.js +1141 -649
  278. package/test/unit/spec/meeting/muteState.js +42 -33
  279. package/test/unit/spec/meeting/request.js +56 -45
  280. package/test/unit/spec/meeting/utils.js +66 -49
  281. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  282. package/test/unit/spec/meeting-info/request.js +7 -9
  283. package/test/unit/spec/meeting-info/util.js +11 -12
  284. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  285. package/test/unit/spec/meetings/collection.js +1 -1
  286. package/test/unit/spec/meetings/index.js +438 -257
  287. package/test/unit/spec/meetings/utils.js +14 -12
  288. package/test/unit/spec/member/index.js +0 -1
  289. package/test/unit/spec/member/util.js +5 -6
  290. package/test/unit/spec/members/index.js +84 -35
  291. package/test/unit/spec/members/request.js +29 -20
  292. package/test/unit/spec/members/utils.js +8 -5
  293. package/test/unit/spec/metrics/index.js +16 -21
  294. package/test/unit/spec/networkQualityMonitor/index.js +21 -15
  295. package/test/unit/spec/peerconnection-manager/index.js +88 -58
  296. package/test/unit/spec/peerconnection-manager/utils.js +5 -4
  297. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +7 -8
  298. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  299. package/test/unit/spec/reachability/index.ts +9 -11
  300. package/test/unit/spec/reconnection-manager/index.js +14 -17
  301. package/test/unit/spec/roap/index.ts +18 -8
  302. package/test/unit/spec/roap/turnDiscovery.ts +22 -19
  303. package/test/unit/spec/roap/util.js +3 -3
  304. package/test/unit/spec/stats-analyzer/index.js +29 -24
  305. package/test/utils/cmr.js +44 -42
  306. package/test/utils/testUtils.js +83 -74
  307. package/test/utils/webex-config.js +18 -18
  308. package/test/utils/webex-test-users.js +53 -50
@@ -16,46 +16,46 @@ import MembersRequest from './request';
16
16
  import MembersUtil from './util';
17
17
 
18
18
  /**
19
- * Members Update Event
20
- * Emitted when something in the roster list needs to be updated
21
- * @event members:update
22
- * @instance
23
- * @property {Object} delta the changes to the members list
24
- * @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
25
- * @property {Array} delta.added array added members to the meeting
26
- * @property {Array} full array the full members collection
27
- * @memberof Members
28
- */
19
+ * Members Update Event
20
+ * Emitted when something in the roster list needs to be updated
21
+ * @event members:update
22
+ * @instance
23
+ * @property {Object} delta the changes to the members list
24
+ * @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
25
+ * @property {Array} delta.added array added members to the meeting
26
+ * @property {Array} full array the full members collection
27
+ * @memberof Members
28
+ */
29
29
 
30
30
  /**
31
- * Members Content Update Event
32
- * Emitted when who is sharing changes
33
- * @event members:content:update
34
- * @instance
35
- * @property {String} activeContentSharingId
36
- * @property {String} endedContentSharingId
37
- * @memberof Members
38
- */
31
+ * Members Content Update Event
32
+ * Emitted when who is sharing changes
33
+ * @event members:content:update
34
+ * @instance
35
+ * @property {String} activeContentSharingId
36
+ * @property {String} endedContentSharingId
37
+ * @memberof Members
38
+ */
39
39
 
40
40
  /**
41
- * Members Host Update Event
42
- * Emitted when who is the host changes
43
- * @event members:host:update
44
- * @instance
45
- * @property {String} activeHostId
46
- * @property {String} endedHostId
47
- * @memberof Members
48
- */
41
+ * Members Host Update Event
42
+ * Emitted when who is the host changes
43
+ * @event members:host:update
44
+ * @instance
45
+ * @property {String} activeHostId
46
+ * @property {String} endedHostId
47
+ * @memberof Members
48
+ */
49
49
 
50
50
  /**
51
- * Members Self Update Event
52
- * Emitted when who is the self changes
53
- * @event members:self:update
54
- * @instance
55
- * @property {String} activeSelfId
56
- * @property {String} endedSelfId
57
- * @memberof Members
58
- */
51
+ * Members Self Update Event
52
+ * Emitted when who is the self changes
53
+ * @event members:self:update
54
+ * @instance
55
+ * @property {String} activeSelfId
56
+ * @property {String} endedSelfId
57
+ * @memberof Members
58
+ */
59
59
 
60
60
  /**
61
61
  * @class Members
@@ -87,8 +87,8 @@ export default class Members extends StatelessWebexPlugin {
87
87
  * @type {MembersRequest}
88
88
  * @private
89
89
  * @memberof Members
90
- */
91
- // @ts-ignore
90
+ */
91
+ // @ts-ignore
92
92
  this.membersRequest = new MembersRequest({}, options);
93
93
  /**
94
94
  * The Members Collection cache
@@ -96,7 +96,7 @@ export default class Members extends StatelessWebexPlugin {
96
96
  * @type {MembersCollection}
97
97
  * @private
98
98
  * @memberof Members
99
- */
99
+ */
100
100
  this.membersCollection = new MembersCollection();
101
101
  /**
102
102
  * The current locus url for the active meeting
@@ -104,7 +104,7 @@ export default class Members extends StatelessWebexPlugin {
104
104
  * @type {String}
105
105
  * @private
106
106
  * @memberof Members
107
- */
107
+ */
108
108
  this.locusUrl = attrs.locusUrl || null;
109
109
  /**
110
110
  * The current hostId for the meeting
@@ -112,7 +112,7 @@ export default class Members extends StatelessWebexPlugin {
112
112
  * @type {String}
113
113
  * @private
114
114
  * @memberof Members
115
- */
115
+ */
116
116
  this.hostId = null;
117
117
  /**
118
118
  * The current type for the meeting, could be MEETING or CALL
@@ -120,7 +120,7 @@ export default class Members extends StatelessWebexPlugin {
120
120
  * @type {String}
121
121
  * @private
122
122
  * @memberof Members
123
- */
123
+ */
124
124
  this.type = null;
125
125
  /**
126
126
  * Locus has a self object, sent individually to the client
@@ -134,7 +134,7 @@ export default class Members extends StatelessWebexPlugin {
134
134
  * @type {String}
135
135
  * @private
136
136
  * @memberof Members
137
- */
137
+ */
138
138
  this.selfId = null;
139
139
  /**
140
140
  * The current mediaShareContentId for the meeting
@@ -142,7 +142,7 @@ export default class Members extends StatelessWebexPlugin {
142
142
  * @type {String}
143
143
  * @private
144
144
  * @memberof Members
145
- */
145
+ */
146
146
  this.mediaShareContentId = null;
147
147
  /**
148
148
  * The current mediaShareWhiteboardId for the meeting
@@ -150,7 +150,7 @@ export default class Members extends StatelessWebexPlugin {
150
150
  * @type {String}
151
151
  * @private
152
152
  * @memberof Members
153
- */
153
+ */
154
154
  this.mediaShareWhiteboardId = null;
155
155
  /**
156
156
  * The current recordingId for the meeting, if it exists
@@ -158,7 +158,7 @@ export default class Members extends StatelessWebexPlugin {
158
158
  * @type {String}
159
159
  * @private
160
160
  * @memberof Members
161
- */
161
+ */
162
162
  this.recordingId = null;
163
163
  }
164
164
 
@@ -171,7 +171,7 @@ export default class Members extends StatelessWebexPlugin {
171
171
  * @private
172
172
  * @memberof Members
173
173
  */
174
- locusSelfUpdate(payload: { newSelf: any; oldSelf: any }) {
174
+ locusSelfUpdate(payload: {newSelf: any; oldSelf: any}) {
175
175
  let newSelfId = null;
176
176
  let oldSelfId = null;
177
177
 
@@ -202,12 +202,12 @@ export default class Members extends StatelessWebexPlugin {
202
202
  this,
203
203
  {
204
204
  file: 'members',
205
- function: 'locusSelfUpdate'
205
+ function: 'locusSelfUpdate',
206
206
  },
207
207
  EVENT_TRIGGERS.MEMBERS_SELF_UPDATE,
208
208
  {
209
209
  activeSelfId: newSelfId,
210
- endedSelfId: oldSelfId
210
+ endedSelfId: oldSelfId,
211
211
  }
212
212
  );
213
213
  }
@@ -221,7 +221,7 @@ export default class Members extends StatelessWebexPlugin {
221
221
  * @private
222
222
  * @memberof Members
223
223
  */
224
- locusHostUpdate(payload: { newHost: any; oldHost: any }) {
224
+ locusHostUpdate(payload: {newHost: any; oldHost: any}) {
225
225
  let newHostId = null;
226
226
  let oldHostId = null;
227
227
 
@@ -252,12 +252,12 @@ export default class Members extends StatelessWebexPlugin {
252
252
  this,
253
253
  {
254
254
  file: 'members',
255
- function: 'locusHostUpdate'
255
+ function: 'locusHostUpdate',
256
256
  },
257
257
  EVENT_TRIGGERS.MEMBERS_HOST_UPDATE,
258
258
  {
259
259
  activeHostId: newHostId,
260
- endedHostId: oldHostId
260
+ endedHostId: oldHostId,
261
261
  }
262
262
  );
263
263
  }
@@ -271,7 +271,7 @@ export default class Members extends StatelessWebexPlugin {
271
271
  * @private
272
272
  * @memberof Members
273
273
  */
274
- locusParticipantsUpdate(payload: { participants: object }) {
274
+ locusParticipantsUpdate(payload: {participants: object}) {
275
275
  if (payload) {
276
276
  const delta = this.handleLocusInfoUpdatedParticipants(payload);
277
277
  const full = this.handleMembersUpdate(delta); // SDK should propagate the full list for both delta and non delta updates
@@ -280,12 +280,12 @@ export default class Members extends StatelessWebexPlugin {
280
280
  this,
281
281
  {
282
282
  file: 'members',
283
- function: 'locusParticipantsUpdate'
283
+ function: 'locusParticipantsUpdate',
284
284
  },
285
285
  EVENT_TRIGGERS.MEMBERS_UPDATE,
286
286
  {
287
287
  delta,
288
- full
288
+ full,
289
289
  }
290
290
  );
291
291
  }
@@ -300,7 +300,7 @@ export default class Members extends StatelessWebexPlugin {
300
300
  * @private
301
301
  * @memberof Members
302
302
  */
303
- locusMediaSharesUpdate(payload: { current: any; previous: any }) {
303
+ locusMediaSharesUpdate(payload: {current: any; previous: any}) {
304
304
  const currentContent = payload.current?.content;
305
305
  const previousContent = payload.previous?.content;
306
306
  const currentWhiteboard = payload.current?.whiteboard;
@@ -319,8 +319,10 @@ export default class Members extends StatelessWebexPlugin {
319
319
  if (currentContent.disposition === FLOOR_ACTION.RELEASED) {
320
320
  whoStopped = currentContent.beneficiaryId;
321
321
  this.mediaShareContentId = null;
322
- }
323
- else if (currentContent.disposition === FLOOR_ACTION.GRANTED && currentContent.beneficiaryId !== previousContent.beneficiaryId) {
322
+ } else if (
323
+ currentContent.disposition === FLOOR_ACTION.GRANTED &&
324
+ currentContent.beneficiaryId !== previousContent.beneficiaryId
325
+ ) {
324
326
  whoStopped = previousContent.beneficiaryId;
325
327
  }
326
328
  }
@@ -337,8 +339,10 @@ export default class Members extends StatelessWebexPlugin {
337
339
  if (currentWhiteboard.disposition === FLOOR_ACTION.RELEASED) {
338
340
  whoStopped = currentWhiteboard.beneficiaryId;
339
341
  this.mediaShareWhiteboardId = null;
340
- }
341
- else if (currentWhiteboard.disposition === FLOOR_ACTION.GRANTED && currentWhiteboard.beneficiaryId !== previousWhiteboard.beneficiaryId) {
342
+ } else if (
343
+ currentWhiteboard.disposition === FLOOR_ACTION.GRANTED &&
344
+ currentWhiteboard.beneficiaryId !== previousWhiteboard.beneficiaryId
345
+ ) {
342
346
  whoStopped = previousWhiteboard.beneficiaryId;
343
347
  }
344
348
  }
@@ -363,17 +367,16 @@ export default class Members extends StatelessWebexPlugin {
363
367
  this,
364
368
  {
365
369
  file: 'members',
366
- function: 'locusMediaSharesUpdate'
370
+ function: 'locusMediaSharesUpdate',
367
371
  },
368
372
  EVENT_TRIGGERS.MEMBERS_CONTENT_UPDATE,
369
373
  {
370
374
  activeSharingId: whoSharing,
371
- endedSharingId: whoStopped
375
+ endedSharingId: whoStopped,
372
376
  }
373
377
  );
374
378
  }
375
379
 
376
-
377
380
  /**
378
381
  * Internal update the locus url value
379
382
  * @param {Object} payload
@@ -396,7 +399,7 @@ export default class Members extends StatelessWebexPlugin {
396
399
  * @private
397
400
  * @memberof Members
398
401
  */
399
- locusFullStateTypeUpdate(payload: { type: string }) {
402
+ locusFullStateTypeUpdate(payload: {type: string}) {
400
403
  // TODO: at some point there could be a timing issue here, for updating each member
401
404
  // ie., if the type changes AND there is no locus update, then each member will not know the type of call
402
405
  // which means they cannot determine isMutable && isRemovable
@@ -453,7 +456,9 @@ export default class Members extends StatelessWebexPlugin {
453
456
  this.selfId = payload.selfId || this.selfId;
454
457
  this.recordingId = payload.recordingId;
455
458
  if (!payload.participants) {
456
- LoggerProxy.logger.warn('Members:index#handleLocusInfoUpdatedParticipants --> participants payload is missing.');
459
+ LoggerProxy.logger.warn(
460
+ 'Members:index#handleLocusInfoUpdatedParticipants --> participants payload is missing.'
461
+ );
457
462
  }
458
463
  const memberUpdate = this.update(payload.participants);
459
464
 
@@ -472,12 +477,12 @@ export default class Members extends StatelessWebexPlugin {
472
477
  public setLocusUrl(locus: any, locusUrl: string = null) {
473
478
  if (locusUrl) {
474
479
  this.locusUrl = locusUrl;
475
- }
476
- else if (locus && (locus.locusUrl || locus.url)) {
480
+ } else if (locus && (locus.locusUrl || locus.url)) {
477
481
  this.locusUrl = locus.locusUrl || locus.url;
478
- }
479
- else {
480
- throw new ParameterError('Setting locusUrl for the Members module should be done with a locus object or locusUrl');
482
+ } else {
483
+ throw new ParameterError(
484
+ 'Setting locusUrl for the Members module should be done with a locus object or locusUrl'
485
+ );
481
486
  }
482
487
  }
483
488
 
@@ -493,12 +498,12 @@ export default class Members extends StatelessWebexPlugin {
493
498
  public setHostId(locus: any, hostId: string = null) {
494
499
  if (hostId) {
495
500
  this.hostId = hostId;
496
- }
497
- else if (locus) {
501
+ } else if (locus) {
498
502
  this.hostId = locus && locus.owner && locus.owner.info ? locus.owner.info : null;
499
- }
500
- else {
501
- throw new ParameterError('Setting hostid for the Members module should be done with a locus object or hostId');
503
+ } else {
504
+ throw new ParameterError(
505
+ 'Setting hostid for the Members module should be done with a locus object or hostId'
506
+ );
502
507
  }
503
508
  }
504
509
 
@@ -514,12 +519,12 @@ export default class Members extends StatelessWebexPlugin {
514
519
  public setType(fullState: any, type: string = null) {
515
520
  if (type) {
516
521
  this.type = type;
517
- }
518
- else if (fullState) {
522
+ } else if (fullState) {
519
523
  this.type = (fullState && fullState.type) || null;
520
- }
521
- else {
522
- throw new ParameterError('Setting type for the Members module should be done with a fullstate object or type string');
524
+ } else {
525
+ throw new ParameterError(
526
+ 'Setting type for the Members module should be done with a fullstate object or type string'
527
+ );
523
528
  }
524
529
  }
525
530
 
@@ -534,12 +539,15 @@ export default class Members extends StatelessWebexPlugin {
534
539
  setSelfId(locus: any, selfId: string = null) {
535
540
  if (selfId) {
536
541
  this.selfId = selfId;
537
- }
538
- else if (locus) {
539
- this.selfId = locus && locus.self && locus.self.person && locus.self.person.id ? locus.self.person.id : null;
540
- }
541
- else {
542
- throw new ParameterError('Setting selfid for the Members module should be done with a locus object or selfId');
542
+ } else if (locus) {
543
+ this.selfId =
544
+ locus && locus.self && locus.self.person && locus.self.person.id
545
+ ? locus.self.person.id
546
+ : null;
547
+ } else {
548
+ throw new ParameterError(
549
+ 'Setting selfid for the Members module should be done with a locus object or selfId'
550
+ );
543
551
  }
544
552
  }
545
553
 
@@ -554,8 +562,7 @@ export default class Members extends StatelessWebexPlugin {
554
562
  setMediaShareContentId(locus: any, contentId?: string) {
555
563
  if (contentId) {
556
564
  this.mediaShareContentId = contentId;
557
- }
558
- else if (locus) {
565
+ } else if (locus) {
559
566
  const contentMediaShare =
560
567
  locus.mediaShares &&
561
568
  locus.mediaShares.length &&
@@ -567,9 +574,10 @@ export default class Members extends StatelessWebexPlugin {
567
574
  contentMediaShare.floor.beneficiary &&
568
575
  contentMediaShare.floor.beneficiary.id) ||
569
576
  null;
570
- }
571
- else {
572
- throw new ParameterError('Setting hostid for the Members module should be done with a locus object or hostId');
577
+ } else {
578
+ throw new ParameterError(
579
+ 'Setting hostid for the Members module should be done with a locus object or hostId'
580
+ );
573
581
  }
574
582
  }
575
583
 
@@ -584,8 +592,7 @@ export default class Members extends StatelessWebexPlugin {
584
592
  setMediaShareWhiteboardId(locus: any, whiteboardId?: string) {
585
593
  if (whiteboardId) {
586
594
  this.mediaShareWhiteboardId = whiteboardId;
587
- }
588
- else if (locus) {
595
+ } else if (locus) {
589
596
  const whiteboardMediaShare =
590
597
  locus.mediaShares &&
591
598
  locus.mediaShares.length &&
@@ -597,9 +604,10 @@ export default class Members extends StatelessWebexPlugin {
597
604
  whiteboardMediaShare.floor.beneficiary &&
598
605
  whiteboardMediaShare.floor.beneficiary.id) ||
599
606
  null;
600
- }
601
- else {
602
- throw new ParameterError('Setting hostid for the Members module should be done with a locus object or hostId');
607
+ } else {
608
+ throw new ParameterError(
609
+ 'Setting hostid for the Members module should be done with a locus object or hostId'
610
+ );
603
611
  }
604
612
  }
605
613
 
@@ -632,11 +640,10 @@ export default class Members extends StatelessWebexPlugin {
632
640
  hostId: this.hostId,
633
641
  contentSharingId: this.mediaShareContentId,
634
642
  whiteboardSharingId: this.mediaShareWhiteboardId,
635
- type: this.type
643
+ type: this.type,
636
644
  })
637
645
  );
638
- }
639
- else {
646
+ } else {
640
647
  membersUpdate.added.push(
641
648
  new Member(participant, {
642
649
  recordingId: this.recordingId,
@@ -644,7 +651,7 @@ export default class Members extends StatelessWebexPlugin {
644
651
  hostId: this.hostId,
645
652
  contentSharingId: this.mediaShareContentId,
646
653
  whiteboardSharingId: this.mediaShareWhiteboardId,
647
- type: this.type
654
+ type: this.type,
648
655
  })
649
656
  );
650
657
  }
@@ -663,11 +670,15 @@ export default class Members extends StatelessWebexPlugin {
663
670
  */
664
671
  addMember(invitee: any, alertIfActive?: boolean) {
665
672
  if (!this.locusUrl) {
666
- return Promise.reject(new ParameterError('The associated locus url for this meeting object must be defined.'));
673
+ return Promise.reject(
674
+ new ParameterError('The associated locus url for this meeting object must be defined.')
675
+ );
667
676
  }
668
677
  if (MembersUtil.isInvalidInvitee(invitee)) {
669
678
  return Promise.reject(
670
- new ParameterError('The invitee must be defined with either a valid email, emailAddress or phoneNumber property.')
679
+ new ParameterError(
680
+ 'The invitee must be defined with either a valid email, emailAddress or phoneNumber property.'
681
+ )
671
682
  );
672
683
  }
673
684
  const options = MembersUtil.generateAddMemberOptions(invitee, this.locusUrl, alertIfActive);
@@ -683,7 +694,9 @@ export default class Members extends StatelessWebexPlugin {
683
694
  */
684
695
  cancelPhoneInvite(invitee: any) {
685
696
  if (!this.locusUrl) {
686
- return Promise.reject(new ParameterError('The associated locus url for this meeting object must be defined.'));
697
+ return Promise.reject(
698
+ new ParameterError('The associated locus url for this meeting object must be defined.')
699
+ );
687
700
  }
688
701
  if (MembersUtil.isInvalidInvitee(invitee)) {
689
702
  return Promise.reject(
@@ -692,7 +705,6 @@ export default class Members extends StatelessWebexPlugin {
692
705
  }
693
706
  const options = MembersUtil.cancelPhoneInviteOptions(invitee, this.locusUrl);
694
707
 
695
-
696
708
  return this.membersRequest.cancelPhoneInvite(options);
697
709
  }
698
710
 
@@ -721,10 +733,14 @@ export default class Members extends StatelessWebexPlugin {
721
733
  */
722
734
  public removeMember(memberId: string) {
723
735
  if (!this.locusUrl) {
724
- return Promise.reject(new ParameterError('The associated locus url for this meeting object must be defined.'));
736
+ return Promise.reject(
737
+ new ParameterError('The associated locus url for this meeting object must be defined.')
738
+ );
725
739
  }
726
740
  if (!memberId) {
727
- return Promise.reject(new ParameterError('The member id must be defined to remove the member.'));
741
+ return Promise.reject(
742
+ new ParameterError('The member id must be defined to remove the member.')
743
+ );
728
744
  }
729
745
  const options = MembersUtil.generateRemoveMemberOptions(memberId, this.locusUrl);
730
746
 
@@ -739,12 +755,18 @@ export default class Members extends StatelessWebexPlugin {
739
755
  * @public
740
756
  * @memberof Members
741
757
  */
742
- public muteMember(memberId: string, mute: boolean = true) {
758
+ public muteMember(memberId: string, mute = true) {
743
759
  if (!this.locusUrl) {
744
- return Promise.reject(new ParameterError('The associated locus url for this meetings members object must be defined.'));
760
+ return Promise.reject(
761
+ new ParameterError(
762
+ 'The associated locus url for this meetings members object must be defined.'
763
+ )
764
+ );
745
765
  }
746
766
  if (!memberId) {
747
- return Promise.reject(new ParameterError('The member id must be defined to mute the member.'));
767
+ return Promise.reject(
768
+ new ParameterError('The member id must be defined to mute the member.')
769
+ );
748
770
  }
749
771
  const options = MembersUtil.generateMuteMemberOptions(memberId, mute, this.locusUrl);
750
772
 
@@ -759,12 +781,18 @@ export default class Members extends StatelessWebexPlugin {
759
781
  * @public
760
782
  * @memberof Members
761
783
  */
762
- public raiseOrLowerHand(memberId: string, raise: boolean = true) {
784
+ public raiseOrLowerHand(memberId: string, raise = true) {
763
785
  if (!this.locusUrl) {
764
- return Promise.reject(new ParameterError('The associated locus url for this meetings members object must be defined.'));
786
+ return Promise.reject(
787
+ new ParameterError(
788
+ 'The associated locus url for this meetings members object must be defined.'
789
+ )
790
+ );
765
791
  }
766
792
  if (!memberId) {
767
- return Promise.reject(new ParameterError('The member id must be defined to raise/lower the hand of the member.'));
793
+ return Promise.reject(
794
+ new ParameterError('The member id must be defined to raise/lower the hand of the member.')
795
+ );
768
796
  }
769
797
  const options = MembersUtil.generateRaiseHandMemberOptions(memberId, raise, this.locusUrl);
770
798
 
@@ -780,17 +808,27 @@ export default class Members extends StatelessWebexPlugin {
780
808
  */
781
809
  public lowerAllHands(requestingMemberId: string) {
782
810
  if (!this.locusUrl) {
783
- return Promise.reject(new ParameterError('The associated locus url for this meetings members object must be defined.'));
811
+ return Promise.reject(
812
+ new ParameterError(
813
+ 'The associated locus url for this meetings members object must be defined.'
814
+ )
815
+ );
784
816
  }
785
817
  if (!requestingMemberId) {
786
- return Promise.reject(new ParameterError('The requestingMemberId must be defined to lower all hands in a meeting.'));
818
+ return Promise.reject(
819
+ new ParameterError(
820
+ 'The requestingMemberId must be defined to lower all hands in a meeting.'
821
+ )
822
+ );
787
823
  }
788
- const options = MembersUtil.generateLowerAllHandsMemberOptions(requestingMemberId, this.locusUrl);
824
+ const options = MembersUtil.generateLowerAllHandsMemberOptions(
825
+ requestingMemberId,
826
+ this.locusUrl
827
+ );
789
828
 
790
829
  return this.membersRequest.lowerAllHandsMember(options);
791
830
  }
792
831
 
793
-
794
832
  /**
795
833
  * Transfers the host to another member
796
834
  * @param {String} memberId
@@ -799,19 +837,28 @@ export default class Members extends StatelessWebexPlugin {
799
837
  * @public
800
838
  * @memberof Members
801
839
  */
802
- public transferHostToMember(memberId: string, moderator: boolean = true) {
840
+ public transferHostToMember(memberId: string, moderator = true) {
803
841
  if (!this.locusUrl) {
804
- return Promise.reject(new ParameterError('The associated locus url for this meetings members object must be defined.'));
842
+ return Promise.reject(
843
+ new ParameterError(
844
+ 'The associated locus url for this meetings members object must be defined.'
845
+ )
846
+ );
805
847
  }
806
848
  if (!memberId) {
807
- return Promise.reject(new ParameterError('The member id must be defined to transfer host to the member.'));
849
+ return Promise.reject(
850
+ new ParameterError('The member id must be defined to transfer host to the member.')
851
+ );
808
852
  }
809
- const options = MembersUtil.generateTransferHostMemberOptions(memberId, moderator, this.locusUrl);
853
+ const options = MembersUtil.generateTransferHostMemberOptions(
854
+ memberId,
855
+ moderator,
856
+ this.locusUrl
857
+ );
810
858
 
811
859
  return this.membersRequest.transferHostToMember(options);
812
860
  }
813
861
 
814
-
815
862
  /**
816
863
  * Sends DTMF tones for the PSTN member of a meeting
817
864
  * @param {String} tones a string of one or more DTMF tones to send
@@ -820,7 +867,7 @@ export default class Members extends StatelessWebexPlugin {
820
867
  * @public
821
868
  * @memberof Members
822
869
  */
823
- public sendDialPadKey(tones: string = '', memberId: string = '') {
870
+ public sendDialPadKey(tones = '', memberId = '') {
824
871
  // @ts-ignore
825
872
  if (!tones && tones !== 0) {
826
873
  return Promise.reject(new ParameterError('DMTF tones must be passed in'));
@@ -844,6 +891,10 @@ export default class Members extends StatelessWebexPlugin {
844
891
  return this.membersRequest.sendDialPadKey(options);
845
892
  }
846
893
 
847
- return Promise.reject(new Error('Members:index#sendDialPadKey --> cannot send DTMF, meeting does not have a connection to the "locus" call control service.'));
894
+ return Promise.reject(
895
+ new Error(
896
+ 'Members:index#sendDialPadKey --> cannot send DTMF, meeting does not have a connection to the "locus" call control service.'
897
+ )
898
+ );
848
899
  }
849
900
  }