@webex/plugin-meetings 3.8.1-next.8 → 3.8.1

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 (230) hide show
  1. package/README.md +13 -26
  2. package/dist/annotation/annotation.types.d.ts +42 -0
  3. package/dist/annotation/constants.d.ts +31 -0
  4. package/dist/annotation/index.d.ts +117 -0
  5. package/dist/breakouts/breakout.d.ts +8 -0
  6. package/dist/breakouts/breakout.js +1 -1
  7. package/dist/breakouts/collection.d.ts +5 -0
  8. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  9. package/dist/breakouts/events.d.ts +8 -0
  10. package/dist/breakouts/index.d.ts +5 -0
  11. package/dist/breakouts/index.js +1 -1
  12. package/dist/breakouts/request.d.ts +22 -0
  13. package/dist/breakouts/utils.d.ts +15 -0
  14. package/dist/common/browser-detection.d.ts +9 -0
  15. package/dist/common/collection.d.ts +48 -0
  16. package/dist/common/config.d.ts +2 -0
  17. package/dist/common/errors/captcha-error.d.ts +15 -0
  18. package/dist/common/errors/intent-to-join.d.ts +16 -0
  19. package/dist/common/errors/join-meeting.d.ts +17 -0
  20. package/dist/common/errors/media.d.ts +15 -0
  21. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  22. package/dist/common/errors/parameter.d.ts +15 -0
  23. package/dist/common/errors/password-error.d.ts +15 -0
  24. package/dist/common/errors/permission.d.ts +14 -0
  25. package/dist/common/errors/reclaim-host-role-error.d.ts +60 -0
  26. package/dist/common/errors/reclaim-host-role-error.js +158 -0
  27. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  28. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  29. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  30. package/dist/common/errors/reconnection-in-progress.js +35 -0
  31. package/dist/common/errors/reconnection-in-progress.js.map +1 -0
  32. package/dist/common/errors/reconnection.d.ts +15 -0
  33. package/dist/common/errors/stats.d.ts +15 -0
  34. package/dist/common/errors/webex-errors.d.ts +81 -0
  35. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  36. package/dist/common/events/events-scope.d.ts +17 -0
  37. package/dist/common/events/events.d.ts +12 -0
  38. package/dist/common/events/trigger-proxy.d.ts +2 -0
  39. package/dist/common/events/util.d.ts +2 -0
  40. package/dist/common/logs/logger-config.d.ts +2 -0
  41. package/dist/common/logs/logger-proxy.d.ts +2 -0
  42. package/dist/common/logs/request.d.ts +34 -0
  43. package/dist/common/queue.d.ts +32 -0
  44. package/dist/config.d.ts +73 -0
  45. package/dist/constants.d.ts +952 -0
  46. package/dist/constants.js +1 -8
  47. package/dist/constants.js.map +1 -1
  48. package/dist/controls-options-manager/constants.d.ts +4 -0
  49. package/dist/controls-options-manager/enums.d.ts +5 -0
  50. package/dist/controls-options-manager/enums.js +0 -1
  51. package/dist/controls-options-manager/enums.js.map +1 -1
  52. package/dist/controls-options-manager/index.d.ts +120 -0
  53. package/dist/controls-options-manager/types.d.ts +43 -0
  54. package/dist/controls-options-manager/types.js.map +1 -1
  55. package/dist/controls-options-manager/util.d.ts +7 -0
  56. package/dist/controls-options-manager/util.js +0 -26
  57. package/dist/controls-options-manager/util.js.map +1 -1
  58. package/dist/index.d.ts +4 -0
  59. package/dist/interceptors/index.d.ts +2 -0
  60. package/dist/interceptors/locusRetry.d.ts +27 -0
  61. package/dist/interpretation/collection.d.ts +5 -0
  62. package/dist/interpretation/index.d.ts +5 -0
  63. package/dist/interpretation/index.js +1 -1
  64. package/dist/interpretation/siLanguage.d.ts +5 -0
  65. package/dist/interpretation/siLanguage.js +1 -1
  66. package/dist/locus-info/controlsUtils.d.ts +2 -0
  67. package/dist/locus-info/controlsUtils.js +3 -11
  68. package/dist/locus-info/controlsUtils.js.map +1 -1
  69. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  70. package/dist/locus-info/fullState.d.ts +2 -0
  71. package/dist/locus-info/hostUtils.d.ts +2 -0
  72. package/dist/locus-info/index.d.ts +269 -0
  73. package/dist/locus-info/index.js +0 -30
  74. package/dist/locus-info/index.js.map +1 -1
  75. package/dist/locus-info/infoUtils.d.ts +2 -0
  76. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  77. package/dist/locus-info/parser.d.ts +212 -0
  78. package/dist/locus-info/selfUtils.d.ts +2 -0
  79. package/dist/media/index.d.ts +32 -0
  80. package/dist/media/properties.d.ts +108 -0
  81. package/dist/media/util.d.ts +2 -0
  82. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  83. package/dist/mediaQualityMetrics/config.js +513 -0
  84. package/dist/mediaQualityMetrics/config.js.map +1 -0
  85. package/dist/meeting/brbState.js +2 -3
  86. package/dist/meeting/brbState.js.map +1 -1
  87. package/dist/meeting/effectsState.d.ts +42 -0
  88. package/dist/meeting/effectsState.js +260 -0
  89. package/dist/meeting/effectsState.js.map +1 -0
  90. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  91. package/dist/meeting/in-meeting-actions.js +1 -5
  92. package/dist/meeting/in-meeting-actions.js.map +1 -1
  93. package/dist/meeting/index.d.ts +1622 -0
  94. package/dist/meeting/index.js +66 -88
  95. package/dist/meeting/index.js.map +1 -1
  96. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  97. package/dist/meeting/muteState.d.ts +116 -0
  98. package/dist/meeting/request.d.ts +257 -0
  99. package/dist/meeting/request.type.d.ts +11 -0
  100. package/dist/meeting/state.d.ts +9 -0
  101. package/dist/meeting/util.d.ts +2 -0
  102. package/dist/meeting/voicea-meeting.d.ts +16 -0
  103. package/dist/meeting-info/collection.d.ts +20 -0
  104. package/dist/meeting-info/index.d.ts +57 -0
  105. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  106. package/dist/meeting-info/request.d.ts +22 -0
  107. package/dist/meeting-info/util.d.ts +2 -0
  108. package/dist/meeting-info/utilv2.d.ts +2 -0
  109. package/dist/meetings/collection.d.ts +23 -0
  110. package/dist/meetings/index.d.ts +296 -0
  111. package/dist/meetings/meetings.types.d.ts +4 -0
  112. package/dist/meetings/request.d.ts +27 -0
  113. package/dist/meetings/util.d.ts +18 -0
  114. package/dist/member/index.d.ts +148 -0
  115. package/dist/member/member.types.d.ts +11 -0
  116. package/dist/member/member.types.js +18 -0
  117. package/dist/member/member.types.js.map +1 -0
  118. package/dist/member/types.d.ts +32 -0
  119. package/dist/member/util.d.ts +2 -0
  120. package/dist/members/collection.d.ts +24 -0
  121. package/dist/members/index.d.ts +308 -0
  122. package/dist/members/request.d.ts +58 -0
  123. package/dist/members/types.d.ts +25 -0
  124. package/dist/members/util.d.ts +2 -0
  125. package/dist/metrics/config.d.ts +169 -0
  126. package/dist/metrics/config.js +289 -0
  127. package/dist/metrics/config.js.map +1 -0
  128. package/dist/metrics/constants.d.ts +59 -0
  129. package/dist/metrics/constants.js +0 -1
  130. package/dist/metrics/constants.js.map +1 -1
  131. package/dist/metrics/index.d.ts +152 -0
  132. package/dist/multistream/mediaRequestManager.d.ts +119 -0
  133. package/dist/multistream/receiveSlot.d.ts +68 -0
  134. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  135. package/dist/multistream/remoteMedia.d.ts +72 -0
  136. package/dist/multistream/remoteMediaGroup.d.ts +49 -0
  137. package/dist/multistream/remoteMediaManager.d.ts +300 -0
  138. package/dist/multistream/sendSlotManager.d.ts +69 -0
  139. package/dist/networkQualityMonitor/index.d.ts +70 -0
  140. package/dist/networkQualityMonitor/index.js +226 -0
  141. package/dist/networkQualityMonitor/index.js.map +1 -0
  142. package/dist/peer-connection-manager/index.d.ts +6 -0
  143. package/dist/peer-connection-manager/index.js +671 -0
  144. package/dist/peer-connection-manager/index.js.map +1 -0
  145. package/dist/peer-connection-manager/util.d.ts +6 -0
  146. package/dist/peer-connection-manager/util.js +110 -0
  147. package/dist/peer-connection-manager/util.js.map +1 -0
  148. package/dist/personal-meeting-room/index.d.ts +47 -0
  149. package/dist/personal-meeting-room/request.d.ts +14 -0
  150. package/dist/personal-meeting-room/util.d.ts +2 -0
  151. package/dist/reachability/clusterReachability.d.ts +109 -0
  152. package/dist/reachability/index.d.ts +139 -0
  153. package/dist/reachability/index.js +10 -5
  154. package/dist/reachability/index.js.map +1 -1
  155. package/dist/reachability/request.d.ts +35 -0
  156. package/dist/reachability/util.d.ts +8 -0
  157. package/dist/reactions/constants.d.ts +3 -0
  158. package/dist/reactions/reactions.d.ts +4 -0
  159. package/dist/reactions/reactions.type.d.ts +32 -0
  160. package/dist/reconnection-manager/index.d.ts +112 -0
  161. package/dist/recording-controller/enums.d.ts +7 -0
  162. package/dist/recording-controller/index.d.ts +193 -0
  163. package/dist/recording-controller/util.d.ts +13 -0
  164. package/dist/roap/collection.d.ts +10 -0
  165. package/dist/roap/collection.js +63 -0
  166. package/dist/roap/collection.js.map +1 -0
  167. package/dist/roap/handler.d.ts +47 -0
  168. package/dist/roap/handler.js +279 -0
  169. package/dist/roap/handler.js.map +1 -0
  170. package/dist/roap/index.d.ts +116 -0
  171. package/dist/roap/request.d.ts +35 -0
  172. package/dist/roap/state.d.ts +9 -0
  173. package/dist/roap/state.js +127 -0
  174. package/dist/roap/state.js.map +1 -0
  175. package/dist/roap/turnDiscovery.d.ts +81 -0
  176. package/dist/roap/util.d.ts +2 -0
  177. package/dist/roap/util.js +76 -0
  178. package/dist/roap/util.js.map +1 -0
  179. package/dist/rtcMetrics/constants.d.ts +4 -0
  180. package/dist/rtcMetrics/constants.js +11 -0
  181. package/dist/rtcMetrics/constants.js.map +1 -0
  182. package/dist/rtcMetrics/index.d.ts +61 -0
  183. package/dist/rtcMetrics/index.js +197 -0
  184. package/dist/rtcMetrics/index.js.map +1 -0
  185. package/dist/statsAnalyzer/global.d.ts +118 -0
  186. package/dist/statsAnalyzer/global.js +127 -0
  187. package/dist/statsAnalyzer/global.js.map +1 -0
  188. package/dist/statsAnalyzer/index.d.ts +193 -0
  189. package/dist/statsAnalyzer/index.js +1019 -0
  190. package/dist/statsAnalyzer/index.js.map +1 -0
  191. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  192. package/dist/statsAnalyzer/mqaUtil.js +181 -0
  193. package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
  194. package/dist/transcription/index.d.ts +64 -0
  195. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  196. package/dist/types/constants.d.ts +0 -6
  197. package/dist/types/controls-options-manager/enums.d.ts +1 -2
  198. package/dist/types/controls-options-manager/types.d.ts +1 -4
  199. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  200. package/dist/types/meeting/in-meeting-actions.d.ts +0 -4
  201. package/dist/types/metrics/constants.d.ts +0 -1
  202. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  203. package/dist/types/reachability/index.d.ts +2 -2
  204. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  205. package/dist/types/rtcMetrics/index.d.ts +71 -0
  206. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  207. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  208. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  209. package/dist/webinar/collection.d.ts +16 -0
  210. package/dist/webinar/index.d.ts +5 -0
  211. package/dist/webinar/index.js +1 -1
  212. package/package.json +22 -22
  213. package/src/constants.ts +0 -9
  214. package/src/controls-options-manager/enums.ts +0 -1
  215. package/src/controls-options-manager/types.ts +1 -6
  216. package/src/controls-options-manager/util.ts +0 -31
  217. package/src/locus-info/controlsUtils.ts +0 -15
  218. package/src/locus-info/index.ts +0 -41
  219. package/src/meeting/brbState.ts +2 -4
  220. package/src/meeting/in-meeting-actions.ts +0 -8
  221. package/src/meeting/index.ts +29 -62
  222. package/src/metrics/constants.ts +0 -1
  223. package/src/reachability/index.ts +13 -5
  224. package/test/unit/spec/controls-options-manager/util.js +0 -58
  225. package/test/unit/spec/locus-info/controlsUtils.js +0 -52
  226. package/test/unit/spec/locus-info/index.js +0 -42
  227. package/test/unit/spec/meeting/brbState.ts +2 -21
  228. package/test/unit/spec/meeting/in-meeting-actions.ts +0 -4
  229. package/test/unit/spec/meeting/index.js +27 -130
  230. package/test/unit/spec/reachability/index.ts +6 -2
