@webex/plugin-meetings 2.59.8 → 2.60.0-next.10
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.
- package/README.md +46 -8
- package/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/constants.js +41 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +215 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/collection.js +22 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/edit-lock-error.js +51 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/events.js +44 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1047 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/request.js +77 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/breakouts/utils.js +64 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.js +2 -3
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +3 -4
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +1 -2
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +1 -2
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +1 -2
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +1 -2
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +1 -2
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/no-meeting-info.js +50 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/parameter.js +3 -4
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +1 -2
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +1 -2
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reclaim-host-role-errors.js +154 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/reconnection-in-progress.js +1 -2
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +1 -2
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +1 -2
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +20 -8
- package/dist/common/errors/webex-errors.js +48 -28
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -2
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +1 -2
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +1 -2
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +1 -2
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +1 -2
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +1 -2
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +2 -3
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +3 -1
- package/dist/common/logs/request.js +8 -5
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +9 -7
- package/dist/common/queue.js +22 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +5 -7
- package/dist/config.js +8 -11
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +243 -97
- package/dist/constants.js +437 -435
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +3 -6
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.d.ts +11 -1
- package/dist/controls-options-manager/enums.js +15 -6
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +17 -1
- package/dist/controls-options-manager/index.js +127 -38
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.d.ts +43 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.d.ts +1 -7
- package/dist/controls-options-manager/util.js +309 -19
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/dist/index.js +116 -4
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/collection.js +22 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +365 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +24 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +100 -11
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -4
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +1 -2
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +1 -2
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +57 -4
- package/dist/locus-info/index.js +425 -84
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +13 -5
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +58 -3
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +66 -6
- package/dist/locus-info/parser.js +253 -80
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +97 -13
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.js +107 -319
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +38 -53
- package/dist/media/properties.js +96 -153
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -22
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +234 -230
- package/dist/mediaQualityMetrics/config.js +302 -498
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.d.ts +88 -0
- package/dist/meeting/in-meeting-actions.js +94 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +591 -494
- package/dist/meeting/index.js +4728 -2990
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.d.ts +93 -25
- package/dist/meeting/muteState.js +224 -133
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +82 -47
- package/dist/meeting/request.js +297 -199
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +1 -2
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +102 -1
- package/dist/meeting/util.js +605 -435
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -4
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +13 -1
- package/dist/meeting-info/index.js +74 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/meeting-info/meeting-info-v2.js +200 -63
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -2
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +2 -3
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +39 -41
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +17 -0
- package/dist/meetings/collection.js +42 -4
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +103 -21
- package/dist/meetings/index.js +486 -124
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +4 -3
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +107 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +14 -1
- package/dist/member/index.js +54 -2
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.js +3 -4
- package/dist/member/member.types.js.map +1 -1
- package/dist/member/types.d.ts +32 -0
- package/dist/member/types.js +23 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +131 -29
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +5 -0
- package/dist/members/collection.js +11 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +57 -2
- package/dist/members/index.js +174 -10
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +73 -9
- package/dist/members/request.js +108 -41
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.d.ts +25 -0
- package/dist/members/types.js +14 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.d.ts +214 -1
- package/dist/members/util.js +327 -234
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.d.ts +15 -6
- package/dist/metrics/constants.js +17 -9
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +4 -111
- package/dist/metrics/index.js +4 -452
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/multistream/mediaRequestManager.js +344 -0
- package/dist/multistream/mediaRequestManager.js.map +1 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlot.js +200 -0
- package/dist/multistream/receiveSlot.js.map +1 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/receiveSlotManager.js +174 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMedia.js +268 -0
- package/dist/multistream/remoteMedia.js.map +1 -0
- package/dist/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/multistream/remoteMediaGroup.js +267 -0
- package/dist/multistream/remoteMediaGroup.js.map +1 -0
- package/dist/multistream/remoteMediaManager.d.ts +285 -0
- package/dist/multistream/remoteMediaManager.js +1211 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -0
- package/dist/multistream/sendSlotManager.d.ts +61 -0
- package/dist/multistream/sendSlotManager.js +236 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/networkQualityMonitor/index.js +5 -4
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +2 -3
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -3
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +1 -2
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.d.ts +62 -7
- package/dist/reachability/index.js +265 -72
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +7 -3
- package/dist/reachability/request.js +18 -10
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/constants.js +12 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.d.ts +2 -2
- package/dist/reactions/reactions.js +4 -6
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +23 -3
- package/dist/reactions/reactions.type.js +21 -23
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +32 -8
- package/dist/reconnection-manager/index.js +282 -231
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +4 -5
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.d.ts +15 -1
- package/dist/recording-controller/index.js +57 -46
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +5 -4
- package/dist/recording-controller/util.js +10 -10
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.d.ts +9 -47
- package/dist/roap/index.js +101 -235
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +18 -12
- package/dist/roap/request.js +126 -180
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.d.ts +27 -16
- package/dist/roap/turnDiscovery.js +115 -105
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/constants.js +11 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.d.ts +54 -0
- package/dist/rtcMetrics/index.js +140 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +1 -83
- package/dist/statsAnalyzer/global.js +2 -85
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +28 -30
- package/dist/statsAnalyzer/index.js +374 -509
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
- package/dist/statsAnalyzer/mqaUtil.js +116 -83
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +1 -2
- package/dist/transcription/index.js.map +1 -1
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/collection.js +43 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +68 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +35 -26
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +220 -0
- package/src/breakouts/breakout.ts +188 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +925 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +36 -12
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +5 -7
- package/src/constants.ts +271 -93
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +110 -0
- package/src/locus-info/index.ts +449 -61
- package/src/locus-info/infoUtils.ts +14 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +85 -2
- package/src/media/index.ts +153 -370
- package/src/media/properties.ts +106 -136
- package/src/media/util.ts +0 -21
- package/src/mediaQualityMetrics/config.ts +244 -377
- package/src/meeting/in-meeting-actions.ts +176 -0
- package/src/meeting/index.ts +3895 -2448
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +224 -138
- package/src/meeting/request.ts +207 -127
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/util.ts +590 -423
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +163 -13
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +28 -28
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +486 -126
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +116 -5
- package/src/member/index.ts +52 -1
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +139 -28
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +196 -7
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +333 -240
- package/src/metrics/constants.ts +15 -6
- package/src/metrics/index.ts +1 -471
- package/src/multistream/mediaRequestManager.ts +440 -0
- package/src/multistream/receiveSlot.ts +184 -0
- package/src/multistream/receiveSlotManager.ts +166 -0
- package/src/multistream/remoteMedia.ts +254 -0
- package/src/multistream/remoteMediaGroup.ts +284 -0
- package/src/multistream/remoteMediaManager.ts +1145 -0
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +238 -45
- package/src/reachability/request.ts +17 -8
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +30 -4
- package/src/reconnection-manager/index.ts +168 -156
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +98 -241
- package/src/roap/request.ts +74 -148
- package/src/roap/turnDiscovery.ts +62 -56
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +124 -0
- package/src/statsAnalyzer/global.ts +1 -84
- package/src/statsAnalyzer/index.ts +413 -642
- package/src/statsAnalyzer/mqaUtil.ts +111 -114
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +320 -264
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +237 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1790 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +323 -30
- package/test/unit/spec/locus-info/index.js +1390 -16
- package/test/unit/spec/locus-info/infoUtils.js +54 -16
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfUtils.js +275 -0
- package/test/unit/spec/media/index.ts +290 -0
- package/test/unit/spec/media/properties.ts +75 -84
- package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
- package/test/unit/spec/meeting/index.js +8181 -2770
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +409 -213
- package/test/unit/spec/meeting/request.js +512 -42
- package/test/unit/spec/meeting/utils.js +741 -24
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1284 -217
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +38 -8
- package/test/unit/spec/member/util.js +499 -29
- package/test/unit/spec/members/index.js +597 -3
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +210 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
- package/test/unit/spec/multistream/receiveSlot.ts +163 -0
- package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
- package/test/unit/spec/multistream/remoteMedia.ts +255 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +598 -24
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +162 -24
- package/test/unit/spec/recording-controller/index.js +293 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +200 -76
- package/test/unit/spec/roap/request.ts +232 -0
- package/test/unit/spec/roap/turnDiscovery.ts +86 -48
- package/test/unit/spec/rtcMetrics/index.ts +93 -0
- package/test/unit/spec/stats-analyzer/index.js +188 -174
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +7 -3
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/peer-connection-manager/index.d.ts +0 -6
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.d.ts +0 -6
- package/dist/peer-connection-manager/util.js +0 -110
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/collection.js +0 -63
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/handler.js +0 -279
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/state.js +0 -127
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- package/dist/roap/util.js.map +0 -1
- package/src/index.js +0 -15
- package/src/meeting/effectsState.ts +0 -209
- package/src/metrics/config.ts +0 -485
- package/src/peer-connection-manager/index.ts +0 -847
- package/src/peer-connection-manager/util.ts +0 -119
- package/src/roap/collection.ts +0 -62
- package/src/roap/handler.ts +0 -294
- package/src/roap/state.ts +0 -156
- package/src/roap/util.ts +0 -100
- package/test/unit/spec/meeting/effectsState.js +0 -281
- package/test/unit/spec/peerconnection-manager/index.js +0 -218
- package/test/unit/spec/peerconnection-manager/utils.js +0 -49
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
- package/test/unit/spec/roap/util.js +0 -30
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
10
|
+
var _webexCore = require("@webex/webex-core");
|
|
11
|
+
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
12
|
+
var _constants = require("../constants");
|
|
13
|
+
var _collection = _interopRequireDefault(require("./collection"));
|
|
14
|
+
/*!
|
|
15
|
+
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @class SimultaneousInterpretation
|
|
20
|
+
*/
|
|
21
|
+
var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
22
|
+
namespace: _constants.MEETINGS,
|
|
23
|
+
collections: {
|
|
24
|
+
siLanguages: _collection.default
|
|
25
|
+
},
|
|
26
|
+
props: {
|
|
27
|
+
locusUrl: 'string',
|
|
28
|
+
// appears current meeting's locus url
|
|
29
|
+
approvalUrl: 'string',
|
|
30
|
+
// appears current meeting's approval url for handoff between interpreters
|
|
31
|
+
originalLanguage: 'string',
|
|
32
|
+
// appears current meeting's original language
|
|
33
|
+
sourceLanguage: 'string',
|
|
34
|
+
// appears self interpreter's source language
|
|
35
|
+
targetLanguage: 'string',
|
|
36
|
+
// appears self interpreter's target language
|
|
37
|
+
receiveLanguage: 'string',
|
|
38
|
+
// appears self's receive language
|
|
39
|
+
order: 'number',
|
|
40
|
+
// appears the order of self as interpreter
|
|
41
|
+
isActive: 'boolean',
|
|
42
|
+
// appears self is interpreter and is active
|
|
43
|
+
selfParticipantId: 'string',
|
|
44
|
+
// appears the self participant id
|
|
45
|
+
canManageInterpreters: 'boolean',
|
|
46
|
+
// appears the ability to manage interpreters
|
|
47
|
+
supportLanguages: 'array',
|
|
48
|
+
// appears the support languages
|
|
49
|
+
meetingSIEnabled: 'boolean',
|
|
50
|
+
// appears the meeting support SI feature
|
|
51
|
+
hostSIEnabled: 'boolean',
|
|
52
|
+
// appears the meeting host/interpreter feature of SI enabled
|
|
53
|
+
selfIsInterpreter: 'boolean' // current user is interpreter or not
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
derived: {
|
|
57
|
+
shouldQuerySupportLanguages: {
|
|
58
|
+
cache: false,
|
|
59
|
+
deps: ['canManageInterpreters', 'hostSIEnabled'],
|
|
60
|
+
/**
|
|
61
|
+
* Returns should query support languages or not
|
|
62
|
+
* @returns {boolean}
|
|
63
|
+
*/
|
|
64
|
+
fn: function fn() {
|
|
65
|
+
return !!(this.canManageInterpreters && this.hostSIEnabled);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* initialize for interpretation
|
|
71
|
+
* @returns {void}
|
|
72
|
+
*/
|
|
73
|
+
initialize: function initialize() {
|
|
74
|
+
var _this = this;
|
|
75
|
+
this.listenTo(this, 'change:shouldQuerySupportLanguages', function () {
|
|
76
|
+
if (_this.canManageInterpreters && !_this.supportLanguages) {
|
|
77
|
+
_this.querySupportLanguages();
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
this.listenToHandoffRequests();
|
|
81
|
+
},
|
|
82
|
+
/**
|
|
83
|
+
* Calls this to clean up listeners
|
|
84
|
+
* @returns {void}
|
|
85
|
+
*/
|
|
86
|
+
cleanUp: function cleanUp() {
|
|
87
|
+
this.stopListening();
|
|
88
|
+
},
|
|
89
|
+
/**
|
|
90
|
+
* Update the current locus url of the meeting
|
|
91
|
+
* @param {string} locusUrl // locus url
|
|
92
|
+
* @returns {void}
|
|
93
|
+
*/
|
|
94
|
+
locusUrlUpdate: function locusUrlUpdate(locusUrl) {
|
|
95
|
+
this.set('locusUrl', locusUrl);
|
|
96
|
+
},
|
|
97
|
+
/**
|
|
98
|
+
* Update the approval url for handoff
|
|
99
|
+
* @param {string} approvalUrl // approval url
|
|
100
|
+
* @returns {void}
|
|
101
|
+
*/
|
|
102
|
+
approvalUrlUpdate: function approvalUrlUpdate(approvalUrl) {
|
|
103
|
+
this.set('approvalUrl', approvalUrl);
|
|
104
|
+
},
|
|
105
|
+
/**
|
|
106
|
+
* Update whether self has capability to manage interpreters (only host can manage it)
|
|
107
|
+
* @param {boolean} canManageInterpreters
|
|
108
|
+
* @returns {void}
|
|
109
|
+
*/
|
|
110
|
+
updateCanManageInterpreters: function updateCanManageInterpreters(canManageInterpreters) {
|
|
111
|
+
this.set('canManageInterpreters', canManageInterpreters);
|
|
112
|
+
},
|
|
113
|
+
/**
|
|
114
|
+
* Update whether the meeting's host si is enabled or not
|
|
115
|
+
* @param {boolean} hostSIEnabled
|
|
116
|
+
* @returns {void}
|
|
117
|
+
*/
|
|
118
|
+
updateHostSIEnabled: function updateHostSIEnabled(hostSIEnabled) {
|
|
119
|
+
this.set('hostSIEnabled', hostSIEnabled);
|
|
120
|
+
},
|
|
121
|
+
/**
|
|
122
|
+
* Update whether the meeting support SI feature or not from meeting info
|
|
123
|
+
* @param {boolean} meetingSIEnabled
|
|
124
|
+
* @param {boolean} selfIsInterpreter
|
|
125
|
+
* @returns {void}
|
|
126
|
+
*/
|
|
127
|
+
updateMeetingSIEnabled: function updateMeetingSIEnabled(meetingSIEnabled, selfIsInterpreter) {
|
|
128
|
+
this.set('meetingSIEnabled', meetingSIEnabled);
|
|
129
|
+
this.set('selfIsInterpreter', selfIsInterpreter);
|
|
130
|
+
},
|
|
131
|
+
/**
|
|
132
|
+
* Update the interpretation languages channels which user can choose to subscribe
|
|
133
|
+
* @param {Object} interpretation
|
|
134
|
+
* @returns {void}
|
|
135
|
+
*/
|
|
136
|
+
updateInterpretation: function updateInterpretation(interpretation) {
|
|
137
|
+
this.siLanguages.set((interpretation === null || interpretation === void 0 ? void 0 : interpretation.siLanguages) || []);
|
|
138
|
+
},
|
|
139
|
+
/**
|
|
140
|
+
* Update self's interpretation information (self is interpreter)
|
|
141
|
+
* @param {Object} interpretation
|
|
142
|
+
* @param {String} selfParticipantId
|
|
143
|
+
* @returns {void}
|
|
144
|
+
*/
|
|
145
|
+
updateSelfInterpretation: function updateSelfInterpretation(_ref) {
|
|
146
|
+
var interpretation = _ref.interpretation,
|
|
147
|
+
selfParticipantId = _ref.selfParticipantId;
|
|
148
|
+
var _ref2 = interpretation || {},
|
|
149
|
+
originalLanguage = _ref2.originalLanguage,
|
|
150
|
+
sourceLanguage = _ref2.sourceLanguage,
|
|
151
|
+
order = _ref2.order,
|
|
152
|
+
isActive = _ref2.isActive,
|
|
153
|
+
targetLanguage = _ref2.targetLanguage,
|
|
154
|
+
receiveLanguage = _ref2.receiveLanguage;
|
|
155
|
+
this.set({
|
|
156
|
+
originalLanguage: originalLanguage,
|
|
157
|
+
sourceLanguage: sourceLanguage,
|
|
158
|
+
order: order,
|
|
159
|
+
isActive: isActive,
|
|
160
|
+
targetLanguage: targetLanguage,
|
|
161
|
+
receiveLanguage: receiveLanguage
|
|
162
|
+
});
|
|
163
|
+
this.set('selfParticipantId', selfParticipantId);
|
|
164
|
+
},
|
|
165
|
+
/**
|
|
166
|
+
* query interpretation languages
|
|
167
|
+
* @returns {Promise}
|
|
168
|
+
*/
|
|
169
|
+
querySupportLanguages: function querySupportLanguages() {
|
|
170
|
+
var _this2 = this;
|
|
171
|
+
return this.request({
|
|
172
|
+
method: _constants.HTTP_VERBS.GET,
|
|
173
|
+
uri: "".concat(this.locusUrl, "/languages/interpretation")
|
|
174
|
+
}).then(function (result) {
|
|
175
|
+
var _result$body;
|
|
176
|
+
_this2.set('supportLanguages', (_result$body = result.body) === null || _result$body === void 0 ? void 0 : _result$body.siLanguages);
|
|
177
|
+
_this2.trigger(_constants.INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);
|
|
178
|
+
}).catch(function (error) {
|
|
179
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#querySupportLanguages failed', error);
|
|
180
|
+
throw error;
|
|
181
|
+
});
|
|
182
|
+
},
|
|
183
|
+
/**
|
|
184
|
+
* get interpreters of the meeting
|
|
185
|
+
* @returns {Promise}
|
|
186
|
+
*/
|
|
187
|
+
getInterpreters: function getInterpreters() {
|
|
188
|
+
return this.request({
|
|
189
|
+
method: _constants.HTTP_VERBS.GET,
|
|
190
|
+
uri: "".concat(this.locusUrl, "/interpretation/interpreters")
|
|
191
|
+
}).catch(function (error) {
|
|
192
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#getInterpreters failed', error);
|
|
193
|
+
throw error;
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
/**
|
|
197
|
+
* update interpreters of the meeting
|
|
198
|
+
* @param {Array} interpreters
|
|
199
|
+
* @returns {Promise}
|
|
200
|
+
*/
|
|
201
|
+
updateInterpreters: function updateInterpreters(interpreters) {
|
|
202
|
+
return this.request({
|
|
203
|
+
method: _constants.HTTP_VERBS.PATCH,
|
|
204
|
+
uri: "".concat(this.locusUrl, "/controls"),
|
|
205
|
+
body: {
|
|
206
|
+
interpretation: {
|
|
207
|
+
interpreters: interpreters
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}).catch(function (error) {
|
|
211
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#updateInterpreters failed', error);
|
|
212
|
+
throw error;
|
|
213
|
+
});
|
|
214
|
+
},
|
|
215
|
+
/**
|
|
216
|
+
* Change direction of interpretation for an interpreter participant
|
|
217
|
+
* @returns {Promise}
|
|
218
|
+
*/
|
|
219
|
+
changeDirection: function changeDirection() {
|
|
220
|
+
if (!this.sourceLanguage || !this.targetLanguage) {
|
|
221
|
+
return _promise.default.reject(new Error('Missing sourceLanguage or targetLanguage'));
|
|
222
|
+
}
|
|
223
|
+
if (!this.selfParticipantId) {
|
|
224
|
+
return _promise.default.reject(new Error('Missing self participant id'));
|
|
225
|
+
}
|
|
226
|
+
return this.request({
|
|
227
|
+
method: _constants.HTTP_VERBS.PATCH,
|
|
228
|
+
uri: "".concat(this.locusUrl, "/participant/").concat(this.selfParticipantId, "/controls"),
|
|
229
|
+
body: {
|
|
230
|
+
interpretation: {
|
|
231
|
+
sourceLanguage: this.targetLanguage,
|
|
232
|
+
targetLanguage: this.sourceLanguage,
|
|
233
|
+
isActive: this.isActive,
|
|
234
|
+
order: this.order
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}).catch(function (error) {
|
|
238
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#changeDirection failed', error);
|
|
239
|
+
throw error;
|
|
240
|
+
});
|
|
241
|
+
},
|
|
242
|
+
/**
|
|
243
|
+
* Sets up a listener for handoff requests from mercury
|
|
244
|
+
* @returns {void}
|
|
245
|
+
*/
|
|
246
|
+
listenToHandoffRequests: function listenToHandoffRequests() {
|
|
247
|
+
var _this3 = this;
|
|
248
|
+
this.listenTo(this.webex.internal.mercury, 'event:locus.approval_request', function (event) {
|
|
249
|
+
var _event$data, _event$data$approval;
|
|
250
|
+
if ((event === null || event === void 0 ? void 0 : (_event$data = event.data) === null || _event$data === void 0 ? void 0 : (_event$data$approval = _event$data.approval) === null || _event$data$approval === void 0 ? void 0 : _event$data$approval.resourceType) === _constants.INTERPRETATION.RESOURCE_TYPE) {
|
|
251
|
+
var _receivers$;
|
|
252
|
+
var _event$data$approval2 = event.data.approval,
|
|
253
|
+
receivers = _event$data$approval2.receivers,
|
|
254
|
+
initiator = _event$data$approval2.initiator,
|
|
255
|
+
actionType = _event$data$approval2.actionType,
|
|
256
|
+
url = _event$data$approval2.url;
|
|
257
|
+
var receiverId = receivers === null || receivers === void 0 ? void 0 : (_receivers$ = receivers[0]) === null || _receivers$ === void 0 ? void 0 : _receivers$.participantId;
|
|
258
|
+
var isReceiver = !!receiverId && receiverId === _this3.selfParticipantId;
|
|
259
|
+
var senderId = initiator === null || initiator === void 0 ? void 0 : initiator.participantId;
|
|
260
|
+
var isSender = !!senderId && senderId === _this3.selfParticipantId;
|
|
261
|
+
if (!isReceiver && !isSender) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
_this3.trigger(_constants.INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {
|
|
265
|
+
actionType: actionType,
|
|
266
|
+
isReceiver: isReceiver,
|
|
267
|
+
isSender: isSender,
|
|
268
|
+
senderId: senderId,
|
|
269
|
+
receiverId: receiverId,
|
|
270
|
+
url: url
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
},
|
|
275
|
+
/**
|
|
276
|
+
* handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api
|
|
277
|
+
* @param {string} participantId the participant id you want to hand off
|
|
278
|
+
* @returns {Promise}
|
|
279
|
+
*/
|
|
280
|
+
handoffInterpreter: function handoffInterpreter(participantId) {
|
|
281
|
+
if (!participantId) {
|
|
282
|
+
return _promise.default.reject(new Error('Missing target participant id'));
|
|
283
|
+
}
|
|
284
|
+
if (!this.approvalUrl) {
|
|
285
|
+
return _promise.default.reject(new Error('Missing approval url'));
|
|
286
|
+
}
|
|
287
|
+
return this.request({
|
|
288
|
+
method: _constants.HTTP_VERBS.POST,
|
|
289
|
+
uri: this.approvalUrl,
|
|
290
|
+
body: {
|
|
291
|
+
actionType: _constants.INTERPRETATION.ACTION_TYPE.OFFERED,
|
|
292
|
+
resourceType: _constants.INTERPRETATION.RESOURCE_TYPE,
|
|
293
|
+
receivers: [{
|
|
294
|
+
participantId: participantId
|
|
295
|
+
}]
|
|
296
|
+
}
|
|
297
|
+
}).catch(function (error) {
|
|
298
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#handoffInterpreter failed', error);
|
|
299
|
+
throw error;
|
|
300
|
+
});
|
|
301
|
+
},
|
|
302
|
+
/**
|
|
303
|
+
* the in-active interpreter request to hand off the active role to self
|
|
304
|
+
* @returns {Promise}
|
|
305
|
+
*/
|
|
306
|
+
requestHandoff: function requestHandoff() {
|
|
307
|
+
if (!this.approvalUrl) {
|
|
308
|
+
return _promise.default.reject(new Error('Missing approval url'));
|
|
309
|
+
}
|
|
310
|
+
return this.request({
|
|
311
|
+
method: _constants.HTTP_VERBS.POST,
|
|
312
|
+
uri: this.approvalUrl,
|
|
313
|
+
body: {
|
|
314
|
+
actionType: _constants.INTERPRETATION.ACTION_TYPE.REQUESTED,
|
|
315
|
+
resourceType: _constants.INTERPRETATION.RESOURCE_TYPE
|
|
316
|
+
}
|
|
317
|
+
}).catch(function (error) {
|
|
318
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#requestHandoff failed', error);
|
|
319
|
+
throw error;
|
|
320
|
+
});
|
|
321
|
+
},
|
|
322
|
+
/**
|
|
323
|
+
* accept the request of handoff
|
|
324
|
+
* @param {String} url the url get from last approval event
|
|
325
|
+
* @returns {Promise}
|
|
326
|
+
*/
|
|
327
|
+
acceptRequest: function acceptRequest(url) {
|
|
328
|
+
if (!url) {
|
|
329
|
+
return _promise.default.reject(new Error('Missing the url to accept'));
|
|
330
|
+
}
|
|
331
|
+
return this.request({
|
|
332
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
333
|
+
uri: url,
|
|
334
|
+
body: {
|
|
335
|
+
actionType: _constants.INTERPRETATION.ACTION_TYPE.ACCEPTED
|
|
336
|
+
}
|
|
337
|
+
}).catch(function (error) {
|
|
338
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#acceptRequest failed', error);
|
|
339
|
+
throw error;
|
|
340
|
+
});
|
|
341
|
+
},
|
|
342
|
+
/**
|
|
343
|
+
* decline the request of handoff
|
|
344
|
+
* @param {String} url the url get from last approval event
|
|
345
|
+
* @returns {Promise}
|
|
346
|
+
*/
|
|
347
|
+
declineRequest: function declineRequest(url) {
|
|
348
|
+
if (!url) {
|
|
349
|
+
return _promise.default.reject(new Error('Missing the url to decline'));
|
|
350
|
+
}
|
|
351
|
+
return this.request({
|
|
352
|
+
method: _constants.HTTP_VERBS.PUT,
|
|
353
|
+
uri: url,
|
|
354
|
+
body: {
|
|
355
|
+
actionType: _constants.INTERPRETATION.ACTION_TYPE.DECLINED
|
|
356
|
+
}
|
|
357
|
+
}).catch(function (error) {
|
|
358
|
+
_loggerProxy.default.logger.error('Meeting:interpretation#declineRequest failed', error);
|
|
359
|
+
throw error;
|
|
360
|
+
});
|
|
361
|
+
},
|
|
362
|
+
version: "2.60.0-next.10"
|
|
363
|
+
});
|
|
364
|
+
var _default = exports.default = SimultaneousInterpretation;
|
|
365
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_collection","SimultaneousInterpretation","WebexPlugin","extend","namespace","MEETINGS","collections","siLanguages","SILanguageCollection","props","locusUrl","approvalUrl","originalLanguage","sourceLanguage","targetLanguage","receiveLanguage","order","isActive","selfParticipantId","canManageInterpreters","supportLanguages","meetingSIEnabled","hostSIEnabled","selfIsInterpreter","derived","shouldQuerySupportLanguages","cache","deps","fn","initialize","_this","listenTo","querySupportLanguages","listenToHandoffRequests","cleanUp","stopListening","locusUrlUpdate","set","approvalUrlUpdate","updateCanManageInterpreters","updateHostSIEnabled","updateMeetingSIEnabled","updateInterpretation","interpretation","updateSelfInterpretation","_ref","_ref2","_this2","request","method","HTTP_VERBS","GET","uri","concat","then","result","_result$body","body","trigger","INTERPRETATION","EVENTS","SUPPORT_LANGUAGES_UPDATE","catch","error","LoggerProxy","logger","getInterpreters","updateInterpreters","interpreters","PATCH","changeDirection","_promise","default","reject","Error","_this3","webex","internal","mercury","event","_event$data","_event$data$approval","data","approval","resourceType","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","receiverId","participantId","isReceiver","senderId","isSender","HANDOFF_REQUESTS_ARRIVED","handoffInterpreter","POST","ACTION_TYPE","OFFERED","requestHandoff","REQUESTED","acceptRequest","PUT","ACCEPTED","declineRequest","DECLINED","version","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, INTERPRETATION, MEETINGS} from '../constants';\n\nimport SILanguageCollection from './collection';\n\n/**\n * @class SimultaneousInterpretation\n */\nconst SimultaneousInterpretation = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n siLanguages: SILanguageCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current meeting's locus url\n approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters\n originalLanguage: 'string', // appears current meeting's original language\n sourceLanguage: 'string', // appears self interpreter's source language\n targetLanguage: 'string', // appears self interpreter's target language\n receiveLanguage: 'string', // appears self's receive language\n order: 'number', // appears the order of self as interpreter\n isActive: 'boolean', // appears self is interpreter and is active\n selfParticipantId: 'string', // appears the self participant id\n canManageInterpreters: 'boolean', // appears the ability to manage interpreters\n supportLanguages: 'array', // appears the support languages\n meetingSIEnabled: 'boolean', // appears the meeting support SI feature\n hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled\n selfIsInterpreter: 'boolean', // current user is interpreter or not\n },\n derived: {\n shouldQuerySupportLanguages: {\n cache: false,\n deps: ['canManageInterpreters', 'hostSIEnabled'],\n /**\n * Returns should query support languages or not\n * @returns {boolean}\n */\n fn() {\n return !!(this.canManageInterpreters && this.hostSIEnabled);\n },\n },\n },\n /**\n * initialize for interpretation\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {\n if (this.canManageInterpreters && !this.supportLanguages) {\n this.querySupportLanguages();\n }\n });\n this.listenToHandoffRequests();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl // approval url\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n /**\n * Update whether self has capability to manage interpreters (only host can manage it)\n * @param {boolean} canManageInterpreters\n * @returns {void}\n */\n updateCanManageInterpreters(canManageInterpreters) {\n this.set('canManageInterpreters', canManageInterpreters);\n },\n /**\n * Update whether the meeting's host si is enabled or not\n * @param {boolean} hostSIEnabled\n * @returns {void}\n */\n updateHostSIEnabled(hostSIEnabled) {\n this.set('hostSIEnabled', hostSIEnabled);\n },\n\n /**\n * Update whether the meeting support SI feature or not from meeting info\n * @param {boolean} meetingSIEnabled\n * @param {boolean} selfIsInterpreter\n * @returns {void}\n */\n updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {\n this.set('meetingSIEnabled', meetingSIEnabled);\n this.set('selfIsInterpreter', selfIsInterpreter);\n },\n\n /**\n * Update the interpretation languages channels which user can choose to subscribe\n * @param {Object} interpretation\n * @returns {void}\n */\n updateInterpretation(interpretation) {\n this.siLanguages.set(interpretation?.siLanguages || []);\n },\n /**\n * Update self's interpretation information (self is interpreter)\n * @param {Object} interpretation\n * @param {String} selfParticipantId\n * @returns {void}\n */\n updateSelfInterpretation({interpretation, selfParticipantId}) {\n const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =\n interpretation || {};\n this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});\n this.set('selfParticipantId', selfParticipantId);\n },\n /**\n * query interpretation languages\n * @returns {Promise}\n */\n querySupportLanguages() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/languages/interpretation`,\n })\n .then((result) => {\n this.set('supportLanguages', result.body?.siLanguages);\n this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);\n throw error;\n });\n },\n /**\n * get interpreters of the meeting\n * @returns {Promise}\n */\n getInterpreters() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/interpretation/interpreters`,\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);\n throw error;\n });\n },\n /**\n * update interpreters of the meeting\n * @param {Array} interpreters\n * @returns {Promise}\n */\n updateInterpreters(interpreters) {\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/controls`,\n body: {\n interpretation: {\n interpreters,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);\n throw error;\n });\n },\n /**\n * Change direction of interpretation for an interpreter participant\n * @returns {Promise}\n */\n changeDirection() {\n if (!this.sourceLanguage || !this.targetLanguage) {\n return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));\n }\n\n if (!this.selfParticipantId) {\n return Promise.reject(new Error('Missing self participant id'));\n }\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,\n body: {\n interpretation: {\n sourceLanguage: this.targetLanguage,\n targetLanguage: this.sourceLanguage,\n isActive: this.isActive,\n order: this.order,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);\n throw error;\n });\n },\n /**\n * Sets up a listener for handoff requests from mercury\n * @returns {void}\n */\n listenToHandoffRequests() {\n this.listenTo(this.webex.internal.mercury, 'event:locus.approval_request', (event) => {\n if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const receiverId = receivers?.[0]?.participantId;\n const isReceiver = !!receiverId && receiverId === this.selfParticipantId;\n const senderId = initiator?.participantId;\n const isSender = !!senderId && senderId === this.selfParticipantId;\n if (!isReceiver && !isSender) {\n return;\n }\n this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {\n actionType,\n isReceiver,\n isSender,\n senderId,\n receiverId,\n url,\n });\n }\n });\n },\n /**\n * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api\n * @param {string} participantId the participant id you want to hand off\n * @returns {Promise}\n */\n handoffInterpreter(participantId) {\n if (!participantId) {\n return Promise.reject(new Error('Missing target participant id'));\n }\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.OFFERED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n receivers: [\n {\n participantId,\n },\n ],\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);\n throw error;\n });\n },\n /**\n * the in-active interpreter request to hand off the active role to self\n * @returns {Promise}\n */\n requestHandoff() {\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);\n throw error;\n });\n },\n /**\n * accept the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n acceptRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to accept'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);\n throw error;\n });\n },\n /**\n * decline the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n declineRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to decline'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.DECLINED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);\n throw error;\n });\n },\n});\n\nexport default SimultaneousInterpretation;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _webexCore = require("@webex/webex-core");
|
|
9
|
+
var _constants = require("../constants");
|
|
10
|
+
/*!
|
|
11
|
+
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
var SILanguage = _webexCore.WebexPlugin.extend({
|
|
15
|
+
idAttribute: 'languageName',
|
|
16
|
+
namespace: _constants.MEETINGS,
|
|
17
|
+
props: {
|
|
18
|
+
languageCode: 'number',
|
|
19
|
+
languageName: 'string'
|
|
20
|
+
},
|
|
21
|
+
version: "2.60.0-next.10"
|
|
22
|
+
});
|
|
23
|
+
var _default = exports.default = SILanguage;
|
|
24
|
+
//# sourceMappingURL=siLanguage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_constants","SILanguage","WebexPlugin","extend","idAttribute","namespace","MEETINGS","props","languageCode","languageName","version","_default","exports","default"],"sources":["siLanguage.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\nimport {MEETINGS} from '../constants';\n\nconst SILanguage = WebexPlugin.extend({\n idAttribute: 'languageName',\n\n namespace: MEETINGS,\n props: {\n languageCode: 'number',\n languageName: 'string',\n },\n});\n\nexport default SILanguage;\n"],"mappings":";;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AALA;AACA;AACA;;AAKA,IAAME,UAAU,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACpCC,WAAW,EAAE,cAAc;EAE3BC,SAAS,EAAEC,mBAAQ;EACnBC,KAAK,EAAE;IACLC,YAAY,EAAE,QAAQ;IACtBC,YAAY,EAAE;EAChB,CAAC;EAAAC,OAAA;AACH,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYZ,UAAU"}
|
|
@@ -12,9 +12,10 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
12
12
|
});
|
|
13
13
|
exports.default = void 0;
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
function
|
|
15
|
+
var _lodash = require("lodash");
|
|
16
|
+
var _constants = require("../constants");
|
|
17
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
19
|
var ControlsUtils = {};
|
|
19
20
|
|
|
20
21
|
/**
|
|
@@ -56,6 +57,45 @@ ControlsUtils.parse = function (controls) {
|
|
|
56
57
|
if (controls && controls.entryExitTone) {
|
|
57
58
|
parsedControls.entryExitTone = controls.entryExitTone.enabled ? controls.entryExitTone.mode : null;
|
|
58
59
|
}
|
|
60
|
+
if (controls && controls.video) {
|
|
61
|
+
parsedControls.videoEnabled = controls.video.enabled;
|
|
62
|
+
}
|
|
63
|
+
if (controls !== null && controls !== void 0 && controls.muteOnEntry) {
|
|
64
|
+
parsedControls.muteOnEntry = {
|
|
65
|
+
enabled: controls.muteOnEntry.enabled
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (controls !== null && controls !== void 0 && controls.shareControl) {
|
|
69
|
+
parsedControls.shareControl = {
|
|
70
|
+
control: controls.shareControl.control
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (controls !== null && controls !== void 0 && controls.disallowUnmute) {
|
|
74
|
+
parsedControls.disallowUnmute = {
|
|
75
|
+
enabled: controls.disallowUnmute.enabled
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
if (controls !== null && controls !== void 0 && controls.reactions) {
|
|
79
|
+
parsedControls.reactions = {
|
|
80
|
+
enabled: controls.reactions.enabled,
|
|
81
|
+
showDisplayNameWithReactions: controls.reactions.showDisplayNameWithReactions
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
if (controls !== null && controls !== void 0 && controls.viewTheParticipantList) {
|
|
85
|
+
parsedControls.viewTheParticipantList = {
|
|
86
|
+
enabled: controls.viewTheParticipantList.enabled
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (controls !== null && controls !== void 0 && controls.raiseHand) {
|
|
90
|
+
parsedControls.raiseHand = {
|
|
91
|
+
enabled: controls.raiseHand.enabled
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
if (controls !== null && controls !== void 0 && controls.video) {
|
|
95
|
+
parsedControls.video = {
|
|
96
|
+
enabled: controls.video.enabled
|
|
97
|
+
};
|
|
98
|
+
}
|
|
59
99
|
return parsedControls;
|
|
60
100
|
};
|
|
61
101
|
|
|
@@ -66,28 +106,39 @@ ControlsUtils.parse = function (controls) {
|
|
|
66
106
|
* @returns {Object} combination of state plus the changes
|
|
67
107
|
*/
|
|
68
108
|
ControlsUtils.getControls = function (oldControls, newControls) {
|
|
69
|
-
var _previous$record, _previous$record2, _current$record, _previous$record3, _current$record2, _previous$record4, _current$record3, _previous$meetingCont, _current$meetingConta, _previous$transcribe, _current$transcribe, _previous$transcribe2, _current$transcribe2;
|
|
109
|
+
var _current$muteOnEntry, _previous$muteOnEntry, _current$shareControl, _previous$shareContro, _current$disallowUnmu, _previous$disallowUnm, _current$reactions, _previous$reactions, _current$reactions2, _previous$reactions2, _current$viewTheParti, _previous$viewThePart, _current$raiseHand, _previous$raiseHand, _current$video, _previous$video, _previous$record, _previous$record2, _current$record, _previous$record3, _current$record2, _previous$record4, _current$record3, _previous$meetingCont, _current$meetingConta, _previous$transcribe, _current$transcribe, _previous$transcribe2, _current$transcribe2, _newControls$video;
|
|
70
110
|
var previous = ControlsUtils.parse(oldControls);
|
|
71
111
|
var current = ControlsUtils.parse(newControls);
|
|
72
112
|
return {
|
|
73
113
|
previous: previous,
|
|
74
114
|
current: current,
|
|
75
115
|
updates: {
|
|
76
|
-
|
|
116
|
+
hasMuteOnEntryChanged: (current === null || current === void 0 ? void 0 : (_current$muteOnEntry = current.muteOnEntry) === null || _current$muteOnEntry === void 0 ? void 0 : _current$muteOnEntry.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$muteOnEntry = previous.muteOnEntry) === null || _previous$muteOnEntry === void 0 ? void 0 : _previous$muteOnEntry.enabled),
|
|
117
|
+
hasShareControlChanged: (current === null || current === void 0 ? void 0 : (_current$shareControl = current.shareControl) === null || _current$shareControl === void 0 ? void 0 : _current$shareControl.control) !== (previous === null || previous === void 0 ? void 0 : (_previous$shareContro = previous.shareControl) === null || _previous$shareContro === void 0 ? void 0 : _previous$shareContro.control),
|
|
118
|
+
hasDisallowUnmuteChanged: (current === null || current === void 0 ? void 0 : (_current$disallowUnmu = current.disallowUnmute) === null || _current$disallowUnmu === void 0 ? void 0 : _current$disallowUnmu.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$disallowUnm = previous.disallowUnmute) === null || _previous$disallowUnm === void 0 ? void 0 : _previous$disallowUnm.enabled),
|
|
119
|
+
hasReactionsChanged: (current === null || current === void 0 ? void 0 : (_current$reactions = current.reactions) === null || _current$reactions === void 0 ? void 0 : _current$reactions.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$reactions = previous.reactions) === null || _previous$reactions === void 0 ? void 0 : _previous$reactions.enabled),
|
|
120
|
+
hasReactionDisplayNamesChanged: (current === null || current === void 0 ? void 0 : (_current$reactions2 = current.reactions) === null || _current$reactions2 === void 0 ? void 0 : _current$reactions2.showDisplayNameWithReactions) !== (previous === null || previous === void 0 ? void 0 : (_previous$reactions2 = previous.reactions) === null || _previous$reactions2 === void 0 ? void 0 : _previous$reactions2.showDisplayNameWithReactions),
|
|
121
|
+
hasViewTheParticipantListChanged: (current === null || current === void 0 ? void 0 : (_current$viewTheParti = current.viewTheParticipantList) === null || _current$viewTheParti === void 0 ? void 0 : _current$viewTheParti.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$viewThePart = previous.viewTheParticipantList) === null || _previous$viewThePart === void 0 ? void 0 : _previous$viewThePart.enabled),
|
|
122
|
+
hasRaiseHandChanged: (current === null || current === void 0 ? void 0 : (_current$raiseHand = current.raiseHand) === null || _current$raiseHand === void 0 ? void 0 : _current$raiseHand.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$raiseHand = previous.raiseHand) === null || _previous$raiseHand === void 0 ? void 0 : _previous$raiseHand.enabled),
|
|
123
|
+
hasVideoChanged: (current === null || current === void 0 ? void 0 : (_current$video = current.video) === null || _current$video === void 0 ? void 0 : _current$video.enabled) !== (previous === null || previous === void 0 ? void 0 : (_previous$video = previous.video) === null || _previous$video === void 0 ? void 0 : _previous$video.enabled),
|
|
124
|
+
hasRecordingPausedChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$record = previous.record) === null || _previous$record === void 0 ? void 0 : _previous$record.paused, current.record.paused) && ((previous === null || previous === void 0 ? void 0 : (_previous$record2 = previous.record) === null || _previous$record2 === void 0 ? void 0 : _previous$record2.recording) || (current === null || current === void 0 ? void 0 : (_current$record = current.record) === null || _current$record === void 0 ? void 0 : _current$record.recording)),
|
|
77
125
|
// see comments directly below
|
|
78
126
|
|
|
79
|
-
hasRecordingChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0,
|
|
127
|
+
hasRecordingChanged: (current === null || current === void 0 ? void 0 : current.record) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$record3 = previous.record) === null || _previous$record3 === void 0 ? void 0 : _previous$record3.recording, current === null || current === void 0 ? void 0 : (_current$record2 = current.record) === null || _current$record2 === void 0 ? void 0 : _current$record2.recording) && (
|
|
80
128
|
// upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
|
|
81
129
|
(previous === null || previous === void 0 ? void 0 : (_previous$record4 = previous.record) === null || _previous$record4 === void 0 ? void 0 : _previous$record4.recording) || (current === null || current === void 0 ? void 0 : (_current$record3 = current.record) === null || _current$record3 === void 0 ? void 0 : _current$record3.recording)),
|
|
82
130
|
// therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
|
83
131
|
|
|
84
|
-
hasMeetingContainerChanged: (current === null || current === void 0 ? void 0 : current.meetingContainer) && !(0,
|
|
85
|
-
hasTranscribeChanged: (current === null || current === void 0 ? void 0 : current.transcribe) && !(0,
|
|
132
|
+
hasMeetingContainerChanged: (current === null || current === void 0 ? void 0 : current.meetingContainer) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$meetingCont = previous.meetingContainer) === null || _previous$meetingCont === void 0 ? void 0 : _previous$meetingCont.meetingContainerUrl, current === null || current === void 0 ? void 0 : (_current$meetingConta = current.meetingContainer) === null || _current$meetingConta === void 0 ? void 0 : _current$meetingConta.meetingContainerUrl),
|
|
133
|
+
hasTranscribeChanged: (current === null || current === void 0 ? void 0 : current.transcribe) && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : (_previous$transcribe = previous.transcribe) === null || _previous$transcribe === void 0 ? void 0 : _previous$transcribe.transcribing, current === null || current === void 0 ? void 0 : (_current$transcribe = current.transcribe) === null || _current$transcribe === void 0 ? void 0 : _current$transcribe.transcribing) && (
|
|
86
134
|
// upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
|
|
87
135
|
(previous === null || previous === void 0 ? void 0 : (_previous$transcribe2 = previous.transcribe) === null || _previous$transcribe2 === void 0 ? void 0 : _previous$transcribe2.transcribing) || (current === null || current === void 0 ? void 0 : (_current$transcribe2 = current.transcribe) === null || _current$transcribe2 === void 0 ? void 0 : _current$transcribe2.transcribing)),
|
|
88
136
|
// therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
|
89
137
|
|
|
90
|
-
hasEntryExitToneChanged: !!(newControls.entryExitTone && !(0,
|
|
138
|
+
hasEntryExitToneChanged: !!(newControls.entryExitTone && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.entryExitTone, current === null || current === void 0 ? void 0 : current.entryExitTone) && (previous !== null && previous !== void 0 && previous.entryExitTone || current !== null && current !== void 0 && current.entryExitTone)),
|
|
139
|
+
hasBreakoutChanged: !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.breakout, current === null || current === void 0 ? void 0 : current.breakout),
|
|
140
|
+
hasInterpretationChanged: !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.interpretation, current === null || current === void 0 ? void 0 : current.interpretation),
|
|
141
|
+
hasVideoEnabledChanged: ((_newControls$video = newControls.video) === null || _newControls$video === void 0 ? void 0 : _newControls$video.enabled) !== undefined && !(0, _lodash.isEqual)(previous === null || previous === void 0 ? void 0 : previous.videoEnabled, current === null || current === void 0 ? void 0 : current.videoEnabled)
|
|
91
142
|
}
|
|
92
143
|
};
|
|
93
144
|
};
|
|
@@ -103,6 +154,44 @@ ControlsUtils.getId = function (controls) {
|
|
|
103
154
|
}
|
|
104
155
|
return null;
|
|
105
156
|
};
|
|
106
|
-
|
|
107
|
-
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* check whether to replace the meeting's members or not.
|
|
160
|
+
* For case joined breakout session, need replace meeting's members
|
|
161
|
+
* @param {LocusControls} oldControls
|
|
162
|
+
* @param {LocusControls} controls
|
|
163
|
+
* @returns {Boolean}
|
|
164
|
+
*/
|
|
165
|
+
ControlsUtils.isNeedReplaceMembers = function (oldControls, controls) {
|
|
166
|
+
// no breakout case
|
|
167
|
+
if (!(oldControls !== null && oldControls !== void 0 && oldControls.breakout) || !(controls !== null && controls !== void 0 && controls.breakout)) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
return oldControls.breakout.groupId !== controls.breakout.groupId || oldControls.breakout.sessionId !== controls.breakout.sessionId;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* determine the switch status between breakout session and main session.
|
|
175
|
+
* @param {LocusControls} oldControls
|
|
176
|
+
* @param {LocusControls} controls
|
|
177
|
+
* @returns {Object}
|
|
178
|
+
*/
|
|
179
|
+
ControlsUtils.getSessionSwitchStatus = function (oldControls, controls) {
|
|
180
|
+
var status = {
|
|
181
|
+
isReturnToMain: false,
|
|
182
|
+
isJoinToBreakout: false
|
|
183
|
+
};
|
|
184
|
+
// no breakout case
|
|
185
|
+
if (!(oldControls !== null && oldControls !== void 0 && oldControls.breakout) || !(controls !== null && controls !== void 0 && controls.breakout)) {
|
|
186
|
+
return status;
|
|
187
|
+
}
|
|
188
|
+
status.isReturnToMain = oldControls.breakout.sessionType === _constants.BREAKOUTS.SESSION_TYPES.BREAKOUT && controls.breakout.sessionType === _constants.BREAKOUTS.SESSION_TYPES.MAIN;
|
|
189
|
+
status.isJoinToBreakout = oldControls.breakout.sessionType === _constants.BREAKOUTS.SESSION_TYPES.MAIN && controls.breakout.sessionType === _constants.BREAKOUTS.SESSION_TYPES.BREAKOUT;
|
|
190
|
+
return status;
|
|
191
|
+
};
|
|
192
|
+
ControlsUtils.isMainSessionDTO = function (locus) {
|
|
193
|
+
var _locus$controls, _locus$controls$break;
|
|
194
|
+
return (locus === null || locus === void 0 ? void 0 : (_locus$controls = locus.controls) === null || _locus$controls === void 0 ? void 0 : (_locus$controls$break = _locus$controls.breakout) === null || _locus$controls$break === void 0 ? void 0 : _locus$controls$break.sessionType) !== _constants.BREAKOUTS.SESSION_TYPES.BREAKOUT;
|
|
195
|
+
};
|
|
196
|
+
var _default = exports.default = ControlsUtils;
|
|
108
197
|
//# sourceMappingURL=controlsUtils.js.map
|