@webex/plugin-meetings 2.60.0-next.9 → 2.60.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -46
- package/dist/common/browser-detection.js +3 -2
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +4 -3
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +2 -1
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +2 -1
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +2 -1
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +2 -1
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +2 -1
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +4 -3
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +2 -1
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +2 -1
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/{reclaim-host-role-errors.js → reclaim-host-role-error.js} +11 -7
- package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
- package/dist/common/errors/reconnection-in-progress.js +2 -1
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +2 -1
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +2 -1
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +8 -20
- package/dist/common/errors/webex-errors.js +28 -48
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +2 -1
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +2 -1
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +2 -1
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +2 -1
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +2 -1
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +2 -1
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +3 -2
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +1 -3
- package/dist/common/logs/request.js +5 -8
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +7 -9
- package/dist/common/queue.js +9 -22
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +7 -5
- package/dist/config.js +11 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +97 -217
- package/dist/constants.js +441 -416
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +6 -3
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.d.ts +1 -11
- package/dist/controls-options-manager/enums.js +6 -15
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +1 -17
- package/dist/controls-options-manager/index.js +38 -127
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.d.ts +7 -1
- package/dist/controls-options-manager/util.js +19 -309
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.js +4 -116
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +11 -100
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +4 -3
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +2 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +2 -1
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +4 -57
- package/dist/locus-info/index.js +84 -425
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +5 -13
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +3 -58
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +6 -66
- package/dist/locus-info/parser.js +80 -253
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +13 -97
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +0 -2
- package/dist/media/index.js +319 -107
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +53 -38
- package/dist/media/properties.js +153 -96
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +22 -1
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +230 -234
- package/dist/mediaQualityMetrics/config.js +498 -302
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.d.ts +42 -0
- package/dist/meeting/effectsState.js +260 -0
- package/dist/meeting/effectsState.js.map +1 -0
- package/dist/meeting/in-meeting-actions.d.ts +0 -88
- package/dist/meeting/in-meeting-actions.js +3 -94
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +494 -591
- package/dist/meeting/index.js +2969 -4707
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +25 -93
- package/dist/meeting/muteState.js +133 -224
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +47 -82
- package/dist/meeting/request.js +199 -297
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.js +2 -1
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +1 -102
- package/dist/meeting/util.js +435 -605
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +4 -3
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +1 -13
- package/dist/meeting-info/index.js +7 -74
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +1 -31
- package/dist/meeting-info/meeting-info-v2.js +63 -200
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +2 -1
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +3 -2
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +41 -39
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +0 -17
- package/dist/meetings/collection.js +4 -42
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +21 -103
- package/dist/meetings/index.js +124 -486
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +3 -4
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +6 -107
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +1 -13
- package/dist/member/index.js +2 -45
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.js +4 -3
- package/dist/member/member.types.js.map +1 -1
- package/dist/member/util.js +29 -120
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +0 -5
- package/dist/members/collection.js +2 -11
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +11 -56
- package/dist/members/index.js +47 -174
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +11 -67
- package/dist/members/request.js +54 -102
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +4 -3
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.d.ts +1 -214
- package/dist/members/util.js +284 -327
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.d.ts +169 -0
- package/dist/metrics/config.js +289 -0
- package/dist/metrics/config.js.map +1 -0
- package/dist/metrics/constants.d.ts +6 -15
- package/dist/metrics/constants.js +9 -17
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +111 -4
- package/dist/metrics/index.js +452 -4
- package/dist/metrics/index.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +4 -5
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/peer-connection-manager/index.d.ts +6 -0
- package/dist/peer-connection-manager/index.js +671 -0
- package/dist/peer-connection-manager/index.js.map +1 -0
- package/dist/peer-connection-manager/util.d.ts +6 -0
- package/dist/peer-connection-manager/util.js +110 -0
- package/dist/peer-connection-manager/util.js.map +1 -0
- package/dist/personal-meeting-room/index.js +3 -2
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +3 -2
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +2 -1
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.d.ts +7 -62
- package/dist/reachability/index.js +72 -265
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +3 -7
- package/dist/reachability/request.js +10 -18
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/reactions.d.ts +2 -2
- package/dist/reactions/reactions.js +6 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +3 -23
- package/dist/reactions/reactions.type.js +23 -21
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +8 -32
- package/dist/reconnection-manager/index.js +231 -282
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +5 -4
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.d.ts +1 -15
- package/dist/recording-controller/index.js +46 -57
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +4 -5
- package/dist/recording-controller/util.js +10 -10
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/collection.d.ts +10 -0
- package/dist/roap/collection.js +63 -0
- package/dist/roap/collection.js.map +1 -0
- package/dist/roap/handler.d.ts +47 -0
- package/dist/roap/handler.js +279 -0
- package/dist/roap/handler.js.map +1 -0
- package/dist/roap/index.d.ts +47 -9
- package/dist/roap/index.js +235 -101
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +12 -18
- package/dist/roap/request.js +180 -126
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/state.d.ts +9 -0
- package/dist/roap/state.js +127 -0
- package/dist/roap/state.js.map +1 -0
- package/dist/roap/turnDiscovery.d.ts +16 -27
- package/dist/roap/turnDiscovery.js +105 -115
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/util.d.ts +2 -0
- package/dist/roap/util.js +76 -0
- package/dist/roap/util.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +83 -1
- package/dist/statsAnalyzer/global.js +85 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +30 -28
- package/dist/statsAnalyzer/index.js +509 -374
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +6 -8
- package/dist/statsAnalyzer/mqaUtil.js +83 -116
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +2 -1
- package/dist/transcription/index.js.map +1 -1
- package/package.json +26 -35
- package/src/common/errors/webex-errors.ts +12 -36
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +1 -5
- package/src/common/queue.ts +8 -22
- package/src/config.ts +7 -5
- package/src/constants.ts +97 -244
- package/src/controls-options-manager/enums.ts +0 -12
- package/src/controls-options-manager/index.ts +21 -116
- package/src/controls-options-manager/util.ts +14 -294
- package/src/index.js +15 -0
- package/src/locus-info/controlsUtils.ts +0 -110
- package/src/locus-info/index.ts +61 -449
- package/src/locus-info/infoUtils.ts +2 -14
- package/src/locus-info/mediaSharesUtils.ts +0 -64
- package/src/locus-info/parser.ts +47 -258
- package/src/locus-info/selfUtils.ts +2 -85
- package/src/media/index.ts +370 -153
- package/src/media/properties.ts +136 -106
- package/src/media/util.ts +21 -0
- package/src/mediaQualityMetrics/config.ts +377 -244
- package/src/meeting/effectsState.ts +209 -0
- package/src/meeting/in-meeting-actions.ts +0 -176
- package/src/meeting/index.ts +2482 -3929
- package/src/meeting/muteState.ts +138 -224
- package/src/meeting/request.ts +127 -207
- package/src/meeting/util.ts +423 -590
- package/src/meeting-info/index.ts +8 -81
- package/src/meeting-info/meeting-info-v2.ts +13 -163
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +28 -28
- package/src/meetings/collection.ts +0 -33
- package/src/meetings/index.ts +126 -486
- package/src/meetings/request.ts +0 -2
- package/src/meetings/util.ts +5 -116
- package/src/member/index.ts +1 -43
- package/src/member/util.ts +28 -125
- package/src/members/collection.ts +0 -8
- package/src/members/index.ts +52 -187
- package/src/members/request.ts +27 -87
- package/src/members/util.ts +291 -332
- package/src/metrics/config.ts +485 -0
- package/src/metrics/constants.ts +6 -15
- package/src/metrics/index.ts +471 -1
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/peer-connection-manager/index.ts +847 -0
- package/src/peer-connection-manager/util.ts +119 -0
- package/src/reachability/index.ts +45 -238
- package/src/reachability/request.ts +8 -17
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +4 -30
- package/src/reconnection-manager/index.ts +156 -168
- package/src/recording-controller/index.ts +3 -20
- package/src/recording-controller/util.ts +9 -26
- package/src/roap/collection.ts +62 -0
- package/src/roap/handler.ts +294 -0
- package/src/roap/index.ts +241 -98
- package/src/roap/request.ts +148 -74
- package/src/roap/state.ts +156 -0
- package/src/roap/turnDiscovery.ts +56 -62
- package/src/roap/util.ts +100 -0
- package/src/statsAnalyzer/global.ts +84 -1
- package/src/statsAnalyzer/index.ts +642 -413
- package/src/statsAnalyzer/mqaUtil.ts +114 -111
- package/test/integration/spec/journey.js +264 -320
- package/test/integration/spec/space-meeting.js +4 -77
- package/test/unit/spec/common/queue.js +2 -31
- package/test/unit/spec/controls-options-manager/index.js +0 -163
- package/test/unit/spec/controls-options-manager/util.js +60 -576
- package/test/unit/spec/fixture/locus.js +0 -1
- package/test/unit/spec/locus-info/controlsUtils.js +30 -323
- package/test/unit/spec/locus-info/index.js +15 -1389
- package/test/unit/spec/locus-info/infoUtils.js +16 -54
- package/test/unit/spec/locus-info/lib/SeqCmp.json +0 -16
- package/test/unit/spec/locus-info/lib/selfConstant.js +0 -48
- package/test/unit/spec/locus-info/parser.js +35 -116
- package/test/unit/spec/locus-info/selfUtils.js +0 -275
- package/test/unit/spec/media/properties.ts +84 -75
- package/test/unit/spec/meeting/effectsState.js +281 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +0 -86
- package/test/unit/spec/meeting/index.js +3136 -8547
- package/test/unit/spec/meeting/muteState.js +213 -409
- package/test/unit/spec/meeting/request.js +42 -512
- package/test/unit/spec/meeting/utils.js +24 -741
- package/test/unit/spec/meeting-info/meetinginfov2.js +5 -527
- package/test/unit/spec/meeting-info/utilv2.js +0 -21
- package/test/unit/spec/meetings/collection.js +0 -26
- package/test/unit/spec/meetings/index.js +211 -1278
- package/test/unit/spec/meetings/utils.js +2 -202
- package/test/unit/spec/member/index.js +9 -32
- package/test/unit/spec/member/util.js +61 -499
- package/test/unit/spec/members/index.js +5 -394
- package/test/unit/spec/members/request.js +27 -206
- package/test/unit/spec/members/utils.js +38 -173
- package/test/unit/spec/metrics/index.js +50 -1
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/peerconnection-manager/index.js +218 -0
- package/test/unit/spec/peerconnection-manager/utils.js +49 -0
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -0
- package/test/unit/spec/reachability/index.ts +24 -598
- package/test/unit/spec/reconnection-manager/index.js +24 -162
- package/test/unit/spec/recording-controller/index.js +218 -293
- package/test/unit/spec/recording-controller/util.js +96 -223
- package/test/unit/spec/roap/index.ts +76 -200
- package/test/unit/spec/roap/turnDiscovery.ts +48 -86
- package/test/unit/spec/roap/util.js +30 -0
- package/test/unit/spec/stats-analyzer/index.js +174 -188
- package/test/utils/testUtils.js +45 -0
- package/test/utils/webex-config.js +0 -4
- package/test/utils/webex-test-users.js +3 -7
- package/dist/annotation/annotation.types.d.ts +0 -42
- package/dist/annotation/annotation.types.js +0 -7
- package/dist/annotation/annotation.types.js.map +0 -1
- package/dist/annotation/constants.d.ts +0 -31
- package/dist/annotation/constants.js +0 -41
- package/dist/annotation/constants.js.map +0 -1
- package/dist/annotation/index.d.ts +0 -117
- package/dist/annotation/index.js +0 -357
- package/dist/annotation/index.js.map +0 -1
- package/dist/breakouts/breakout.d.ts +0 -8
- package/dist/breakouts/breakout.js +0 -215
- package/dist/breakouts/breakout.js.map +0 -1
- package/dist/breakouts/collection.d.ts +0 -5
- package/dist/breakouts/collection.js +0 -22
- package/dist/breakouts/collection.js.map +0 -1
- package/dist/breakouts/edit-lock-error.d.ts +0 -15
- package/dist/breakouts/edit-lock-error.js +0 -51
- package/dist/breakouts/edit-lock-error.js.map +0 -1
- package/dist/breakouts/events.d.ts +0 -8
- package/dist/breakouts/events.js +0 -44
- package/dist/breakouts/events.js.map +0 -1
- package/dist/breakouts/index.d.ts +0 -5
- package/dist/breakouts/index.js +0 -1047
- package/dist/breakouts/index.js.map +0 -1
- package/dist/breakouts/request.d.ts +0 -22
- package/dist/breakouts/request.js +0 -77
- package/dist/breakouts/request.js.map +0 -1
- package/dist/breakouts/utils.d.ts +0 -15
- package/dist/breakouts/utils.js +0 -64
- package/dist/breakouts/utils.js.map +0 -1
- package/dist/common/errors/no-meeting-info.d.ts +0 -14
- package/dist/common/errors/no-meeting-info.js +0 -50
- package/dist/common/errors/no-meeting-info.js.map +0 -1
- package/dist/common/errors/reclaim-host-role-errors.js.map +0 -1
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/types.js +0 -7
- package/dist/controls-options-manager/types.js.map +0 -1
- package/dist/interpretation/collection.d.ts +0 -5
- package/dist/interpretation/collection.js +0 -22
- package/dist/interpretation/collection.js.map +0 -1
- package/dist/interpretation/index.d.ts +0 -5
- package/dist/interpretation/index.js +0 -365
- package/dist/interpretation/index.js.map +0 -1
- package/dist/interpretation/siLanguage.d.ts +0 -5
- package/dist/interpretation/siLanguage.js +0 -24
- package/dist/interpretation/siLanguage.js.map +0 -1
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/locusMediaRequest.js +0 -291
- package/dist/meeting/locusMediaRequest.js.map +0 -1
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/request.type.js +0 -7
- package/dist/meeting/request.type.js.map +0 -1
- package/dist/meetings/meetings.types.d.ts +0 -4
- package/dist/meetings/meetings.types.js +0 -7
- package/dist/meetings/meetings.types.js.map +0 -1
- package/dist/member/types.d.ts +0 -32
- package/dist/member/types.js +0 -23
- package/dist/member/types.js.map +0 -1
- package/dist/multistream/mediaRequestManager.d.ts +0 -118
- package/dist/multistream/mediaRequestManager.js +0 -344
- package/dist/multistream/mediaRequestManager.js.map +0 -1
- package/dist/multistream/receiveSlot.d.ts +0 -68
- package/dist/multistream/receiveSlot.js +0 -200
- package/dist/multistream/receiveSlot.js.map +0 -1
- package/dist/multistream/receiveSlotManager.d.ts +0 -56
- package/dist/multistream/receiveSlotManager.js +0 -174
- package/dist/multistream/receiveSlotManager.js.map +0 -1
- package/dist/multistream/remoteMedia.d.ts +0 -72
- package/dist/multistream/remoteMedia.js +0 -268
- package/dist/multistream/remoteMedia.js.map +0 -1
- package/dist/multistream/remoteMediaGroup.d.ts +0 -47
- package/dist/multistream/remoteMediaGroup.js +0 -267
- package/dist/multistream/remoteMediaGroup.js.map +0 -1
- package/dist/multistream/remoteMediaManager.d.ts +0 -285
- package/dist/multistream/remoteMediaManager.js +0 -1211
- package/dist/multistream/remoteMediaManager.js.map +0 -1
- package/dist/multistream/sendSlotManager.d.ts +0 -61
- package/dist/multistream/sendSlotManager.js +0 -236
- package/dist/multistream/sendSlotManager.js.map +0 -1
- package/dist/reactions/constants.d.ts +0 -3
- package/dist/reactions/constants.js +0 -12
- package/dist/reactions/constants.js.map +0 -1
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/constants.js +0 -11
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.d.ts +0 -54
- package/dist/rtcMetrics/index.js +0 -140
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/webinar/collection.d.ts +0 -16
- package/dist/webinar/collection.js +0 -43
- package/dist/webinar/collection.js.map +0 -1
- package/dist/webinar/index.d.ts +0 -5
- package/dist/webinar/index.js +0 -68
- package/dist/webinar/index.js.map +0 -1
- package/src/annotation/annotation.types.ts +0 -50
- package/src/annotation/constants.ts +0 -36
- package/src/annotation/index.ts +0 -328
- package/src/breakouts/README.md +0 -220
- package/src/breakouts/breakout.ts +0 -188
- package/src/breakouts/collection.ts +0 -19
- package/src/breakouts/edit-lock-error.ts +0 -25
- package/src/breakouts/events.ts +0 -56
- package/src/breakouts/index.ts +0 -925
- package/src/breakouts/request.ts +0 -55
- package/src/breakouts/utils.ts +0 -57
- package/src/common/errors/no-meeting-info.ts +0 -24
- package/src/controls-options-manager/types.ts +0 -59
- package/src/index.ts +0 -40
- package/src/interpretation/README.md +0 -60
- package/src/interpretation/collection.ts +0 -19
- package/src/interpretation/index.ts +0 -332
- package/src/interpretation/siLanguage.ts +0 -18
- package/src/meeting/locusMediaRequest.ts +0 -313
- package/src/meeting/request.type.ts +0 -13
- package/src/meetings/meetings.types.ts +0 -12
- package/src/member/types.ts +0 -38
- package/src/multistream/mediaRequestManager.ts +0 -440
- package/src/multistream/receiveSlot.ts +0 -184
- package/src/multistream/receiveSlotManager.ts +0 -166
- package/src/multistream/remoteMedia.ts +0 -254
- package/src/multistream/remoteMediaGroup.ts +0 -284
- package/src/multistream/remoteMediaManager.ts +0 -1145
- package/src/multistream/sendSlotManager.ts +0 -170
- package/src/reactions/constants.ts +0 -4
- package/src/rtcMetrics/constants.ts +0 -3
- package/src/rtcMetrics/index.ts +0 -124
- package/src/webinar/collection.ts +0 -31
- package/src/webinar/index.ts +0 -62
- package/test/integration/spec/converged-space-meetings.js +0 -233
- package/test/unit/spec/annotation/index.ts +0 -418
- package/test/unit/spec/breakouts/breakout.ts +0 -237
- package/test/unit/spec/breakouts/collection.ts +0 -15
- package/test/unit/spec/breakouts/edit-lock-error.ts +0 -30
- package/test/unit/spec/breakouts/events.ts +0 -89
- package/test/unit/spec/breakouts/index.ts +0 -1790
- package/test/unit/spec/breakouts/request.ts +0 -104
- package/test/unit/spec/breakouts/utils.js +0 -72
- package/test/unit/spec/interpretation/collection.ts +0 -15
- package/test/unit/spec/interpretation/index.ts +0 -589
- package/test/unit/spec/interpretation/siLanguage.ts +0 -28
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +0 -32
- package/test/unit/spec/media/index.ts +0 -290
- package/test/unit/spec/meeting/locusMediaRequest.ts +0 -442
- package/test/unit/spec/meeting-info/index.js +0 -300
- package/test/unit/spec/multistream/mediaRequestManager.ts +0 -1418
- package/test/unit/spec/multistream/receiveSlot.ts +0 -163
- package/test/unit/spec/multistream/receiveSlotManager.ts +0 -203
- package/test/unit/spec/multistream/remoteMedia.ts +0 -255
- package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -662
- package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1924
- package/test/unit/spec/multistream/sendSlotManager.ts +0 -242
- package/test/unit/spec/reachability/request.js +0 -68
- package/test/unit/spec/roap/request.ts +0 -232
- package/test/unit/spec/rtcMetrics/index.ts +0 -93
- package/test/unit/spec/webinar/collection.ts +0 -13
- package/test/unit/spec/webinar/index.ts +0 -60
- package/test/utils/constants.js +0 -9
- package/test/utils/integrationTestUtils.js +0 -46
- /package/dist/common/errors/{reclaim-host-role-errors.d.ts → reclaim-host-role-error.d.ts} +0 -0
- /package/src/common/errors/{reclaim-host-role-errors.ts → reclaim-host-role-error.ts} +0 -0
|
@@ -70,41 +70,10 @@ export default class MeetingInfo {
|
|
|
70
70
|
* @private
|
|
71
71
|
* @memberof MeetingInfo
|
|
72
72
|
*/
|
|
73
|
-
private requestFetchInfo(options:
|
|
74
|
-
const {meetingId, sendCAevents} = options;
|
|
75
|
-
if (meetingId && sendCAevents) {
|
|
76
|
-
this.webex.internal.newMetrics.submitInternalEvent({
|
|
77
|
-
name: 'internal.client.meetinginfo.request',
|
|
78
|
-
});
|
|
79
|
-
this.webex.internal.newMetrics.submitClientEvent({
|
|
80
|
-
name: 'client.meetinginfo.request',
|
|
81
|
-
options: {
|
|
82
|
-
meetingId,
|
|
83
|
-
},
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
|
|
73
|
+
private requestFetchInfo(options: object) {
|
|
87
74
|
return this.meetingInfoRequest
|
|
88
75
|
.fetchMeetingInfo(options)
|
|
89
76
|
.then((info) => {
|
|
90
|
-
if (meetingId && sendCAevents) {
|
|
91
|
-
this.webex.internal.newMetrics.submitInternalEvent({
|
|
92
|
-
name: 'internal.client.meetinginfo.response',
|
|
93
|
-
});
|
|
94
|
-
this.webex.internal.newMetrics.submitClientEvent({
|
|
95
|
-
name: 'client.meetinginfo.response',
|
|
96
|
-
payload: {
|
|
97
|
-
identifiers: {
|
|
98
|
-
meetingLookupUrl: info?.url,
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
options: {
|
|
102
|
-
meetingId,
|
|
103
|
-
webexConferenceIdStr: info?.body?.confIdStr || info?.body?.confID,
|
|
104
|
-
globalMeetingId: info?.body?.meetingId,
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
77
|
if (info && info.body) {
|
|
109
78
|
this.setMeetingInfo(info.body.sipMeetingUri || info.body.meetingLink, info.body);
|
|
110
79
|
}
|
|
@@ -115,23 +84,6 @@ export default class MeetingInfo {
|
|
|
115
84
|
LoggerProxy.logger.error(
|
|
116
85
|
`Meeting-info:index#requestFetchInfo --> ${error} fetch meetingInfo`
|
|
117
86
|
);
|
|
118
|
-
if (meetingId && sendCAevents) {
|
|
119
|
-
this.webex.internal.newMetrics.submitInternalEvent({
|
|
120
|
-
name: 'internal.client.meetinginfo.response',
|
|
121
|
-
});
|
|
122
|
-
this.webex.internal.newMetrics.submitClientEvent({
|
|
123
|
-
name: 'client.meetinginfo.response',
|
|
124
|
-
payload: {
|
|
125
|
-
identifiers: {
|
|
126
|
-
meetingLookupUrl: error?.url,
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
options: {
|
|
130
|
-
meetingId,
|
|
131
|
-
rawError: error,
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
87
|
|
|
136
88
|
return Promise.reject(error);
|
|
137
89
|
});
|
|
@@ -153,54 +105,29 @@ export default class MeetingInfo {
|
|
|
153
105
|
});
|
|
154
106
|
}
|
|
155
107
|
|
|
156
|
-
// eslint-disable-next-line valid-jsdoc
|
|
157
108
|
/**
|
|
158
109
|
* Fetches meeting info from the server
|
|
159
110
|
* @param {String} destination one of many different types of destinations to look up info for
|
|
160
111
|
* @param {String} [type] to match up with the destination value
|
|
161
|
-
* @param {String} [password] meeting password
|
|
162
|
-
* @param {Object} [captchaInfo] captcha code and id
|
|
163
|
-
* @param {String} [installedOrgID]
|
|
164
|
-
* @param {String} [locusId]
|
|
165
|
-
* @param {Object} [extraParams]
|
|
166
|
-
* @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
|
|
167
112
|
* @returns {Promise} returns a meeting info object
|
|
168
113
|
* @public
|
|
169
114
|
* @memberof MeetingInfo
|
|
170
115
|
*/
|
|
171
|
-
public fetchMeetingInfo(
|
|
172
|
-
destination: string,
|
|
173
|
-
type: string = null,
|
|
174
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
175
|
-
password: string = null,
|
|
176
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
177
|
-
captchaInfo: {
|
|
178
|
-
code: string;
|
|
179
|
-
id: string;
|
|
180
|
-
} = null,
|
|
181
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
182
|
-
installedOrgID = null,
|
|
183
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
184
|
-
locusId = null,
|
|
185
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
186
|
-
extraParams: object = {},
|
|
187
|
-
options: {meetingId?: string; sendCAevents?: boolean} = {}
|
|
188
|
-
) {
|
|
116
|
+
public fetchMeetingInfo(destination: string, type: string = null) {
|
|
189
117
|
if (type === _PERSONAL_ROOM_ && !destination) {
|
|
190
118
|
destination = this.webex.internal.device.userId;
|
|
191
119
|
}
|
|
192
120
|
|
|
193
121
|
return this.fetchInfoOptions(MeetingInfoUtil.extractDestination(destination, type), type).then(
|
|
194
|
-
(
|
|
122
|
+
(options) =>
|
|
195
123
|
// fetch meeting info
|
|
196
|
-
this.requestFetchInfo(
|
|
124
|
+
this.requestFetchInfo(options).catch((error) => {
|
|
197
125
|
// if it failed the first time as meeting link
|
|
198
|
-
if (
|
|
126
|
+
if (options.type === _MEETING_LINK_) {
|
|
199
127
|
// convert the meeting link to sip URI and retry
|
|
200
|
-
return this.requestFetchInfo(
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
});
|
|
128
|
+
return this.requestFetchInfo(
|
|
129
|
+
this.fetchInfoOptions(MeetingInfoUtil.convertLinkToSip(destination), _SIP_URI_)
|
|
130
|
+
);
|
|
204
131
|
}
|
|
205
132
|
|
|
206
133
|
return Promise.reject(error);
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
HTTP_VERBS,
|
|
4
|
-
_CONVERSATION_URL_,
|
|
5
|
-
WBXAPPAPI_SERVICE,
|
|
6
|
-
DEFAULT_MEETING_INFO_REQUEST_BODY,
|
|
7
|
-
} from '../constants';
|
|
1
|
+
import {HTTP_VERBS, _CONVERSATION_URL_, WBXAPPAPI_SERVICE} from '../constants';
|
|
8
2
|
import Metrics from '../metrics';
|
|
9
3
|
import BEHAVIORAL_METRICS from '../metrics/constants';
|
|
10
4
|
|
|
@@ -17,7 +11,7 @@ const CAPTCHA_ERROR_DEFAULT_MESSAGE =
|
|
|
17
11
|
const ADHOC_MEETING_DEFAULT_ERROR =
|
|
18
12
|
'Failed starting the adhoc meeting, Please contact support team ';
|
|
19
13
|
const CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];
|
|
20
|
-
|
|
14
|
+
|
|
21
15
|
/**
|
|
22
16
|
* Error to indicate that wbxappapi requires a password
|
|
23
17
|
*/
|
|
@@ -69,30 +63,6 @@ export class MeetingInfoV2AdhocMeetingError extends Error {
|
|
|
69
63
|
}
|
|
70
64
|
}
|
|
71
65
|
|
|
72
|
-
/**
|
|
73
|
-
* Error preventing join because of a meeting policy
|
|
74
|
-
*/
|
|
75
|
-
export class MeetingInfoV2PolicyError extends Error {
|
|
76
|
-
meetingInfo: object;
|
|
77
|
-
sdkMessage: string;
|
|
78
|
-
wbxAppApiCode: number;
|
|
79
|
-
/**
|
|
80
|
-
*
|
|
81
|
-
* @constructor
|
|
82
|
-
* @param {Number} [wbxAppApiErrorCode]
|
|
83
|
-
* @param {Object} [meetingInfo]
|
|
84
|
-
* @param {String} [message]
|
|
85
|
-
*/
|
|
86
|
-
constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {
|
|
87
|
-
super(`${message}, code=${wbxAppApiErrorCode}`);
|
|
88
|
-
this.name = 'MeetingInfoV2AdhocMeetingError';
|
|
89
|
-
this.sdkMessage = message;
|
|
90
|
-
this.stack = new Error().stack;
|
|
91
|
-
this.wbxAppApiCode = wbxAppApiErrorCode;
|
|
92
|
-
this.meetingInfo = meetingInfo;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
66
|
/**
|
|
97
67
|
* Error to indicate that preferred webex site not present to start adhoc meeting
|
|
98
68
|
*/
|
|
@@ -154,38 +124,14 @@ export default class MeetingInfoV2 {
|
|
|
154
124
|
});
|
|
155
125
|
}
|
|
156
126
|
|
|
157
|
-
/**
|
|
158
|
-
* Raises a MeetingInfoV2PolicyError for policy error codes
|
|
159
|
-
* @param {any} err the error from the request
|
|
160
|
-
* @returns {void}
|
|
161
|
-
*/
|
|
162
|
-
handlePolicyError = (err) => {
|
|
163
|
-
if (!err.body) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
if (POLICY_ERROR_CODES.includes(err.body?.code)) {
|
|
168
|
-
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {
|
|
169
|
-
code: err.body?.code,
|
|
170
|
-
});
|
|
171
|
-
|
|
172
|
-
throw new MeetingInfoV2PolicyError(
|
|
173
|
-
err.body?.code,
|
|
174
|
-
err.body?.data?.meetingInfo,
|
|
175
|
-
err.body?.message
|
|
176
|
-
);
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
|
|
180
127
|
/**
|
|
181
128
|
* Creates adhoc space meetings for a space by fetching the conversation infomation
|
|
182
129
|
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
|
183
|
-
* @param {String} installedOrgID org ID of user's machine
|
|
184
130
|
* @returns {Promise} returns a meeting info object
|
|
185
131
|
* @public
|
|
186
132
|
* @memberof MeetingInfo
|
|
187
133
|
*/
|
|
188
|
-
async createAdhocSpaceMeeting(conversationUrl: string
|
|
134
|
+
async createAdhocSpaceMeeting(conversationUrl: string) {
|
|
189
135
|
if (!this.webex.meetings.preferredWebexSite) {
|
|
190
136
|
throw Error('No preferred webex site found');
|
|
191
137
|
}
|
|
@@ -213,31 +159,21 @@ export default class MeetingInfoV2 {
|
|
|
213
159
|
keyUrl: conversation.encryptionKeyUrl,
|
|
214
160
|
kroUrl: conversation.kmsResourceObjectUrl,
|
|
215
161
|
invitees: getInvitees(conversation.participants?.items),
|
|
216
|
-
installedOrgID,
|
|
217
162
|
};
|
|
218
163
|
|
|
219
|
-
if (installedOrgID) {
|
|
220
|
-
body.installedOrgID = installedOrgID;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
164
|
const uri = this.webex.meetings.preferredWebexSite
|
|
224
165
|
? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`
|
|
225
166
|
: '';
|
|
226
167
|
|
|
168
|
+
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);
|
|
169
|
+
|
|
227
170
|
return this.webex.request({
|
|
228
171
|
method: HTTP_VERBS.POST,
|
|
229
172
|
uri,
|
|
230
173
|
body,
|
|
231
174
|
});
|
|
232
175
|
})
|
|
233
|
-
.then((requestResult) => {
|
|
234
|
-
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);
|
|
235
|
-
|
|
236
|
-
return requestResult;
|
|
237
|
-
})
|
|
238
176
|
.catch((err) => {
|
|
239
|
-
this.handlePolicyError(err);
|
|
240
|
-
|
|
241
177
|
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {
|
|
242
178
|
reason: err.message,
|
|
243
179
|
stack: err.stack,
|
|
@@ -254,10 +190,6 @@ export default class MeetingInfoV2 {
|
|
|
254
190
|
* @param {Object} captchaInfo
|
|
255
191
|
* @param {String} captchaInfo.code
|
|
256
192
|
* @param {String} captchaInfo.id
|
|
257
|
-
* @param {String} installedOrgID org ID of user's machine
|
|
258
|
-
* @param {String} locusId
|
|
259
|
-
* @param {Object} extraParams
|
|
260
|
-
* @param {Object} options
|
|
261
193
|
* @returns {Promise} returns a meeting info object
|
|
262
194
|
* @public
|
|
263
195
|
* @memberof MeetingInfo
|
|
@@ -269,14 +201,8 @@ export default class MeetingInfoV2 {
|
|
|
269
201
|
captchaInfo: {
|
|
270
202
|
code: string;
|
|
271
203
|
id: string;
|
|
272
|
-
} = null
|
|
273
|
-
installedOrgID = null,
|
|
274
|
-
locusId = null,
|
|
275
|
-
extraParams: object = {},
|
|
276
|
-
options: {meetingId?: string; sendCAevents?: boolean} = {}
|
|
204
|
+
} = null
|
|
277
205
|
) {
|
|
278
|
-
const {meetingId, sendCAevents} = options;
|
|
279
|
-
|
|
280
206
|
const destinationType = await MeetingInfoUtil.getDestinationType({
|
|
281
207
|
destination,
|
|
282
208
|
type,
|
|
@@ -288,35 +214,12 @@ export default class MeetingInfoV2 {
|
|
|
288
214
|
this.webex.config.meetings.experimental.enableAdhocMeetings &&
|
|
289
215
|
this.webex.meetings.preferredWebexSite
|
|
290
216
|
) {
|
|
291
|
-
return this.createAdhocSpaceMeeting(destinationType.destination
|
|
217
|
+
return this.createAdhocSpaceMeeting(destinationType.destination);
|
|
292
218
|
}
|
|
293
219
|
|
|
294
|
-
const body = await MeetingInfoUtil.getRequestBody({
|
|
295
|
-
...destinationType,
|
|
296
|
-
password,
|
|
297
|
-
captchaInfo,
|
|
298
|
-
installedOrgID,
|
|
299
|
-
locusId,
|
|
300
|
-
extraParams,
|
|
301
|
-
});
|
|
220
|
+
const body = await MeetingInfoUtil.getRequestBody({...destinationType, password, captchaInfo});
|
|
302
221
|
|
|
303
|
-
|
|
304
|
-
// fetch the meeting info so don't bother trying.
|
|
305
|
-
if (
|
|
306
|
-
!lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length
|
|
307
|
-
) {
|
|
308
|
-
const err = new Error('Not enough information to fetch meeting info');
|
|
309
|
-
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {
|
|
310
|
-
reason: err.message,
|
|
311
|
-
destinationType: destinationType?.type,
|
|
312
|
-
webExMeetingId: destinationType?.info?.webExMeetingId,
|
|
313
|
-
sipUri: destinationType?.info?.sipUri,
|
|
314
|
-
});
|
|
315
|
-
|
|
316
|
-
throw err;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
const requestOptions: any = {
|
|
222
|
+
const options: any = {
|
|
320
223
|
method: HTTP_VERBS.POST,
|
|
321
224
|
body,
|
|
322
225
|
};
|
|
@@ -324,74 +227,21 @@ export default class MeetingInfoV2 {
|
|
|
324
227
|
const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);
|
|
325
228
|
|
|
326
229
|
if (directURI) {
|
|
327
|
-
|
|
230
|
+
options.uri = directURI;
|
|
328
231
|
} else {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
if (meetingId && sendCAevents) {
|
|
334
|
-
this.webex.internal.newMetrics.submitInternalEvent({
|
|
335
|
-
name: 'internal.client.meetinginfo.request',
|
|
336
|
-
});
|
|
337
|
-
|
|
338
|
-
this.webex.internal.newMetrics.submitClientEvent({
|
|
339
|
-
name: 'client.meetinginfo.request',
|
|
340
|
-
options: {
|
|
341
|
-
meetingId,
|
|
342
|
-
},
|
|
343
|
-
});
|
|
232
|
+
options.service = WBXAPPAPI_SERVICE;
|
|
233
|
+
options.resource = 'meetingInfo';
|
|
344
234
|
}
|
|
345
235
|
|
|
346
236
|
return this.webex
|
|
347
|
-
.request(
|
|
237
|
+
.request(options)
|
|
348
238
|
.then((response) => {
|
|
349
|
-
if (meetingId && sendCAevents) {
|
|
350
|
-
this.webex.internal.newMetrics.submitInternalEvent({
|
|
351
|
-
name: 'internal.client.meetinginfo.response',
|
|
352
|
-
});
|
|
353
|
-
|
|
354
|
-
this.webex.internal.newMetrics.submitClientEvent({
|
|
355
|
-
name: 'client.meetinginfo.response',
|
|
356
|
-
payload: {
|
|
357
|
-
identifiers: {
|
|
358
|
-
meetingLookupUrl: response?.url,
|
|
359
|
-
},
|
|
360
|
-
},
|
|
361
|
-
options: {
|
|
362
|
-
meetingId,
|
|
363
|
-
webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,
|
|
364
|
-
globalMeetingId: response?.body?.meetingId,
|
|
365
|
-
},
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
239
|
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);
|
|
369
240
|
|
|
370
241
|
return response;
|
|
371
242
|
})
|
|
372
243
|
.catch((err) => {
|
|
373
|
-
if (meetingId && sendCAevents) {
|
|
374
|
-
this.webex.internal.newMetrics.submitInternalEvent({
|
|
375
|
-
name: 'internal.client.meetinginfo.response',
|
|
376
|
-
});
|
|
377
|
-
|
|
378
|
-
this.webex.internal.newMetrics.submitClientEvent({
|
|
379
|
-
name: 'client.meetinginfo.response',
|
|
380
|
-
payload: {
|
|
381
|
-
identifiers: {
|
|
382
|
-
meetingLookupUrl: err?.url,
|
|
383
|
-
},
|
|
384
|
-
},
|
|
385
|
-
options: {
|
|
386
|
-
meetingId,
|
|
387
|
-
rawError: err,
|
|
388
|
-
},
|
|
389
|
-
});
|
|
390
|
-
}
|
|
391
|
-
|
|
392
244
|
if (err?.statusCode === 403) {
|
|
393
|
-
this.handlePolicyError(err);
|
|
394
|
-
|
|
395
245
|
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {
|
|
396
246
|
reason: err.message,
|
|
397
247
|
stack: err.stack,
|
package/src/meeting-info/util.ts
CHANGED
|
@@ -236,7 +236,7 @@ MeetingInfoUtil.generateOptions = async (from) => {
|
|
|
236
236
|
}
|
|
237
237
|
} else {
|
|
238
238
|
throw new ParameterError(
|
|
239
|
-
'MeetingInfo is fetched with
|
|
239
|
+
'MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.'
|
|
240
240
|
);
|
|
241
241
|
}
|
|
242
242
|
|
|
@@ -19,20 +19,14 @@ import {
|
|
|
19
19
|
JOIN,
|
|
20
20
|
MEET,
|
|
21
21
|
MEET_M,
|
|
22
|
-
MEET_CISCO,
|
|
23
|
-
MEET_CO,
|
|
24
22
|
HTTPS_PROTOCOL,
|
|
25
23
|
UUID_REG,
|
|
26
24
|
VALID_EMAIL_ADDRESS,
|
|
27
|
-
DEFAULT_MEETING_INFO_REQUEST_BODY,
|
|
28
25
|
} from '../constants';
|
|
29
26
|
import ParameterError from '../common/errors/parameter';
|
|
30
27
|
import LoggerProxy from '../common/logs/logger-proxy';
|
|
31
|
-
import {SpaceIDDeprecatedError} from '../common/errors/webex-errors';
|
|
32
28
|
|
|
33
29
|
const MeetingInfoUtil: any = {};
|
|
34
|
-
const meetingInfoError =
|
|
35
|
-
'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';
|
|
36
30
|
|
|
37
31
|
MeetingInfoUtil.getParsedUrl = (link) => {
|
|
38
32
|
try {
|
|
@@ -68,8 +62,6 @@ MeetingInfoUtil.isMeetingLink = (value: string) => {
|
|
|
68
62
|
parsedUrl.pathname &&
|
|
69
63
|
(parsedUrl.pathname.includes(`/${MEET}`) ||
|
|
70
64
|
parsedUrl.pathname.includes(`/${MEET_M}`) ||
|
|
71
|
-
parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||
|
|
72
|
-
parsedUrl.pathname.includes(`/${MEET_CO}`) ||
|
|
73
65
|
parsedUrl.pathname.includes(`/${JOIN}`));
|
|
74
66
|
|
|
75
67
|
return hostNameBool && pathNameBool;
|
|
@@ -203,15 +195,32 @@ MeetingInfoUtil.getDestinationType = async (from) => {
|
|
|
203
195
|
return Promise.resolve(options);
|
|
204
196
|
}
|
|
205
197
|
);
|
|
206
|
-
} else if (hydraId.room) {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
198
|
+
} else if (hydraId && hydraId.room) {
|
|
199
|
+
options.type = _CONVERSATION_URL_;
|
|
200
|
+
try {
|
|
201
|
+
await webex.internal.services.waitForCatalog('postauth');
|
|
202
|
+
|
|
203
|
+
const serviceUrl = webex.internal.services.getServiceUrlFromClusterId(
|
|
204
|
+
{
|
|
205
|
+
cluster: hydraId.cluster,
|
|
206
|
+
},
|
|
207
|
+
webex
|
|
208
|
+
);
|
|
209
|
+
|
|
210
|
+
options.destination = hydraId.destination
|
|
211
|
+
? `${serviceUrl}/conversations/${hydraId.destination}`
|
|
212
|
+
: serviceUrl;
|
|
213
|
+
} catch (e) {
|
|
214
|
+
LoggerProxy.logger.error(`Meeting-info:util#getDestinationType --> ${e}`);
|
|
215
|
+
throw e;
|
|
216
|
+
}
|
|
212
217
|
} else {
|
|
213
|
-
LoggerProxy.logger.warn(
|
|
214
|
-
|
|
218
|
+
LoggerProxy.logger.warn(
|
|
219
|
+
"Meeting-info:util#getDestinationType --> ('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url."
|
|
220
|
+
);
|
|
221
|
+
throw new ParameterError(
|
|
222
|
+
'MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.'
|
|
223
|
+
);
|
|
215
224
|
}
|
|
216
225
|
|
|
217
226
|
return Promise.resolve(options);
|
|
@@ -221,15 +230,14 @@ MeetingInfoUtil.getDestinationType = async (from) => {
|
|
|
221
230
|
* Helper function to build up a correct locus url depending on the value passed
|
|
222
231
|
* @param {Object} options type and value to fetch meeting info
|
|
223
232
|
* @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
|
|
224
|
-
* @param {String} options.installedOrgID org ID of user's machine
|
|
225
233
|
* @param {Object} options.destination ?? value.value
|
|
226
234
|
* @returns {Object} returns an object with {resource, method}
|
|
227
235
|
*/
|
|
228
236
|
MeetingInfoUtil.getRequestBody = (options: {type: string; destination: object} | any) => {
|
|
229
|
-
const {type, destination, password, captchaInfo
|
|
237
|
+
const {type, destination, password, captchaInfo} = options;
|
|
230
238
|
const body: any = {
|
|
231
|
-
|
|
232
|
-
|
|
239
|
+
supportHostKey: true,
|
|
240
|
+
supportCountryList: true,
|
|
233
241
|
};
|
|
234
242
|
|
|
235
243
|
switch (type) {
|
|
@@ -273,14 +281,6 @@ MeetingInfoUtil.getRequestBody = (options: {type: string; destination: object} |
|
|
|
273
281
|
body.captchaVerifyCode = captchaInfo.code;
|
|
274
282
|
}
|
|
275
283
|
|
|
276
|
-
if (installedOrgID) {
|
|
277
|
-
body.installedOrgID = installedOrgID;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
if (locusId) {
|
|
281
|
-
body.locusId = locusId;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
284
|
return body;
|
|
285
285
|
};
|
|
286
286
|
|
|
@@ -40,37 +40,4 @@ export default class MeetingCollection extends Collection {
|
|
|
40
40
|
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* get a specific meeting searching for key
|
|
46
|
-
* @param {String} breakoutUrl
|
|
47
|
-
* @returns {Meeting} if found, else returns null
|
|
48
|
-
* @public
|
|
49
|
-
* @memberof MeetingCollection
|
|
50
|
-
*/
|
|
51
|
-
public getActiveBreakoutLocus(breakoutUrl: string) {
|
|
52
|
-
if (breakoutUrl) {
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
return find(
|
|
55
|
-
// @ts-ignore
|
|
56
|
-
this.meetings,
|
|
57
|
-
(meeting) => meeting.breakouts?.url === breakoutUrl && meeting.breakouts?.isActiveBreakout
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Gets the meeting that has a webrtc media connection
|
|
66
|
-
* NOTE: this function assumes there is no more than 1 such meeting
|
|
67
|
-
*
|
|
68
|
-
* @returns {Meeting} first meeting found, else undefined
|
|
69
|
-
* @public
|
|
70
|
-
* @memberof MeetingCollection
|
|
71
|
-
*/
|
|
72
|
-
public getActiveWebrtcMeeting() {
|
|
73
|
-
// @ts-ignore
|
|
74
|
-
return find(this.meetings, (meeting) => meeting.mediaProperties.webrtcMediaConnection);
|
|
75
|
-
}
|
|
76
43
|
}
|