@@ -0,0 +1,217 @@
1
+ /// <reference types="node" />
2
+ import EventsScope from '../common/events/events-scope';
3
+ import { ReceiveSlot } from '../multistream/receiveSlot';
4
+ export declare const EVENTS: {
5
+ MEDIA_QUALITY: string;
6
+ LOCAL_MEDIA_STARTED: string;
7
+ LOCAL_MEDIA_STOPPED: string;
8
+ REMOTE_MEDIA_STARTED: string;
9
+ REMOTE_MEDIA_STOPPED: string;
10
+ };
11
+ type ReceiveSlotCallback = (csi: number) => ReceiveSlot | undefined;
12
+ type MediaStatus = {
13
+ actual?: any;
14
+ expected?: any;
15
+ };
16
+ /**
17
+ * Stats Analyzer class that will emit events based on detected quality
18
+ *
19
+ * @export
20
+ * @class StatsAnalyzer
21
+ * @extends {EventsScope}
22
+ */
23
+ export declare class StatsAnalyzer extends EventsScope {
24
+ config: any;
25
+ correlationId: any;
26
+ lastEmittedStartStopEvent: any;
27
+ lastMqaDataSent: any;
28
+ lastStatsResults: any;
29
+ meetingMediaStatus: any;
30
+ mqaInterval: NodeJS.Timeout;
31
+ mqaSentCount: any;
32
+ networkQualityMonitor: any;
33
+ mediaConnection: any;
34
+ statsInterval: NodeJS.Timeout;
35
+ statsResults: any;
36
+ statsStarted: any;
37
+ successfulCandidatePair: any;
38
+ localIpAddress: string;
39
+ receiveSlotCallback: ReceiveSlotCallback;
40
+ /**
41
+ * Creates a new instance of StatsAnalyzer
42
+ * @constructor
43
+ * @public
44
+ * @param {Object} config SDK Configuration Object
45
+ * @param {Function} receiveSlotCallback Callback used to access receive slots.
46
+ * @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
47
+ * @param {Object} statsResults Default properties for stats
48
+ */
49
+ constructor(config: any, receiveSlotCallback?: ReceiveSlotCallback, networkQualityMonitor?: object, statsResults?: object);
50
+ /**
51
+ * Resets cumulative stats arrays.
52
+ *
53
+ * @public
54
+ * @memberof StatsAnalyzer
55
+ * @returns {void}
56
+ */
57
+ resetStatsResults(): void;
58
+ /**
59
+ * sets mediaStatus status for analyzing metrics
60
+ *
61
+ * @public
62
+ * @param {Object} status for the audio and video
63
+ * @memberof StatsAnalyzer
64
+ * @returns {void}
65
+ */
66
+ updateMediaStatus(status: MediaStatus): void;
67
+ /**
68
+ * captures MQA data from media connection
69
+ *
70
+ * @public
71
+ * @memberof StatsAnalyzer
72
+ * @returns {void}
73
+ */
74
+ sendMqaData(): void;
75
+ /**
76
+ * updated the media connection when changed
77
+ *
78
+ * @private
79
+ * @memberof StatsAnalyzer
80
+ * @param {RoapMediaConnection} mediaConnection
81
+ * @returns {void}
82
+ */
83
+ updateMediaConnection(mediaConnection: any): void;
84
+ /**
85
+ * Returns the local IP address for diagnostics.
86
+ * this is the local IP of the interface used for the current media connection
87
+ * a host can have many local Ip Addresses
88
+ * @returns {string | undefined} The local IP address.
89
+ */
90
+ getLocalIpAddress(): string;
91
+ /**
92
+ * Starts the stats analyzer on interval
93
+ *
94
+ * @public
95
+ * @memberof StatsAnalyzer
96
+ * @param {RoapMediaConnection} mediaConnection
97
+ * @returns {Promise}
98
+ */
99
+ startAnalyzer(mediaConnection: any): any;
100
+ /**
101
+ * Cleans up the analyzer when done
102
+ *
103
+ * @public
104
+ * @memberof StatsAnalyzer
105
+ * @returns {void}
106
+ */
107
+ stopAnalyzer(): any;
108
+ /**
109
+ * Parse a single result of get stats
110
+ *
111
+ * @private
112
+ * @param {*} getStatsResult
113
+ * @param {String} type
114
+ * @param {boolean} isSender
115
+ * @returns {void}
116
+ * @memberof StatsAnalyzer
117
+ */
118
+ private parseGetStatsResult;
119
+ /**
120
+ * Filters the get stats results for types
121
+ * @private
122
+ * @param {Array} statsItem
123
+ * @param {String} type
124
+ * @param {boolean} isSender
125
+ * @returns {void}
126
+ */
127
+ filterAndParseGetStatsResults(statsItem: any, type: string, isSender: boolean): void;
128
+ /**
129
+ * parse the audio
130
+ * @param {String} result
131
+ * @param {boolean} type
132
+ * @returns {void}
133
+ */
134
+ parseAudioSource(result: any, type: any): void;
135
+ /**
136
+ * emits started/stopped events for local/remote media by checking
137
+ * if given values are increasing or not. The previousValue, currentValue
138
+ * params can be any numerical value like number of receive packets or
139
+ * decoded frames, etc.
140
+ *
141
+ * @private
142
+ * @param {string} mediaType
143
+ * @param {number} previousValue - value to compare
144
+ * @param {number} currentValue - value to compare (must be same type of value as previousValue)
145
+ * @param {boolean} isLocal - true if stats are for local media being sent out, false for remote media being received
146
+ * @memberof StatsAnalyzer
147
+ * @returns {void}
148
+ */
149
+ emitStartStopEvents: (mediaType: string, previousValue: number, currentValue: number, isLocal: boolean) => void;
150
+ /**
151
+ * compares current and previous stats to check if packets are not sent
152
+ *
153
+ * @private
154
+ * @memberof StatsAnalyzer
155
+ * @returns {void}
156
+ */
157
+ private compareLastStatsResult;
158
+ /**
159
+ * Does a `getStats` on all the transceivers and parses the results
160
+ *
161
+ * @private
162
+ * @memberof StatsAnalyzer
163
+ * @returns {Promise}
164
+ */
165
+ private getStatsAndParse;
166
+ /**
167
+ * Processes OutboundRTP stats result and stores
168
+ * @private
169
+ * @param {*} result
170
+ * @param {*} mediaType
171
+ * @returns {void}
172
+ */
173
+ private processOutboundRTPResult;
174
+ /**
175
+ * Processes InboundRTP stats result and stores
176
+ * @private
177
+ * @param {*} result
178
+ * @param {*} mediaType
179
+ * @returns {void}
180
+ */
181
+ private processInboundRTPResult;
182
+ /**
183
+ * extracts the local Ip address from the statsResult object by looking at stats results candidates
184
+ * and matches that ID with the successful candidate pair. It looks at the type of local candidate it is
185
+ * and then extracts the IP address from the relatedAddress or address property based on conditions known in webrtc
186
+ * note, there are known incompatibilities and it is possible for this to set undefined, or for the IP address to be the public IP address
187
+ * for example, firefox does not set the relayProtocol, and if the user is behind a NAT it might be the public IP
188
+ * @private
189
+ * @param {string} successfulCandidatePairId - The ID of the successful candidate pair.
190
+ * @param {Object} candidates - the stats result candidates
191
+ * @returns {void}
192
+ */
193
+ extractAndSetLocalIpAddressInfoForDiagnostics: (successfulCandidatePairId: string, candidates: {
194
+ [key: string]: Record<string, unknown>;
195
+ }) => void;
196
+ /**
197
+ * Processes remote and local candidate result and stores
198
+ * @private
199
+ * @param {*} result
200
+ * @param {*} type
201
+ * @param {boolean} isSender
202
+ * @param {boolean} isRemote
203
+ *
204
+ * @returns {void}
205
+ */
206
+ parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
207
+ /**
208
+ *
209
+ * @private
210
+ * @param {*} result
211
+ * @param {*} type
212
+ * @returns {void}
213
+ * @memberof StatsAnalyzer
214
+ */
215
+ compareSentAndReceived(result: any, type: any): void;
216
+ }
217
+ export {};
@@ -0,0 +1,48 @@
1
+ export declare const getAudioReceiverMqa: ({ audioReceiver, statsResults, lastMqaDataSent, baseMediaType, }: {
2
+ audioReceiver: any;
3
+ statsResults: any;
4
+ lastMqaDataSent: any;
5
+ baseMediaType: any;
6
+ }) => void;
7
+ export declare const getAudioReceiverStreamMqa: ({ audioReceiverStream, statsResults, lastMqaDataSent, mediaType, }: {
8
+ audioReceiverStream: any;
9
+ statsResults: any;
10
+ lastMqaDataSent: any;
11
+ mediaType: any;
12
+ }) => void;
13
+ export declare const getAudioSenderMqa: ({ audioSender, statsResults, lastMqaDataSent, baseMediaType }: {
14
+ audioSender: any;
15
+ statsResults: any;
16
+ lastMqaDataSent: any;
17
+ baseMediaType: any;
18
+ }) => void;
19
+ export declare const getAudioSenderStreamMqa: ({ audioSenderStream, statsResults, lastMqaDataSent, mediaType, }: {
20
+ audioSenderStream: any;
21
+ statsResults: any;
22
+ lastMqaDataSent: any;
23
+ mediaType: any;
24
+ }) => void;
25
+ export declare const getVideoReceiverMqa: ({ videoReceiver, statsResults, lastMqaDataSent, baseMediaType, }: {
26
+ videoReceiver: any;
27
+ statsResults: any;
28
+ lastMqaDataSent: any;
29
+ baseMediaType: any;
30
+ }) => void;
31
+ export declare const getVideoReceiverStreamMqa: ({ videoReceiverStream, statsResults, lastMqaDataSent, mediaType, }: {
32
+ videoReceiverStream: any;
33
+ statsResults: any;
34
+ lastMqaDataSent: any;
35
+ mediaType: any;
36
+ }) => void;
37
+ export declare const getVideoSenderMqa: ({ videoSender, statsResults, lastMqaDataSent, baseMediaType }: {
38
+ videoSender: any;
39
+ statsResults: any;
40
+ lastMqaDataSent: any;
41
+ baseMediaType: any;
42
+ }) => void;
43
+ export declare const getVideoSenderStreamMqa: ({ videoSenderStream, statsResults, lastMqaDataSent, mediaType, }: {
44
+ videoSenderStream: any;
45
+ statsResults: any;
46
+ lastMqaDataSent: any;
47
+ mediaType: any;
48
+ }) => void;
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ declare class WebinarCollection {
5
+ webinarInfo: any;
6
+ namespace: string;
7
+ mainIndex: string;
8
+ constructor();
9
+ set(id: any, info: any): void;
10
+ /**
11
+ * @param {String} id
12
+ * @returns {Member}
13
+ */
14
+ get(id: string): any;
15
+ }
16
+ export default WebinarCollection;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @class Webinar
3
+ */
4
+ declare const Webinar: any;
5
+ export default Webinar;
@@ -458,7 +458,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
458
458
  }, _callee7);
