@webex/plugin-meetings 3.0.0-beta.1 → 3.0.0-beta.104
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/UPGRADING.md +9 -9
- package/browsers.js +19 -24
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +48 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +357 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +176 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +43 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +919 -0
- package/dist/breakouts/index.js.map +1 -0
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/browser-detection.js +1 -20
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +10 -24
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +11 -24
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +12 -25
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +10 -24
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +5 -33
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +10 -24
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -23
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +10 -24
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +10 -24
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +10 -69
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +5 -25
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +37 -60
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +7 -6
- package/dist/config.js.map +1 -1
- package/dist/constants.js +184 -122
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +25 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -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.js +250 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +72 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +56 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +362 -208
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -37
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +12 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +92 -118
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +99 -91
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +113 -337
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +96 -135
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -35
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +59 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2909 -2398
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +257 -112
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +330 -264
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +7 -0
- package/dist/meeting/request.type.js.map +1 -0
- package/dist/meeting/state.js +21 -31
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +63 -261
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +6 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +14 -32
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +273 -280
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +3 -15
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +155 -232
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +26 -19
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +741 -548
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +26 -41
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +194 -149
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +100 -85
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +90 -68
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +13 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +227 -188
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +54 -39
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +107 -44
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +5 -14
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +3 -7
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +67 -159
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +250 -0
- package/dist/multistream/mediaRequestManager.js.map +1 -0
- package/dist/multistream/receiveSlot.js +202 -0
- package/dist/multistream/receiveSlot.js.map +1 -0
- package/dist/multistream/receiveSlotManager.js +176 -0
- package/dist/multistream/receiveSlotManager.js.map +1 -0
- package/dist/multistream/remoteMedia.js +270 -0
- package/dist/multistream/remoteMedia.js.map +1 -0
- package/dist/multistream/remoteMediaGroup.js +209 -0
- package/dist/multistream/remoteMediaGroup.js.map +1 -0
- package/dist/multistream/remoteMediaManager.js +1137 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -0
- package/dist/networkQualityMonitor/index.js +40 -59
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +21 -45
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +1 -31
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +192 -191
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +15 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +109 -0
- package/dist/reactions/reactions.js.map +1 -0
- package/dist/reactions/reactions.type.js +36 -0
- package/dist/reactions/reactions.type.js.map +1 -0
- package/dist/reconnection-manager/index.js +386 -527
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +84 -286
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +138 -238
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +164 -102
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +399 -470
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +143 -87
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +22 -47
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +34 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +124 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +2 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +32 -0
- package/dist/types/config.d.ts +78 -0
- package/dist/types/constants.d.ts +968 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +13 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +37 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +315 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +212 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +108 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +129 -0
- package/dist/types/meeting/index.d.ts +1748 -0
- package/dist/types/meeting/muteState.d.ts +185 -0
- package/dist/types/meeting/request.d.ts +275 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +2 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +112 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +345 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +156 -0
- package/dist/types/member/types.d.ts +21 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +69 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +2 -0
- package/dist/types/metrics/config.d.ts +172 -0
- package/dist/types/metrics/constants.d.ts +54 -0
- package/dist/types/metrics/index.d.ts +152 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +38 -0
- package/dist/types/roap/turnDiscovery.d.ts +88 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/internal-README.md +7 -6
- package/package.json +29 -21
- package/src/annotation/annotation.types.ts +41 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +339 -0
- package/src/breakouts/README.md +219 -0
- package/src/breakouts/breakout.ts +141 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +37 -0
- package/src/breakouts/index.ts +823 -0
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
- package/src/common/collection.ts +9 -7
- package/src/common/{config.js → config.ts} +1 -1
- package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
- package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
- package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
- package/src/common/errors/{media.js → media.ts} +11 -7
- package/src/common/errors/parameter.ts +11 -7
- package/src/common/errors/{password-error.js → password-error.ts} +11 -7
- package/src/common/errors/{permission.js → permission.ts} +10 -6
- package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
- package/src/common/errors/{stats.js → stats.ts} +11 -7
- package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -25
- package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
- package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
- package/src/common/events/{events.js → events.ts} +5 -1
- package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
- package/src/common/events/{util.js → util.ts} +2 -3
- package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
- package/src/common/logs/logger-proxy.ts +44 -0
- package/src/common/logs/{request.js → request.ts} +22 -9
- package/src/common/queue.ts +1 -2
- package/src/{config.js → config.ts} +18 -12
- package/src/constants.ts +256 -183
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +16 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +49 -0
- package/src/controls-options-manager/util.ts +229 -0
- package/src/index.ts +33 -0
- package/src/locus-info/controlsUtils.ts +169 -0
- package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
- package/src/locus-info/{fullState.js → fullState.ts} +16 -12
- package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
- package/src/locus-info/{index.js → index.ts} +331 -80
- package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
- package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
- package/src/locus-info/{parser.js → parser.ts} +67 -79
- package/src/locus-info/{selfUtils.js → selfUtils.ts} +196 -67
- package/src/media/index.ts +488 -0
- package/src/media/{properties.js → properties.ts} +67 -54
- package/src/media/util.ts +16 -0
- package/src/mediaQualityMetrics/config.ts +384 -0
- package/src/meeting/in-meeting-actions.ts +123 -3
- package/src/meeting/{index.js → index.ts} +3334 -1775
- package/src/meeting/muteState.ts +526 -0
- package/src/meeting/{request.js → request.ts} +350 -142
- package/src/meeting/request.type.ts +13 -0
- package/src/meeting/{state.js → state.ts} +50 -35
- package/src/meeting/{util.js → util.ts} +126 -159
- package/src/meeting-info/{collection.js → collection.ts} +6 -2
- package/src/meeting-info/{index.js → index.ts} +42 -36
- package/src/meeting-info/meeting-info-v2.ts +345 -0
- package/src/meeting-info/{request.js → request.ts} +14 -4
- package/src/meeting-info/{util.js → util.ts} +60 -51
- package/src/meeting-info/{utilv2.js → utilv2.ts} +76 -60
- package/src/meetings/{collection.js → collection.ts} +26 -3
- package/src/meetings/index.ts +1394 -0
- package/src/meetings/{request.js → request.ts} +34 -25
- package/src/meetings/util.ts +288 -0
- package/src/member/{index.js → index.ts} +124 -56
- package/src/member/types.ts +24 -0
- package/src/member/{util.js → util.ts} +105 -25
- package/src/members/{collection.js → collection.ts} +10 -2
- package/src/members/{index.js → index.ts} +359 -139
- package/src/members/request.ts +215 -0
- package/src/members/types.ts +28 -0
- package/src/members/{util.js → util.ts} +145 -54
- package/src/metrics/{config.js → config.ts} +256 -92
- package/src/metrics/{constants.js → constants.ts} +1 -6
- package/src/metrics/{index.js → index.ts} +116 -97
- package/src/multistream/mediaRequestManager.ts +324 -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 +225 -0
- package/src/multistream/remoteMediaManager.ts +1075 -0
- package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
- package/src/personal-meeting-room/{index.js → index.ts} +28 -19
- package/src/personal-meeting-room/{request.js → request.ts} +13 -4
- package/src/personal-meeting-room/{util.js → util.ts} +4 -4
- package/src/reachability/{index.js → index.ts} +157 -94
- package/src/reachability/request.ts +46 -35
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +104 -0
- package/src/reactions/reactions.type.ts +62 -0
- package/src/reconnection-manager/{index.js → index.ts} +261 -163
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/index.ts +241 -0
- package/src/roap/request.ts +172 -0
- package/src/roap/turnDiscovery.ts +127 -53
- package/src/statsAnalyzer/global.ts +37 -0
- package/src/statsAnalyzer/index.ts +1273 -0
- package/src/statsAnalyzer/mqaUtil.ts +291 -0
- package/src/transcription/{index.js → index.ts} +46 -39
- package/test/integration/spec/converged-space-meetings.js +177 -0
- package/test/integration/spec/journey.js +666 -464
- package/test/integration/spec/space-meeting.js +321 -206
- package/test/integration/spec/transcription.js +7 -8
- package/test/unit/spec/annotation/index.ts +435 -0
- package/test/unit/spec/breakouts/breakout.ts +184 -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 +77 -0
- package/test/unit/spec/breakouts/index.ts +1504 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/browser-detection.js +9 -28
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +403 -0
- package/test/unit/spec/fixture/locus.js +92 -90
- package/test/unit/spec/locus-info/controlsUtils.js +177 -32
- package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
- package/test/unit/spec/locus-info/index.js +493 -3
- package/test/unit/spec/locus-info/infoUtils.js +41 -32
- package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
- package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
- package/test/unit/spec/locus-info/parser.js +3 -9
- package/test/unit/spec/locus-info/selfConstant.js +110 -103
- package/test/unit/spec/locus-info/selfUtils.js +236 -12
- package/test/unit/spec/media/index.ts +303 -0
- package/test/unit/spec/media/properties.ts +73 -82
- package/test/unit/spec/meeting/in-meeting-actions.ts +58 -3
- package/test/unit/spec/meeting/index.js +3127 -975
- package/test/unit/spec/meeting/muteState.js +375 -70
- package/test/unit/spec/meeting/request.js +217 -43
- package/test/unit/spec/meeting/utils.js +205 -163
- package/test/unit/spec/meeting-info/meetinginfov2.js +268 -74
- package/test/unit/spec/meeting-info/request.js +7 -9
- package/test/unit/spec/meeting-info/util.js +11 -12
- package/test/unit/spec/meeting-info/utilv2.js +131 -74
- package/test/unit/spec/meetings/collection.js +15 -1
- package/test/unit/spec/meetings/index.js +1052 -333
- package/test/unit/spec/meetings/utils.js +163 -14
- package/test/unit/spec/member/index.js +24 -1
- package/test/unit/spec/member/util.js +359 -32
- package/test/unit/spec/members/index.js +547 -37
- package/test/unit/spec/members/request.js +76 -20
- package/test/unit/spec/members/utils.js +191 -4
- package/test/unit/spec/metrics/index.js +46 -20
- package/test/unit/spec/multistream/mediaRequestManager.ts +1060 -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 +396 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +1793 -0
- package/test/unit/spec/networkQualityMonitor/index.js +24 -18
- package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
- package/test/unit/spec/reachability/index.ts +176 -27
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +106 -9
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +78 -45
- package/test/unit/spec/roap/request.ts +217 -0
- package/test/unit/spec/roap/turnDiscovery.ts +93 -49
- package/test/unit/spec/stats-analyzer/index.js +118 -65
- package/test/utils/cmr.js +44 -42
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +64 -0
- package/test/utils/testUtils.js +63 -99
- package/test/utils/webex-config.js +22 -18
- package/test/utils/webex-test-users.js +57 -50
- package/tsconfig.json +6 -0
- package/dist/meeting/effectsState.js +0 -327
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/peer-connection-manager/index.js +0 -794
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -124
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/roap/collection.js +0 -73
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.js +0 -337
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/state.js +0 -164
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/util.js +0 -102
- package/dist/roap/util.js.map +0 -1
- package/src/common/logs/logger-proxy.js +0 -33
- package/src/index.js +0 -15
- package/src/locus-info/controlsUtils.js +0 -102
- package/src/media/index.js +0 -593
- package/src/media/util.js +0 -38
- package/src/mediaQualityMetrics/config.js +0 -382
- package/src/meeting/effectsState.js +0 -205
- package/src/meeting/muteState.js +0 -318
- package/src/meeting-info/meeting-info-v2.js +0 -255
- package/src/meetings/index.js +0 -986
- package/src/meetings/util.js +0 -176
- package/src/members/request.js +0 -131
- package/src/peer-connection-manager/index.js +0 -723
- package/src/peer-connection-manager/util.ts +0 -117
- package/src/roap/collection.js +0 -63
- package/src/roap/handler.js +0 -252
- package/src/roap/index.js +0 -380
- package/src/roap/request.js +0 -198
- package/src/roap/state.js +0 -149
- package/src/roap/util.js +0 -93
- package/src/statsAnalyzer/global.js +0 -131
- package/src/statsAnalyzer/index.js +0 -1020
- package/src/statsAnalyzer/mqaUtil.js +0 -173
- package/test/unit/spec/meeting/effectsState.js +0 -293
- package/test/unit/spec/peerconnection-manager/index.js +0 -188
- package/test/unit/spec/peerconnection-manager/utils.js +0 -48
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
- package/test/unit/spec/roap/util.js +0 -30
- /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
package/dist/roap/handler.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["checkForAndHandleErrors","action","meeting","correlationId","type","msg","messageType","errorType","RoapUtil","findError","handleError","mediaProperties","peerConnection","then","res","RoapCollection","deleteSessionSequence","seq","catch","err","LoggerProxy","logger","warn","ensureMeeting","compareWithLastRoapMessage","lastRoapMessage","currentRoapMessage","handleSessionStep","roap","session","locusUrl","sequenceId","OFFER","_OFFER_","GLARE_OFFER","remote","metricName","BEHAVIORAL_METRICS","ROAP_GLARE_CONDITION","data","correlation_id","locus_id","split","pop","sequence","Metrics","sendBehavioralMetric","info","state","RoapHandler","attrs","options","roapOk","roapAnswer","roapFinished","ROAP","ROAP_STATE","INIT","WAIT_TX_ANSWER","shouldHandleMedia","updatePeerConnection","answerSdps","mediaId","sdps","audioMuted","isAudioMuted","videoMuted","isVideoMuted","error","ROAP_ANSWER_FAILURE","reason","message","stack","metadata","name","WAIT_TX_OK","setRemoteDescription","ERROR","GLARE","tieBreaker","log","step","ROAP_SIGNAL","GLARE_RESOLVED","perform","signal","prefix","RECEIVE_ROAP_MSG","execute","RX_","SEND_ROAP_MSG","local","TX_","SEND_ROAP_MSG_SUCCESS","RECEIVE_CALL_LEAVE","deleteSession","RESET_ROAP_STATE","getSessionSequence","webex","meetings","meetingCollection","getByKey","handleAction","StatelessWebexPlugin"],"sources":["handler.js"],"sourcesContent":["/* no-param-reassign */\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {ROAP, _OFFER_} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport RoapUtil from './util';\nimport RoapCollection from './collection';\n\n\nconst checkForAndHandleErrors = (action, meeting, correlationId) => {\n if (action && action.type) {\n if (action.msg && action.msg.messageType && action.msg.errorType) {\n if (RoapUtil.findError(action.msg.messageType, action.msg.errorType, action.type)) {\n RoapUtil.handleError(meeting.mediaProperties.peerConnection)\n .then((res) => {\n if (res) {\n RoapCollection.deleteSessionSequence(correlationId, action.msg.seq);\n }\n })\n .catch((err) => {\n LoggerProxy.logger.warn(`Roap:handler#checkForAndHandleErrors --> Cannot reset the peer connection with error: ${err}`);\n });\n\n return true;\n }\n }\n if (!RoapUtil.ensureMeeting(meeting, action.type)) {\n return true;\n }\n }\n\n return false;\n};\n\nconst compareWithLastRoapMessage = (lastRoapMessage, currentRoapMessage) => lastRoapMessage?.msg?.seq === currentRoapMessage.msg.seq && lastRoapMessage?.msg?.messageType === currentRoapMessage.msg.messageType;\n\nconst handleSessionStep = ({\n roap, session, locusUrl, correlationId\n}) => {\n const {seq: sequenceId, messageType} = roap.msg;\n\n if (session.OFFER && messageType === _OFFER_) {\n session.GLARE_OFFER = roap.msg;\n session.GLARE_OFFER.remote = !!roap.remote;\n const metricName = BEHAVIORAL_METRICS.ROAP_GLARE_CONDITION;\n const data = {\n correlation_id: correlationId,\n locus_id: locusUrl.split('/').pop(),\n sequence: sequenceId\n };\n\n Metrics.sendBehavioralMetric(metricName, data);\n\n LoggerProxy.logger.warn(`Roap:handler#handleSessionStep --> Glare condition occurred with new mercury event, sequenceId: ${sequenceId}`);\n }\n else {\n LoggerProxy.logger.info(`Roap:handler#handleSessionStep --> Save OFFER/ANSWER seq:${sequenceId} new mercury event ${messageType}local state: ${JSON.stringify(session.state.state, null, 2)}`);\n session[messageType] = roap.msg;\n session[messageType].remote = !!roap.remote;\n }\n};\n\n/**\n * @class RoapHandler\n */\nexport default class RoapHandler extends StatelessWebexPlugin {\n constructor(attrs, options, roapOk, roapAnswer, roapFinished) {\n super({}, options);\n this.attrs = attrs;\n this.options = options;\n this.roapOk = roapOk;\n this.roapFinished = roapFinished;\n this.roapAnswer = roapAnswer;\n this.lastRoapMessage = null;\n }\n\n /**\n *\n * @param {Object} session\n * @param {Meeting} meeting\n * @param {Object} action\n * @returns {null}\n */\n perform(session, meeting, action) {\n switch (session.state.state) {\n case ROAP.ROAP_STATE.INIT:\n this.roapFinished(meeting.correlationId, action.msg.seq);\n break;\n\n // TODO: (important )handle roap state for sending offers as well\n // case ROAP.ROAP_STATE.WAIT_RX_OFFER:\n // case ROAP.ROAP_STATE.WAIT_RX_ANSWER:\n // case ROAP.ROAP_STATE.WAIT_RX_OK:\n case ROAP.ROAP_STATE.WAIT_TX_ANSWER:\n // eslint-disable-next-line no-warning-comments\n // TODO: sometime the you get an answer while you are creating an offer so SKIP\n // Server will send the mercury event comes back\n if (RoapUtil.shouldHandleMedia(meeting)) {\n RoapUtil.updatePeerConnection(meeting, session)\n .then((answerSdps) => {\n this.roapAnswer({\n mediaId: meeting.mediaId,\n sdps: answerSdps,\n seq: session.OFFER.seq,\n correlationId: meeting.correlationId,\n audioMuted: meeting.isAudioMuted(),\n videoMuted: meeting.isVideoMuted()\n });\n })\n .catch((error) => {\n const metricName = BEHAVIORAL_METRICS.ROAP_ANSWER_FAILURE;\n const data = {\n correlation_id: meeting.correlationId,\n locus_id: meeting.locusUrl.split('/').pop(),\n reason: error.message,\n stack: error.stack\n };\n const metadata = {\n type: error.name\n };\n\n Metrics.sendBehavioralMetric(metricName, data, metadata);\n LoggerProxy.logger.error(`Roap:handler#perform --> Error occured during wait receive answer, continuing, ${error}`);\n });\n }\n break;\n case ROAP.ROAP_STATE.WAIT_TX_OK:\n if (!RoapUtil.shouldHandleMedia(meeting)) {\n RoapUtil.setRemoteDescription(meeting, session).then((res) => {\n this.roapOk(res);\n });\n }\n break;\n // case ROAP.ROAP_STATE.IDLE_LOCAL_OFFER:\n case ROAP.ROAP_STATE.ERROR:\n LoggerProxy.logger.error(`Roap:handler#perform --> Roap State ERROR for session: ${session}`);\n break;\n case ROAP.ROAP_STATE.GLARE:\n session.GLARE_OFFER.tieBreaker = session.GLARE_OFFER.tieBreaker || 0;\n session.OFFER.tieBreaker = session.OFFER.tieBreaker || 0;\n LoggerProxy.logger.warn('Roap:handler#perform --> Roap State resolved the GLARE condition.');\n if (session.GLARE_OFFER.tieBreaker < session.OFFER.tieBreaker) {\n // 2\n LoggerProxy.logger.log('Roap:handler#perform --> Roap State local offer won after GLARE.');\n }\n else {\n LoggerProxy.logger.log('Roap:handler#perform --> Roap State remote offer won after GLARE.');\n }\n session.state.step(ROAP.ROAP_SIGNAL.GLARE_RESOLVED, meeting, action);\n this.perform(session, meeting);\n break;\n default:\n break;\n }\n }\n\n /**\n *\n * @param {String} signal\n * @param {Object} session\n * @param {Object} action\n * @param {Meeting} meeting\n * @param {String} prefix\n * @returns {null}\n */\n execute(signal, session, action, meeting, prefix) {\n if (session && session.state) {\n handleSessionStep({\n roap: action,\n locusUrl: meeting.locusUrl,\n correlationId: meeting.correlationId,\n session\n });\n signal = ROAP.ROAP_SIGNAL[`${prefix}${action.msg.messageType}`];\n session.state.step(signal, meeting, action);\n this.perform(session, meeting, action);\n }\n }\n\n /**\n *\n * @param {Object} session\n * @param {Object} action\n * @param {Meeting} meeting\n * @param {String} correlationId\n * @returns {Boolean}\n */\n handleAction(session, action, meeting, correlationId) {\n let signal;\n\n\n switch (action.type) {\n case ROAP.RECEIVE_ROAP_MSG:\n LoggerProxy.logger.log(`Roap:handler#handleAction --> RECEIVE_ROAP_MSG event captured, reciving a roap message : ${JSON.stringify(action)}`);\n if (compareWithLastRoapMessage(this.lastRoapMessage, action)) {\n LoggerProxy.logger.warn(`Roap:handler#handleAction --> duplicate roap offer from server: ${action.msg.seq}`);\n }\n else {\n this.lastRoapMessage = action;\n action.remote = true;\n this.execute(signal, session, action, meeting, ROAP.RX_);\n }\n break;\n case ROAP.SEND_ROAP_MSG:\n LoggerProxy.logger.log(`Roap:handler#handleAction --> SEND_ROAP_MSG event captured, sending roap message ${JSON.stringify(action)}`);\n\n action.local = true;\n this.execute(signal, session, action, meeting, ROAP.TX_);\n break;\n case ROAP.SEND_ROAP_MSG_SUCCESS:\n // NOTE: When server send back an answer via mercury the\n // remote SDP is already saved sent and ok message is sent back\n // We dont have to indicate the roapHandler about the RX_ANSWER via SEND_ROAP_MSG_SUCCESS\n break;\n case ROAP.RECEIVE_CALL_LEAVE:\n RoapCollection.deleteSession(correlationId);\n LoggerProxy.logger.log(`Roap:handler#handleAction --> RECEIVE_CALL_LEAVE event captured, cleaning up the RoapHandler for correlationId: ${correlationId}`); break;\n case ROAP.RESET_ROAP_STATE:\n RoapCollection.deleteSessionSequence(correlationId, action.msg.seq);\n LoggerProxy.logger.log(`Roap:handler#handleAction --> RESET_ROAP_STATE event captured, resetting the RoapHandler state based on sequenceId: ${action.msg.seq}`); break;\n default:\n return true;\n }\n\n return true;\n }\n\n /**\n *\n * @param {Object} action\n * @returns {Boolean}\n */\n submit(action) {\n const {correlationId} = action;\n let {seq} = action;\n\n if (!seq && action.msg) {\n seq = action.msg.seq;\n }\n const session = RoapCollection.getSessionSequence(correlationId, seq);\n const meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', correlationId);\n\n if (checkForAndHandleErrors(action, meeting, correlationId)) {\n return true;\n }\n\n return this.handleAction(session, action, meeting, correlationId);\n }\n}\n"],"mappings":"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"}
|
package/dist/roap/state.js
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
|
-
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
exports.default = void 0;
|
|
12
|
-
|
|
13
|
-
var _javascriptStateMachine = _interopRequireDefault(require("javascript-state-machine"));
|
|
14
|
-
|
|
15
|
-
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
16
|
-
|
|
17
|
-
var _constants = require("../constants");
|
|
18
|
-
|
|
19
|
-
var shouldStep = function shouldStep(roap, meeting) {
|
|
20
|
-
var messageType = roap.msg.messageType;
|
|
21
|
-
|
|
22
|
-
if (meeting) {
|
|
23
|
-
if (messageType === _constants._OFFER_ && roap.remote && meeting.shareStatus === _constants._REQUESTED_) {
|
|
24
|
-
// The peer-connection is waiting for answer but got an offer Reset. Try to
|
|
25
|
-
// send the offer later after you accept the answer
|
|
26
|
-
return false;
|
|
27
|
-
} // Assuming the mercury event has come first before the response for the event
|
|
28
|
-
// we have to wait for the response and trigger the ROAP request later on
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (!meeting.mediaProperties.peerConnection && messageType === _constants._ANSWER_) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
_loggerProxy.default.logger.log('Roap:state#shouldStep --> RoapStateMachine: PeerConnectionState, ', meeting.mediaProperties.peerConnection.signalingState);
|
|
37
|
-
|
|
38
|
-
_loggerProxy.default.logger.log('Roap:state#shouldStep --> RoapStateMachine: success save proceeding with transition, ', roap.msg);
|
|
39
|
-
|
|
40
|
-
return true;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
var handleTransition = function handleTransition(value, signal, meeting) {
|
|
44
|
-
_loggerProxy.default.logger.log("Roap:state#handleTransition --> current ".concat(value, " to ").concat(signal));
|
|
45
|
-
|
|
46
|
-
switch (value) {
|
|
47
|
-
case _constants.ROAP.ROAP_STATE.INIT:
|
|
48
|
-
if (signal === _constants.ROAP.ROAP_SIGNAL.RX_OFFER) {
|
|
49
|
-
return _constants.ROAP.ROAP_STATE.WAIT_TX_ANSWER;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (signal === _constants.ROAP.ROAP_SIGNAL.TX_OFFER) {
|
|
53
|
-
return _constants.ROAP.ROAP_STATE.WAIT_RX_ANSWER;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return value;
|
|
57
|
-
|
|
58
|
-
case _constants.ROAP.ROAP_STATE.WAIT_RX_OFFER:
|
|
59
|
-
return value;
|
|
60
|
-
|
|
61
|
-
case _constants.ROAP.ROAP_STATE.WAIT_RX_ANSWER:
|
|
62
|
-
if (signal === _constants.ROAP.ROAP_SIGNAL.RX_ANSWER) {
|
|
63
|
-
// There is a race condition where the /call response comes after mercury event from the server
|
|
64
|
-
// As mercury sends roap event if it didnt get back a response. We can send the roap ok after that
|
|
65
|
-
if (meeting.mediaId) {
|
|
66
|
-
return _constants.ROAP.ROAP_STATE.WAIT_TX_OK;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
_loggerProxy.default.logger.error('Roap:state#handleTransition --> Race Condition no mediaId, continuing.');
|
|
70
|
-
|
|
71
|
-
return value;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (signal === _constants.ROAP.ROAP_SIGNAL.RX_OFFER) {
|
|
75
|
-
return _constants.ROAP.ROAP_STATE.GLARE;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return value;
|
|
79
|
-
|
|
80
|
-
case _constants.ROAP.ROAP_STATE.WAIT_TX_OFFER:
|
|
81
|
-
return value;
|
|
82
|
-
|
|
83
|
-
case _constants.ROAP.ROAP_STATE.WAIT_TX_ANSWER:
|
|
84
|
-
if (signal === _constants.ROAP.ROAP_SIGNAL.TX_ANSWER) {
|
|
85
|
-
return _constants.ROAP.ROAP_STATE.WAIT_RX_OK;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return value;
|
|
89
|
-
|
|
90
|
-
case _constants.ROAP.ROAP_STATE.WAIT_TX_OK:
|
|
91
|
-
if (signal === _constants.ROAP.ROAP_SIGNAL.TX_OK) {
|
|
92
|
-
return _constants.ROAP.ROAP_STATE.INIT;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return value;
|
|
96
|
-
|
|
97
|
-
case _constants.ROAP.ROAP_STATE.WAIT_RX_OK:
|
|
98
|
-
if (signal === _constants.ROAP.ROAP_SIGNAL.RX_OK) {
|
|
99
|
-
return _constants.ROAP.ROAP_STATE.INIT;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return value;
|
|
103
|
-
|
|
104
|
-
case _constants.ROAP.ROAP_STATE.ERROR:
|
|
105
|
-
// eslint-disable-next-line no-warning-comments
|
|
106
|
-
// TODO: resolve error state. Add a signal constant and handle the cleanup
|
|
107
|
-
return _constants.ROAP.ROAP_STATE.INIT;
|
|
108
|
-
|
|
109
|
-
case _constants.ROAP.ROAP_STATE.GLARE:
|
|
110
|
-
return _constants.ROAP.ROAP_STATE.WAIT_RX_ANSWER;
|
|
111
|
-
|
|
112
|
-
default:
|
|
113
|
-
return value;
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
var RoapStateMachine = {
|
|
118
|
-
/**
|
|
119
|
-
* @param {Roap} roapRef
|
|
120
|
-
* initializes the state machine
|
|
121
|
-
* @returns {StateMachine} an instance of a state machine
|
|
122
|
-
*/
|
|
123
|
-
createState: function createState() {
|
|
124
|
-
var RoapState = _javascriptStateMachine.default.factory({
|
|
125
|
-
init: _constants.ROAP.ROAP_STATE.INIT,
|
|
126
|
-
transitions: [{
|
|
127
|
-
name: _constants.ROAP.ROAP_TRANSITIONS.STEP,
|
|
128
|
-
from: '*',
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Method to handle the transitions between states
|
|
132
|
-
* @param {String} signal
|
|
133
|
-
* @param {Meeting} meeting instance of a Meeting
|
|
134
|
-
* @param {Object} roap
|
|
135
|
-
* @returns {String} new state value
|
|
136
|
-
*/
|
|
137
|
-
to: function to(signal, meeting, roap) {
|
|
138
|
-
var value = this.state;
|
|
139
|
-
|
|
140
|
-
if (!shouldStep(roap, meeting)) {
|
|
141
|
-
return value;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
return handleTransition(value, signal, meeting);
|
|
145
|
-
}
|
|
146
|
-
}],
|
|
147
|
-
methods: {
|
|
148
|
-
/**
|
|
149
|
-
* Event that fires after we've transitioned to a new state
|
|
150
|
-
* @param {Object} transition
|
|
151
|
-
* @returns {null}
|
|
152
|
-
*/
|
|
153
|
-
onAfterStep: function onAfterStep(transition) {
|
|
154
|
-
_loggerProxy.default.logger.log("Roap:state#onAfterStep --> RoapStateMachine->onAfterStep#fired! State changed from '".concat(transition.from, "' to '").concat(transition.to, "' with transition '").concat(transition.transition, "''."));
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
return new RoapState();
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
var _default = RoapStateMachine;
|
|
163
|
-
exports.default = _default;
|
|
164
|
-
//# sourceMappingURL=state.js.map
|
package/dist/roap/state.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["shouldStep","roap","meeting","messageType","msg","_OFFER_","remote","shareStatus","_REQUESTED_","mediaProperties","peerConnection","_ANSWER_","LoggerProxy","logger","log","signalingState","handleTransition","value","signal","ROAP","ROAP_STATE","INIT","ROAP_SIGNAL","RX_OFFER","WAIT_TX_ANSWER","TX_OFFER","WAIT_RX_ANSWER","WAIT_RX_OFFER","RX_ANSWER","mediaId","WAIT_TX_OK","error","GLARE","WAIT_TX_OFFER","TX_ANSWER","WAIT_RX_OK","TX_OK","RX_OK","ERROR","RoapStateMachine","createState","RoapState","StateMachine","factory","init","transitions","name","ROAP_TRANSITIONS","STEP","from","to","state","methods","onAfterStep","transition"],"sources":["state.js"],"sourcesContent":["import StateMachine from 'javascript-state-machine';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {ROAP, _OFFER_, _ANSWER_, _REQUESTED_} from '../constants';\n\nconst shouldStep = (roap, meeting) => {\n const {messageType} = roap.msg;\n\n if (meeting) {\n if (messageType === _OFFER_ && roap.remote && meeting.shareStatus === _REQUESTED_) {\n // The peer-connection is waiting for answer but got an offer Reset. Try to\n // send the offer later after you accept the answer\n return false;\n }\n // Assuming the mercury event has come first before the response for the event\n // we have to wait for the response and trigger the ROAP request later on\n if (!meeting.mediaProperties.peerConnection && messageType === _ANSWER_) {\n return false;\n }\n }\n LoggerProxy.logger.log('Roap:state#shouldStep --> RoapStateMachine: PeerConnectionState, ', meeting.mediaProperties.peerConnection.signalingState);\n LoggerProxy.logger.log('Roap:state#shouldStep --> RoapStateMachine: success save proceeding with transition, ', roap.msg);\n\n return true;\n};\n\nconst handleTransition = (value, signal, meeting) => {\n LoggerProxy.logger.log(`Roap:state#handleTransition --> current ${value} to ${signal}`);\n\n switch (value) {\n case ROAP.ROAP_STATE.INIT:\n if (signal === ROAP.ROAP_SIGNAL.RX_OFFER) {\n return ROAP.ROAP_STATE.WAIT_TX_ANSWER;\n }\n if (signal === ROAP.ROAP_SIGNAL.TX_OFFER) {\n return ROAP.ROAP_STATE.WAIT_RX_ANSWER;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_RX_OFFER:\n return value;\n\n case ROAP.ROAP_STATE.WAIT_RX_ANSWER:\n if (signal === ROAP.ROAP_SIGNAL.RX_ANSWER) {\n // There is a race condition where the /call response comes after mercury event from the server\n // As mercury sends roap event if it didnt get back a response. We can send the roap ok after that\n if (meeting.mediaId) {\n return ROAP.ROAP_STATE.WAIT_TX_OK;\n }\n LoggerProxy.logger.error('Roap:state#handleTransition --> Race Condition no mediaId, continuing.');\n\n return value;\n }\n\n if (signal === ROAP.ROAP_SIGNAL.RX_OFFER) {\n return ROAP.ROAP_STATE.GLARE;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_TX_OFFER:\n return value;\n\n case ROAP.ROAP_STATE.WAIT_TX_ANSWER:\n if (signal === ROAP.ROAP_SIGNAL.TX_ANSWER) {\n return ROAP.ROAP_STATE.WAIT_RX_OK;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_TX_OK:\n if (signal === ROAP.ROAP_SIGNAL.TX_OK) {\n return ROAP.ROAP_STATE.INIT;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_RX_OK:\n if (signal === ROAP.ROAP_SIGNAL.RX_OK) {\n return ROAP.ROAP_STATE.INIT;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.ERROR:\n // eslint-disable-next-line no-warning-comments\n // TODO: resolve error state. Add a signal constant and handle the cleanup\n return ROAP.ROAP_STATE.INIT;\n\n case ROAP.ROAP_STATE.GLARE:\n return ROAP.ROAP_STATE.WAIT_RX_ANSWER;\n default:\n return value;\n }\n};\n\nconst RoapStateMachine = {\n /**\n * @param {Roap} roapRef\n * initializes the state machine\n * @returns {StateMachine} an instance of a state machine\n */\n createState() {\n const RoapState = StateMachine.factory({\n init: ROAP.ROAP_STATE.INIT,\n transitions: [\n {\n name: ROAP.ROAP_TRANSITIONS.STEP,\n from: '*',\n /**\n * Method to handle the transitions between states\n * @param {String} signal\n * @param {Meeting} meeting instance of a Meeting\n * @param {Object} roap\n * @returns {String} new state value\n */\n to(signal, meeting, roap) {\n const value = this.state;\n\n if (!shouldStep(roap, meeting)) {\n return value;\n }\n\n return handleTransition(value, signal, meeting);\n }\n }\n ],\n methods: {\n /**\n * Event that fires after we've transitioned to a new state\n * @param {Object} transition\n * @returns {null}\n */\n onAfterStep(transition) {\n LoggerProxy.logger.log(\n `Roap:state#onAfterStep --> RoapStateMachine->onAfterStep#fired! State changed from '${transition.from}' to '${\n transition.to\n }' with transition '${transition.transition}''.`\n );\n }\n }\n });\n\n return new RoapState();\n }\n};\n\nexport default RoapStateMachine;\n"],"mappings":"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"}
|
package/dist/roap/util.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
|
-
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
|
-
_Object$defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
exports.default = void 0;
|
|
12
|
-
|
|
13
|
-
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
14
|
-
|
|
15
|
-
var _peerConnectionManager = _interopRequireDefault(require("../peer-connection-manager"));
|
|
16
|
-
|
|
17
|
-
var _constants = require("../constants");
|
|
18
|
-
|
|
19
|
-
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
20
|
-
|
|
21
|
-
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
22
|
-
|
|
23
|
-
var RoapUtil = {};
|
|
24
|
-
|
|
25
|
-
var ROAP_ANSWER = _constants._ANSWER_.toLowerCase();
|
|
26
|
-
|
|
27
|
-
RoapUtil.shouldHandleMedia = function (meeting) {
|
|
28
|
-
var offer = meeting.mediaProperties.peerConnection && meeting.mediaProperties.peerConnection.signalingState === _constants.SDP.HAVE_LOCAL_OFFER;
|
|
29
|
-
|
|
30
|
-
if (offer) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return true;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
RoapUtil.handleError = function (pc) {
|
|
38
|
-
return _peerConnectionManager.default.rollBackLocalDescription({
|
|
39
|
-
peerConnection: pc
|
|
40
|
-
}).then(function () {
|
|
41
|
-
return _promise.default.resolve(true);
|
|
42
|
-
}).catch(function (err) {
|
|
43
|
-
_loggerProxy.default.logger.error("Roap:util#handleError --> ".concat(err));
|
|
44
|
-
|
|
45
|
-
return _promise.default.reject(err);
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
RoapUtil.findError = function (messageType, errorType, type) {
|
|
50
|
-
return (type === _constants.ROAP.RECEIVE_ROAP_MSG || type === _constants.ROAP.SEND_ROAP_MSG) && messageType === _constants._ERROR_ && errorType === _constants._CONFLICT_;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
RoapUtil.ensureMeeting = function (meeting, type) {
|
|
54
|
-
if (type === _constants.ROAP.RECEIVE_ROAP_MSG || type === _constants.ROAP.SEND_ROAP_MSG || type === _constants.ROAP.SEND_ROAP_MSG_SUCCESS) {
|
|
55
|
-
if (!meeting) {
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return true;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
RoapUtil.updatePeerConnection = function (meeting, session) {
|
|
64
|
-
return _peerConnectionManager.default.updatePeerConnection({
|
|
65
|
-
offerSdp: session.OFFER.sdps,
|
|
66
|
-
peerConnection: meeting.mediaProperties.peerConnection
|
|
67
|
-
}, {
|
|
68
|
-
meetingId: meeting.id,
|
|
69
|
-
remoteQualityLevel: meeting.mediaProperties.remoteQualityLevel
|
|
70
|
-
}).then(function (res) {
|
|
71
|
-
meeting.roap.lastRoapOffer = session.OFFER.sdps;
|
|
72
|
-
return res;
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
RoapUtil.setRemoteDescription = function (meeting, session) {
|
|
77
|
-
_loggerProxy.default.logger.info("Roap:util#setRemoteDescription --> Transmit WAIT_TX_OK, correlationId: ".concat(meeting.correlationId));
|
|
78
|
-
|
|
79
|
-
if (!(meeting && meeting.mediaProperties.peerConnection)) {
|
|
80
|
-
_loggerProxy.default.logger.error("Roap:util#setRemoteDescription --> DANGER no media or screen peer connection, correlationId: ".concat(meeting.correlationId));
|
|
81
|
-
|
|
82
|
-
return _promise.default.reject(new _parameter.default('Must provide a media or screen peer connection'));
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return _peerConnectionManager.default.setRemoteSessionDetails(meeting.mediaProperties.peerConnection, ROAP_ANSWER, session.ANSWER.sdps[0], meeting.id).then(function () {
|
|
86
|
-
_loggerProxy.default.logger.info("Roap:util#setRemoteDescription --> Success for correlationId: ".concat(meeting.correlationId));
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
seq: session.ANSWER.seq,
|
|
90
|
-
mediaId: meeting.mediaId,
|
|
91
|
-
correlationId: meeting.correlationId
|
|
92
|
-
};
|
|
93
|
-
}).catch(function (err) {
|
|
94
|
-
_loggerProxy.default.logger.error("Roap:util#setRemoteDescription --> ".concat(err));
|
|
95
|
-
|
|
96
|
-
throw err;
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
var _default = RoapUtil;
|
|
101
|
-
exports.default = _default;
|
|
102
|
-
//# sourceMappingURL=util.js.map
|
package/dist/roap/util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["RoapUtil","ROAP_ANSWER","_ANSWER_","toLowerCase","shouldHandleMedia","meeting","offer","mediaProperties","peerConnection","signalingState","SDP","HAVE_LOCAL_OFFER","handleError","pc","PeerConnectionManager","rollBackLocalDescription","then","resolve","catch","err","LoggerProxy","logger","error","reject","findError","messageType","errorType","type","ROAP","RECEIVE_ROAP_MSG","SEND_ROAP_MSG","_ERROR_","_CONFLICT_","ensureMeeting","SEND_ROAP_MSG_SUCCESS","updatePeerConnection","session","offerSdp","OFFER","sdps","meetingId","id","remoteQualityLevel","res","roap","lastRoapOffer","setRemoteDescription","info","correlationId","ParameterError","setRemoteSessionDetails","ANSWER","seq","mediaId"],"sources":["util.js"],"sourcesContent":["\nimport PeerConnectionManager from '../peer-connection-manager';\nimport {\n _ANSWER_,\n _ERROR_,\n _CONFLICT_,\n ROAP,\n SDP\n} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport ParameterError from '../common/errors/parameter';\n\nconst RoapUtil = {};\nconst ROAP_ANSWER = _ANSWER_.toLowerCase();\n\nRoapUtil.shouldHandleMedia = (meeting) => {\n const offer =\n meeting.mediaProperties.peerConnection &&\n meeting.mediaProperties.peerConnection.signalingState === SDP.HAVE_LOCAL_OFFER;\n\n if (offer) {\n return false;\n }\n\n return true;\n};\n\nRoapUtil.handleError = (pc) =>\n PeerConnectionManager.rollBackLocalDescription({peerConnection: pc})\n .then(() => Promise.resolve(true))\n .catch((err) => {\n LoggerProxy.logger.error(`Roap:util#handleError --> ${err}`);\n\n return Promise.reject(err);\n });\n\nRoapUtil.findError = (messageType, errorType, type) =>\n (type === ROAP.RECEIVE_ROAP_MSG || type === ROAP.SEND_ROAP_MSG) && messageType === _ERROR_ && errorType === _CONFLICT_;\n\nRoapUtil.ensureMeeting = (meeting, type) => {\n if (type === ROAP.RECEIVE_ROAP_MSG || type === ROAP.SEND_ROAP_MSG || type === ROAP.SEND_ROAP_MSG_SUCCESS) {\n if (!meeting) {\n return false;\n }\n }\n\n return true;\n};\n\nRoapUtil.updatePeerConnection = (meeting, session) => PeerConnectionManager.updatePeerConnection({\n offerSdp: session.OFFER.sdps,\n peerConnection: meeting.mediaProperties.peerConnection\n},\n{\n meetingId: meeting.id,\n remoteQualityLevel: meeting.mediaProperties.remoteQualityLevel\n})\n .then((res) => {\n meeting.roap.lastRoapOffer = session.OFFER.sdps;\n\n return res;\n });\n\n\nRoapUtil.setRemoteDescription = (meeting, session) => {\n LoggerProxy.logger.info(`Roap:util#setRemoteDescription --> Transmit WAIT_TX_OK, correlationId: ${meeting.correlationId}`);\n if (!(meeting && (meeting.mediaProperties.peerConnection))) {\n LoggerProxy.logger.error(`Roap:util#setRemoteDescription --> DANGER no media or screen peer connection, correlationId: ${meeting.correlationId}`);\n\n return Promise.reject(new ParameterError('Must provide a media or screen peer connection'));\n }\n\n return PeerConnectionManager.setRemoteSessionDetails(\n meeting.mediaProperties.peerConnection,\n ROAP_ANSWER,\n session.ANSWER.sdps[0],\n meeting.id\n ).then(() => {\n LoggerProxy.logger.info(`Roap:util#setRemoteDescription --> Success for correlationId: ${meeting.correlationId}`);\n\n return {\n seq: session.ANSWER.seq,\n mediaId: meeting.mediaId,\n correlationId: meeting.correlationId\n };\n })\n .catch((err) => {\n LoggerProxy.logger.error(`Roap:util#setRemoteDescription --> ${err}`);\n throw err;\n });\n};\n\nexport default RoapUtil;\n"],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-unused-vars */
|
|
2
|
-
import LoggerConfig from './logger-config';
|
|
3
|
-
|
|
4
|
-
const LoggerProxy = {
|
|
5
|
-
logger: {
|
|
6
|
-
info: (args) => { console.error('LoggerProxy->info#NO LOGGER DEFINED'); },
|
|
7
|
-
log: (args) => { console.error('LoggerProxy->log#NO LOGGER DEFINED'); },
|
|
8
|
-
error: (args) => { console.error('LoggerProxy->error#NO LOGGER DEFINED'); },
|
|
9
|
-
warn: (args) => { console.error('LoggerProxy->warn#NO LOGGER DEFINED'); },
|
|
10
|
-
trace: (args) => { console.error('LoggerProxy->trace#NO LOGGER DEFINED'); },
|
|
11
|
-
debug: (args) => { console.error('LoggerProxy->debug#NO LOGGER DEFINED'); }
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
LoggerProxy.set = (logger) => {
|
|
16
|
-
if (!LoggerConfig.enable) {
|
|
17
|
-
LoggerProxy.logger = {
|
|
18
|
-
info: () => {},
|
|
19
|
-
log: () => {},
|
|
20
|
-
error: () => {},
|
|
21
|
-
warn: () => {},
|
|
22
|
-
trace: () => {},
|
|
23
|
-
debug: () => {}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
LoggerProxy.logger = logger;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
LoggerProxy.get = () => LoggerProxy.logger;
|
|
32
|
-
|
|
33
|
-
export default LoggerProxy;
|
package/src/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/* eslint-env browser */
|
|
2
|
-
import {registerPlugin} from '@webex/webex-core';
|
|
3
|
-
|
|
4
|
-
import Meetings from './meetings';
|
|
5
|
-
import config from './config';
|
|
6
|
-
|
|
7
|
-
registerPlugin('meetings', Meetings, {
|
|
8
|
-
config
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
export default Meetings;
|
|
12
|
-
|
|
13
|
-
export * as CONSTANTS from './constants';
|
|
14
|
-
|
|
15
|
-
export {default as TriggerProxy} from './common/events/trigger-proxy';
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import {isEqual} from 'lodash';
|
|
2
|
-
|
|
3
|
-
const ControlsUtils = {};
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Controls
|
|
7
|
-
* @typedef {Object} LocusControls
|
|
8
|
-
* @property {Object} record
|
|
9
|
-
* @property {Boolean} record.recording
|
|
10
|
-
* @property {Object} record.meta
|
|
11
|
-
* @property {String} record.meta.modifiedBy
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* parse the relevant host values that we care about: id
|
|
16
|
-
* @param {LocusControls} controls
|
|
17
|
-
* @returns {Object} parsedObject - parsed host or null if host was undefined
|
|
18
|
-
* @returns {String} parsedObject.recordingId
|
|
19
|
-
*/
|
|
20
|
-
ControlsUtils.parse = (controls) => {
|
|
21
|
-
const parsedControls = {...controls};
|
|
22
|
-
|
|
23
|
-
if (controls && controls.record) {
|
|
24
|
-
parsedControls.record = {
|
|
25
|
-
modifiedBy: ControlsUtils.getId(controls),
|
|
26
|
-
paused: controls.record.paused ? controls.record.paused : false,
|
|
27
|
-
recording: controls.record.recording,
|
|
28
|
-
lastModified: controls.record.meta.lastModified
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (controls && controls.meetingContainer) {
|
|
33
|
-
parsedControls.meetingContainer = {
|
|
34
|
-
meetingContainerUrl: controls.meetingContainer.meetingContainerUrl
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (controls && controls.transcribe) {
|
|
39
|
-
parsedControls.transcribe = {
|
|
40
|
-
transcribing: controls.transcribe.transcribing,
|
|
41
|
-
caption: controls.transcribe.caption
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (controls && controls.entryExitTone) {
|
|
46
|
-
parsedControls.entryExitTone = controls.entryExitTone.enabled ? controls.entryExitTone.mode : null;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return parsedControls;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* parses and returns previous state vs current state and triggers the changes.
|
|
54
|
-
* @param {LocusControls} oldControls previous state
|
|
55
|
-
* @param {LocusControls} newControls current state
|
|
56
|
-
* @returns {Object} combination of state plus the changes
|
|
57
|
-
*/
|
|
58
|
-
ControlsUtils.getControls = (oldControls, newControls) => {
|
|
59
|
-
const previous = ControlsUtils.parse(oldControls);
|
|
60
|
-
const current = ControlsUtils.parse(newControls);
|
|
61
|
-
|
|
62
|
-
return {
|
|
63
|
-
previous,
|
|
64
|
-
current,
|
|
65
|
-
updates: {
|
|
66
|
-
hasRecordingPausedChanged: current?.record &&
|
|
67
|
-
!isEqual(previous?.record?.paused, current.record.paused) &&
|
|
68
|
-
(previous?.record?.recording || current?.record?.recording), // see comments directly below
|
|
69
|
-
|
|
70
|
-
hasRecordingChanged: current?.record &&
|
|
71
|
-
!isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
|
|
72
|
-
(previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
|
73
|
-
|
|
74
|
-
hasMeetingContainerChanged: current?.meetingContainer &&
|
|
75
|
-
!isEqual(previous?.meetingContainer?.meetingContainerUrl,
|
|
76
|
-
current?.meetingContainer?.meetingContainerUrl),
|
|
77
|
-
|
|
78
|
-
hasTranscribeChanged: current?.transcribe &&
|
|
79
|
-
!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
|
|
80
|
-
(previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
|
81
|
-
|
|
82
|
-
hasEntryExitToneChanged: !!(newControls.entryExitTone &&
|
|
83
|
-
!isEqual(previous?.entryExitTone, current?.entryExitTone) &&
|
|
84
|
-
(previous?.entryExitTone || current?.entryExitTone)),
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Extract the id from the record controls object
|
|
91
|
-
* @param {LocusControls} controls
|
|
92
|
-
* @returns {String|null}
|
|
93
|
-
*/
|
|
94
|
-
ControlsUtils.getId = (controls) => {
|
|
95
|
-
if (controls.record.meta) {
|
|
96
|
-
return controls.record.meta.modifiedBy;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return null;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export default ControlsUtils;
|