459
459
  }))();
460
460
  },
461
- version: "3.8.1-next.8"
461
+ version: "3.8.1"
462
462
  });
463
463
  var _default = exports.default = Webinar;
464
464
  //# sourceMappingURL=index.js.map
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.8.1-next.8",
47
- "@webex/plugin-rooms": "3.8.0-next.32",
48
- "@webex/test-helper-chai": "3.8.1-next.3",
49
- "@webex/test-helper-mocha": "3.8.1-next.3",
50
- "@webex/test-helper-mock-webex": "3.8.1-next.3",
51
- "@webex/test-helper-retry": "3.8.1-next.3",
52
- "@webex/test-helper-test-users": "3.8.1-next.3",
46
+ "@webex/plugin-meetings": "3.8.1",
47
+ "@webex/plugin-rooms": "3.8.1",
48
+ "@webex/test-helper-chai": "3.8.1",
49
+ "@webex/test-helper-mocha": "3.8.1",
50
+ "@webex/test-helper-mock-webex": "3.8.1",
51
+ "@webex/test-helper-retry": "3.8.1",
52
+ "@webex/test-helper-test-users": "3.8.1",
53
53
  "chai": "^4.3.4",
54
54
  "chai-as-promised": "^7.1.1",
55
55
  "eslint": "^8.24.0",
@@ -61,23 +61,23 @@
61
61
  "typescript": "^4.7.4"
62
62
  },
63
63
  "dependencies": {
64
- "@webex/common": "3.8.1-next.3",
64
+ "@webex/common": "3.8.1",
65
65
  "@webex/event-dictionary-ts": "^1.0.1753",
66
- "@webex/internal-media-core": "2.18.1",
67
- "@webex/internal-plugin-conversation": "3.8.1-next.3",
68
- "@webex/internal-plugin-device": "3.8.1-next.3",
69
- "@webex/internal-plugin-llm": "3.8.1-next.3",
70
- "@webex/internal-plugin-mercury": "3.8.1-next.3",
71
- "@webex/internal-plugin-metrics": "3.8.1-next.3",
72
- "@webex/internal-plugin-support": "3.8.1-next.3",
73
- "@webex/internal-plugin-user": "3.8.1-next.3",
74
- "@webex/internal-plugin-voicea": "3.8.1-next.8",
75
- "@webex/media-helpers": "3.8.1-next.4",
76
- "@webex/plugin-people": "3.8.1-next.3",
77
- "@webex/plugin-rooms": "3.8.0-next.32",
66
+ "@webex/internal-media-core": "2.17.1",
67
+ "@webex/internal-plugin-conversation": "3.8.1",
68
+ "@webex/internal-plugin-device": "3.8.1",
69
+ "@webex/internal-plugin-llm": "3.8.1",
70
+ "@webex/internal-plugin-mercury": "3.8.1",
71
+ "@webex/internal-plugin-metrics": "3.8.1",
72
+ "@webex/internal-plugin-support": "3.8.1",
73
+ "@webex/internal-plugin-user": "3.8.1",
74
+ "@webex/internal-plugin-voicea": "3.8.1",
75
+ "@webex/media-helpers": "3.8.1",
76
+ "@webex/plugin-people": "3.8.1",
77
+ "@webex/plugin-rooms": "3.8.1",
78
78
  "@webex/ts-sdp": "^1.8.1",
79
79
  "@webex/web-capabilities": "^1.4.0",
80
- "@webex/webex-core": "3.8.1-next.3",
80
+ "@webex/webex-core": "3.8.1",
81
81
  "ampersand-collection": "^2.0.2",
82
82
  "bowser": "^2.11.0",
83
83
  "btoa": "^1.2.1",
@@ -93,5 +93,5 @@
93
93
  "//": [
94
94
  "TODO: upgrade jwt-decode when moving to node 18"
95
95
  ],
96
- "version": "3.8.1-next.8"
96
+ "version": "3.8.1"
97
97
  }
package/src/constants.ts CHANGED
@@ -372,7 +372,6 @@ export const EVENT_TRIGGERS = {
372
372
  MEETING_CONTROLS_ANNOTATION_UPDATED: 'meeting:controls:annotation:updated',
373
373
  MEETING_CONTROLS_REMOTE_DESKTOP_CONTROL_UPDATED:
374
374
  'meeting:controls:remote-desktop-control:updated',
375
- MEETING_CONTROLS_POLLING_QA_UPDATED: 'meeting:controls:polling-qa:updated',
376
375
  // Locus URL changed
377
376
  MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
378
377
  MEETING_STREAM_PUBLISH_STATE_CHANGED: 'meeting:streamPublishStateChanged',
@@ -380,7 +379,6 @@ export const EVENT_TRIGGERS = {
380
379
  MEETING_TRANSCRIPTION_CONNECTED: 'meeting:transcription:connected',
381
380
  MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',
382
381
  MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',
383
- MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED: 'meeting:transcription:spokenLanguageUpdate',
384
382
  MEETING_MANUAL_CAPTION_UPDATED: 'meeting:manualCaptionControl:updated',
385
383
  MEETING_CAPTION_RECEIVED: 'meeting:caption-received',
386
384
  MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed',
@@ -701,8 +699,6 @@ export const LOCUSINFO = {
701
699
  CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',
702
700
  CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',
703
701
  CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
704
- CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED:
705
- 'CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED',
706
702
  CONTROLS_MEETING_MANUAL_CAPTION_UPDATED: 'CONTROLS_MEETING_MANUAL_CAPTION_UPDATED',
707
703
  CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
708
704
  CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
@@ -721,7 +717,6 @@ export const LOCUSINFO = {
721
717
  CONTROLS_STAGE_VIEW_UPDATED: 'CONTROLS_STAGE_VIEW_UPDATED',
722
718
  CONTROLS_ANNOTATION_CHANGED: 'CONTROLS_ANNOTATION_CHANGED',
723
719
  CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED: 'CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED',
724
- CONTROLS_POLLING_QA_CHANGED: 'CONTROLS_POLLING_QA_CHANGED',
725
720
  SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
726
721
  SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
727
722
  SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
@@ -1051,10 +1046,6 @@ export const DISPLAY_HINTS = {
1051
1046
  // Remote Desktop Control
1052
1047
  ENABLE_RDC_MEETING_OPTION: 'ENABLE_RDC_MEETING_OPTION',
1053
1048
  DISABLE_RDC_MEETING_OPTION: 'DISABLE_RDC_MEETING_OPTION',
1054
-
1055
- // Polling QA
1056
- ENABLE_ATTENDEE_START_POLLING_QA: 'ENABLE_ATTENDEE_START_POLLING_QA',
1057
- DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA',
1058
1049
  };
1059
1050
 
1060
1051
  export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
@@ -14,7 +14,6 @@ enum Control {
14
14
  viewTheParticipantList = 'viewTheParticipantList',
15
15
  annotation = 'annotation',
16
16
  rdc = 'rdc',
17
- pollingQA = 'pollingQA',
18
17
  }
19
18
 
20
19
  export {Control, Setting};
@@ -48,10 +48,6 @@ export interface RemoteDesktopControlProperties {
48
48
  enabled?: boolean;
49
49
  }
50
50
 
51
- export interface PollingQAProperties {
52
- enabled?: boolean;
53
- }
54
-
55
51
  export type Properties =
56
52
  | AudioProperties
57
53
  | RaiseHandProperties
@@ -60,8 +56,7 @@ export type Properties =
60
56
  | VideoProperties
61
57
  | ViewTheParticipantListProperties
62
58
  | AnnotationProperties
63
- | RemoteDesktopControlProperties
64
- | PollingQAProperties;
59
+ | RemoteDesktopControlProperties;
65
60
 
66
61
  export interface ControlConfig<Props = Properties> {
67
62
  /**
@@ -9,7 +9,6 @@ import {
9
9
  VideoProperties,
10
10
  type RemoteDesktopControlProperties,
11
11
  type AnnotationProperties,
12
- type PollingQAProperties,
13
12
  } from './types';
14
13
 
15
14
  /**
@@ -305,29 +304,6 @@ class Utils {
305
304
  return Utils.hasHints({requiredHints, displayHints});
306
305
  }
307
306
 
308
- /**
309
- * Validate if a pollingQA-scoped control is allowed to be sent to the service.
310
- *
311
- * @param {ControlConfig<PollingQAProperties>} control - Polling QA config to validate
312
- * @param {Array<string>} displayHints - All available hints
313
- * @returns {boolean} - True if all of the actions are allowed.
314
- */
315
- public static canUpdatePollingQA(
316
- control: ControlConfig<PollingQAProperties>,
317
- displayHints: Array<string>
318
- ): boolean {
319
- const requiredHints = [];
320
-
321
- if (control.properties.enabled === true) {
322
- requiredHints.push(DISPLAY_HINTS.ENABLE_ATTENDEE_START_POLLING_QA);
323
- }
324
- if (control.properties.enabled === false) {
325
- requiredHints.push(DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA);
326
- }
327
-
328
- return Utils.hasHints({requiredHints, displayHints});
329
- }
330
-
331
307
  /**
332
308
  * Validate that a control can be sent to the service based on the provided
333
309
  * display hints.
@@ -387,13 +363,6 @@ class Utils {
387
363
  );
388
364
  break;
389
365
 
390
- case Control.pollingQA:
391
- determinant = Utils.canUpdatePollingQA(
392
- control as ControlConfig<PollingQAProperties>,
393
- displayHints
394
- );
395
- break;
396
-
397
366
  default:
398
367
  determinant = false;
399
368
  }
@@ -40,7 +40,6 @@ ControlsUtils.parse = (controls: any) => {
40
40
  parsedControls.transcribe = {
41
41
  transcribing: controls.transcribe.transcribing,
42
42
  caption: controls.transcribe.caption,
43
- spokenLanguage: controls.transcribe.spokenLanguage,
44
43
  };
45
44
  }
46
45
 
@@ -124,12 +123,6 @@ ControlsUtils.parse = (controls: any) => {
124
123
  };
125
124
  }
126
125
 
127
- if (controls?.pollingQAControl) {
128
- parsedControls.pollingQAControl = {
129
- enabled: controls.pollingQAControl.enabled,
130
- };
131
- }
132
-
133
126
  return parsedControls;
134
127
  };
135
128
 
@@ -193,11 +186,6 @@ ControlsUtils.getControls = (oldControls: any, newControls: any) => {
193
186
  !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
194
187
  (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
195
188
 
196
- hasTranscribeSpokenLanguageChanged:
197
- current?.transcribe &&
198
- !isEqual(previous?.transcribe?.spokenLanguage, current?.transcribe?.spokenLanguage) &&
199
- !!(previous?.transcribe?.spokenLanguage || current?.transcribe?.spokenLanguage),
200
-
201
189
  hasManualCaptionChanged:
202
190
  current?.manualCaptionControl &&
203
191
  !isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&
@@ -241,9 +229,6 @@ ControlsUtils.getControls = (oldControls: any, newControls: any) => {
241
229
 
242
230
  hasRemoteDesktopControlChanged:
243
231
  current?.rdcControl?.enabled !== previous?.rdcControl?.enabled,
244
-
245
- hasPollingQAControlChanged:
246
- current?.pollingQAControl?.enabled !== previous?.pollingQAControl?.enabled,
247
232
  },
248
233
  };
249
234
  };
@@ -160,22 +160,6 @@ export default class LocusInfo extends EventsScope {
160
160
  } else {
161
161
  meeting.locusInfo.onFullLocus(res.body);
162
162
  }
163
- })
164
- .catch((e) => {
165
- LoggerProxy.logger.info(
166
- `Locus-info:index#doLocusSync --> getLocusDTO succeeded but failed to handle result, locus parser will resume but not all data may be synced (${e.toString()})`
167
- );
168
-
169
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.LOCUS_SYNC_HANDLING_FAILED, {
170
- correlationId: meeting.correlationId,
171
- url,
172
- reason: e.message,
173
- errorName: e.name,
174
- stack: e.stack,
175
- code: e.code,
176
- });
177
- })
178
- .finally(() => {
179
163
  // Notify parser to resume processing delta events.
180
164
  // Any deltas in the queue that have now been superseded by this sync will simply be ignored
181
165
  this.locusParser.resume();
@@ -834,7 +818,6 @@ export default class LocusInfo extends EventsScope {
834
818
  hasRecordingPausedChanged,
835
819
  hasMeetingContainerChanged,
836
820
  hasTranscribeChanged,
837
- hasTranscribeSpokenLanguageChanged,
838
821
  hasManualCaptionChanged,
839
822
  hasEntryExitToneChanged,
840
823
  hasBreakoutChanged,
@@ -854,7 +837,6 @@ export default class LocusInfo extends EventsScope {
854
837
  hasStageViewChanged,
855
838
  hasAnnotationControlChanged,
856
839
  hasRemoteDesktopControlChanged,
857
- hasPollingQAControlChanged,
858
840
  },
859
841
  current,
860
842
  } = ControlsUtils.getControls(this.controls, controls);
@@ -974,21 +956,6 @@ export default class LocusInfo extends EventsScope {
974
956
  );
975
957
  }
976
958
 
977
- if (hasTranscribeSpokenLanguageChanged) {
978
- const {spokenLanguage} = current.transcribe;
979
-
980
- this.emitScoped(
981
- {
982
- file: 'locus-info',
983
- function: 'updateControls',
984
- },
985
- LOCUSINFO.EVENTS.CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED,
986
- {
987
- spokenLanguage,
988
- }
989
- );
990
- }
991
-
992
959
  if (hasManualCaptionChanged) {
993
960
  const {enabled} = current.manualCaptionControl;
994
961
 
@@ -1121,14 +1088,6 @@ export default class LocusInfo extends EventsScope {
1121
1088
  );
1122
1089
  }
1123
1090
 
1124
- if (hasPollingQAControlChanged) {
1125
- this.emitScoped(
1126
- {file: 'locus-info', function: 'updateControls'},
1127
- LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED,
1128
- {state: current.pollingQAControl}
1129
- );
1130
- }
1131
-
1132
1091
  this.controls = controls;
1133
1092
  }
1134
1093
  }
@@ -109,11 +109,9 @@ export class BrbState {
109
109
  // need to check if a new sync is required, because this.state.client may have changed while we were doing the current sync
110
110
  this.applyClientStateToServer(sendSlotManager);
111
111
  })
112
- .catch((error) => {
112
+ .catch((e) => {
113
113
  this.state.syncToServerInProgress = false;
114
- LoggerProxy.logger.warn(`Meeting:brbState#applyClientStateToServer: Error: ${error}`);
115
-
116
- return Promise.reject(error);
114
+ LoggerProxy.logger.warn(`Meeting:brbState#applyClientStateToServer: error: ${e}`);
117
115
  });
118
116
  }
119
117
 
@@ -107,8 +107,6 @@ interface IInMeetingActions {
107
107
  canEnableRemoteDesktopControl?: boolean;
108
108
  canDisableRemoteDesktopControl?: boolean;
109
109
  canMoveToLobby?: boolean;
110
- canEnablePollingQA?: boolean;
111
- canDisablePollingQA?: boolean;
112
110
  }
113
111
 
114
112
  /**
@@ -311,10 +309,6 @@ export default class InMeetingActions implements IInMeetingActions {
311
309
 
312
310
  canMoveToLobby = null;
313
311
 
314
- canEnablePollingQA = null;
315
-
316
- canDisablePollingQA = null;
317
-
318
312
  /**
319
313
  * Returns all meeting action options
320
314
  * @returns {Object}
@@ -417,8 +411,6 @@ export default class InMeetingActions implements IInMeetingActions {
417
411
  canEnableRemoteDesktopControl: this.canEnableRemoteDesktopControl,
418
412
  canDisableRemoteDesktopControl: this.canDisableRemoteDesktopControl,
419
413
  canMoveToLobby: this.canMoveToLobby,
420
- canEnablePollingQA: this.canEnablePollingQA,
421
- canDisablePollingQA: this.canDisablePollingQA,
422
414
  });
423
415
 
424
416
  /**