@webex/plugin-meetings 3.0.0-test.1 → 3.1.0-next.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/.eslintrc.js +6 -0
- package/babel.config.js +3 -0
- package/dist/annotation/constants.js +12 -20
- package/dist/annotation/constants.js.map +1 -1
- package/dist/annotation/index.js +25 -10
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +2 -3
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/collection.js +1 -2
- package/dist/breakouts/collection.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +1 -2
- package/dist/breakouts/edit-lock-error.js.map +1 -1
- package/dist/breakouts/events.js +1 -2
- package/dist/breakouts/events.js.map +1 -1
- package/dist/breakouts/index.js +13 -14
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +1 -2
- package/dist/breakouts/request.js.map +1 -1
- package/dist/breakouts/utils.js +3 -6
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/browser-detection.js +2 -3
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +3 -4
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +1 -2
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +1 -2
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +1 -2
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +1 -2
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +1 -2
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +1 -2
- package/dist/common/errors/no-meeting-info.js.map +1 -1
- package/dist/common/errors/parameter.js +3 -4
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +1 -2
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +1 -2
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reclaim-host-role-errors.js +6 -10
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +1 -2
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +1 -2
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +1 -2
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +14 -15
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -2
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +1 -2
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +1 -2
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +1 -2
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +1 -2
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +1 -2
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -2
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +3 -4
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +2 -4
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +4 -3
- package/dist/config.js.map +1 -1
- package/dist/constants.js +207 -380
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +3 -6
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +7 -10
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +27 -32
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.js +1 -2
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +71 -4
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/locusRetry.js +4 -3
- package/dist/interceptors/locusRetry.js.map +1 -1
- package/dist/interpretation/collection.js +1 -2
- package/dist/interpretation/collection.js.map +1 -1
- package/dist/interpretation/index.js +4 -5
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +2 -3
- package/dist/interpretation/siLanguage.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +12 -13
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -4
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +1 -2
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +1 -2
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +23 -27
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +3 -4
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +16 -3
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +6 -10
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +12 -6
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +163 -0
- package/dist/media/MediaConnectionAwaiter.js.map +1 -0
- package/dist/media/index.js +9 -5
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +7 -28
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -2
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +9 -18
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +14 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1411 -1036
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +4 -5
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +2 -4
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +45 -36
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.js +1 -2
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +13 -10
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +169 -0
- package/dist/meeting/voicea-meeting.js.map +1 -0
- package/dist/meeting-info/collection.js +3 -4
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +5 -4
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +27 -29
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -2
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +306 -269
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +336 -294
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +5 -6
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +44 -17
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +2 -3
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +1 -4
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +1 -3
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +6 -8
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +1 -2
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +1 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +8 -7
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +2 -3
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +3 -4
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.js +3 -4
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +1 -2
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +3 -2
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +9 -11
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +3 -5
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +7 -9
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +3 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +7 -6
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +32 -29
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +9 -6
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +1 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +2 -3
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -3
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +1 -2
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/clusterReachability.js +35 -20
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +41 -12
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +25 -20
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +19 -0
- package/dist/reachability/util.js.map +1 -1
- package/dist/reactions/constants.js +1 -2
- package/dist/reactions/constants.js.map +1 -1
- package/dist/reactions/reactions.js +2 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +6 -8
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +18 -11
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +4 -5
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.js +43 -51
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +1 -2
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +17 -3
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +10 -10
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +316 -134
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +1 -2
- package/dist/rtcMetrics/constants.js.map +1 -1
- package/dist/rtcMetrics/index.js +4 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +123 -96
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +24 -31
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +1 -2
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/common/logs/request.d.ts +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/constants.d.ts +10 -5
- package/dist/types/index.d.ts +11 -0
- package/dist/types/media/MediaConnectionAwaiter.d.ts +61 -0
- package/dist/types/meeting/index.d.ts +71 -16
- package/dist/types/meeting/request.d.ts +3 -0
- package/dist/types/meeting/util.d.ts +1 -0
- package/dist/types/meeting/voicea-meeting.d.ts +16 -0
- package/dist/types/meeting-info/index.d.ts +1 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +1 -1
- package/dist/types/meeting-info/util.d.ts +49 -2
- package/dist/types/meeting-info/utilv2.d.ts +65 -2
- package/dist/types/meetings/index.d.ts +11 -2
- package/dist/types/members/util.d.ts +1 -1
- package/dist/types/multistream/mediaRequestManager.d.ts +1 -2
- package/dist/types/multistream/remoteMediaGroup.d.ts +1 -1
- package/dist/types/multistream/remoteMediaManager.d.ts +1 -2
- package/dist/types/multistream/sendSlotManager.d.ts +1 -2
- package/dist/types/reachability/clusterReachability.d.ts +1 -0
- package/dist/types/reachability/index.d.ts +4 -0
- package/dist/types/reachability/util.d.ts +7 -0
- package/dist/types/roap/index.d.ts +10 -2
- package/dist/types/roap/turnDiscovery.d.ts +64 -17
- package/dist/webinar/collection.js +1 -2
- package/dist/webinar/collection.js.map +1 -1
- package/dist/webinar/index.js +2 -3
- package/dist/webinar/index.js.map +1 -1
- package/jest.config.js +3 -0
- package/package.json +44 -25
- package/process +1 -0
- package/src/config.ts +3 -4
- package/src/constants.ts +13 -4
- package/src/index.ts +27 -0
- package/src/interpretation/index.ts +2 -2
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/selfUtils.ts +5 -0
- package/src/media/MediaConnectionAwaiter.ts +174 -0
- package/src/media/index.ts +3 -1
- package/src/media/properties.ts +6 -31
- package/src/meeting/index.ts +526 -227
- package/src/meeting/request.ts +18 -2
- package/src/meeting/util.ts +6 -1
- package/src/meeting/voicea-meeting.ts +122 -0
- package/src/meeting-info/meeting-info-v2.ts +5 -11
- package/src/meeting-info/util.ts +244 -233
- package/src/meeting-info/utilv2.ts +262 -245
- package/src/meetings/index.ts +18 -0
- package/src/member/index.ts +0 -1
- package/src/multistream/mediaRequestManager.ts +1 -1
- package/src/multistream/remoteMediaGroup.ts +1 -1
- package/src/multistream/remoteMediaManager.ts +1 -2
- package/src/multistream/sendSlotManager.ts +1 -2
- package/src/reachability/clusterReachability.ts +20 -5
- package/src/reachability/index.ts +24 -1
- package/src/reachability/request.ts +15 -11
- package/src/reachability/util.ts +21 -0
- package/src/reconnection-manager/index.ts +1 -1
- package/src/roap/index.ts +25 -3
- package/src/roap/request.ts +2 -2
- package/src/roap/turnDiscovery.ts +244 -78
- package/src/statsAnalyzer/index.ts +63 -27
- package/test/integration/spec/journey.js +2 -2
- package/test/unit/spec/breakouts/breakout.ts +2 -1
- package/test/unit/spec/breakouts/index.ts +7 -4
- package/test/unit/spec/interpretation/index.ts +4 -1
- package/test/unit/spec/locus-info/index.js +27 -18
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
- package/test/unit/spec/locus-info/selfUtils.js +41 -11
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
- package/test/unit/spec/media/index.ts +94 -78
- package/test/unit/spec/media/properties.ts +16 -70
- package/test/unit/spec/meeting/index.js +757 -141
- package/test/unit/spec/meeting/request.js +21 -0
- package/test/unit/spec/meeting/utils.js +58 -11
- package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +20 -15
- package/test/unit/spec/meeting-info/utilv2.js +6 -0
- package/test/unit/spec/meetings/index.js +101 -13
- package/test/unit/spec/metrics/index.js +1 -2
- package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -1
- package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1
- package/test/unit/spec/reachability/clusterReachability.ts +86 -22
- package/test/unit/spec/reachability/index.ts +197 -60
- package/test/unit/spec/reachability/request.js +15 -7
- package/test/unit/spec/reachability/util.ts +32 -2
- package/test/unit/spec/reconnection-manager/index.js +28 -0
- package/test/unit/spec/recording-controller/index.js +0 -1
- package/test/unit/spec/roap/index.ts +61 -6
- package/test/unit/spec/roap/turnDiscovery.ts +299 -17
- package/test/unit/spec/stats-analyzer/index.js +179 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const getSpeaker: (members: any, csis?: any[]) => unknown;
|
|
2
|
+
export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, transcriptData }: {
|
|
3
|
+
csisKey: any;
|
|
4
|
+
meetingMembers: any;
|
|
5
|
+
transcriptData: any;
|
|
6
|
+
}) => {
|
|
7
|
+
speaker: {
|
|
8
|
+
speakerId: string;
|
|
9
|
+
name: string;
|
|
10
|
+
};
|
|
11
|
+
needsCaching: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const processNewCaptions: ({ data, meeting }: {
|
|
14
|
+
data: any;
|
|
15
|
+
meeting: any;
|
|
16
|
+
}) => void;
|
|
@@ -81,7 +81,7 @@ export default class MeetingInfoV2 {
|
|
|
81
81
|
* @public
|
|
82
82
|
* @memberof MeetingInfo
|
|
83
83
|
*/
|
|
84
|
-
fetchInfoOptions(destination: string, type?: string): any
|
|
84
|
+
fetchInfoOptions(destination: string, type?: string): Promise<any>;
|
|
85
85
|
/**
|
|
86
86
|
* Raises a MeetingInfoV2PolicyError for policy error codes
|
|
87
87
|
* @param {any} err the error from the request
|
|
@@ -1,2 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import url from 'url';
|
|
3
|
+
/**
|
|
4
|
+
* @class MeetingInfoUtil
|
|
5
|
+
*/
|
|
6
|
+
export default class MeetingInfoUtil {
|
|
7
|
+
static extractDestination(destination: any, type: any): any;
|
|
8
|
+
static getParsedUrl(link: any): false | url.UrlWithStringQuery;
|
|
9
|
+
/**
|
|
10
|
+
* Helper function to check if a string matches a known meeting link pattern
|
|
11
|
+
* @param {String} value string to parse and see if it matches a meeting link
|
|
12
|
+
* @returns {Boolean}
|
|
13
|
+
*/
|
|
14
|
+
static isMeetingLink(value: string): any;
|
|
15
|
+
static isConversationUrl(value: any, webex: any): any;
|
|
16
|
+
static convertLinkToSip(value: any): string;
|
|
17
|
+
static isSipUri(sipString: any): RegExpExecArray;
|
|
18
|
+
static isPhoneNumber(phoneNumber: any): boolean;
|
|
19
|
+
static getHydraId(destination: any): {
|
|
20
|
+
room: boolean;
|
|
21
|
+
destination: any;
|
|
22
|
+
cluster: any;
|
|
23
|
+
people?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
people: boolean;
|
|
26
|
+
destination: any;
|
|
27
|
+
cluster: any;
|
|
28
|
+
room?: undefined;
|
|
29
|
+
} | {
|
|
30
|
+
room?: undefined;
|
|
31
|
+
destination?: undefined;
|
|
32
|
+
cluster?: undefined;
|
|
33
|
+
people?: undefined;
|
|
34
|
+
};
|
|
35
|
+
static getSipUriFromHydraPersonId(destination: any, webex: any): any;
|
|
36
|
+
static generateOptions(from: any): Promise<any>;
|
|
37
|
+
/**
|
|
38
|
+
* Helper function to build up a correct locus url depending on the value passed
|
|
39
|
+
* @param {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
|
|
40
|
+
* @param {Object} value ?? value.value
|
|
41
|
+
* @returns {Object} returns an object with {resource, method}
|
|
42
|
+
*/
|
|
43
|
+
static getResourceUrl(type: string, value: any): {
|
|
44
|
+
uri: any;
|
|
45
|
+
resource: string;
|
|
46
|
+
method: string;
|
|
47
|
+
};
|
|
48
|
+
static getRequestParams(resourceOptions: any, type: any, value: any, api: any): any;
|
|
49
|
+
}
|
|
@@ -1,2 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import url from 'url';
|
|
3
|
+
/**
|
|
4
|
+
* @class MeetingInfoUtil
|
|
5
|
+
*/
|
|
6
|
+
export default class MeetingInfoUtil {
|
|
7
|
+
static meetingInfoError: string;
|
|
8
|
+
static getParsedUrl(link: any): false | url.UrlWithStringQuery;
|
|
9
|
+
/**
|
|
10
|
+
* Helper function to check if a string matches a known meeting link pattern
|
|
11
|
+
* @param {String} value string to parse and see if it matches a meeting link
|
|
12
|
+
* @returns {Boolean}
|
|
13
|
+
*/
|
|
14
|
+
static isMeetingLink(value: string): any;
|
|
15
|
+
static isConversationUrl(value: any, webex: any): any;
|
|
16
|
+
static isSipUri(sipString: any): RegExpExecArray;
|
|
17
|
+
static isPhoneNumber(phoneNumber: any): boolean;
|
|
18
|
+
static getHydraId(destination: any): {
|
|
19
|
+
room: boolean;
|
|
20
|
+
destination: any;
|
|
21
|
+
cluster: any;
|
|
22
|
+
people?: undefined;
|
|
23
|
+
} | {
|
|
24
|
+
people: boolean;
|
|
25
|
+
destination: any;
|
|
26
|
+
cluster: any;
|
|
27
|
+
room?: undefined;
|
|
28
|
+
} | {
|
|
29
|
+
room?: undefined;
|
|
30
|
+
destination?: undefined;
|
|
31
|
+
cluster?: undefined;
|
|
32
|
+
people?: undefined;
|
|
33
|
+
};
|
|
34
|
+
static getSipUriFromHydraPersonId(destination: any, webex: any): any;
|
|
35
|
+
static getDestinationType(from: any): Promise<any>;
|
|
36
|
+
/**
|
|
37
|
+
* Helper function to build up a correct locus url depending on the value passed
|
|
38
|
+
* @param {Object} options type and value to fetch meeting info
|
|
39
|
+
* @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
|
|
40
|
+
* @param {String} options.installedOrgID org ID of user's machine
|
|
41
|
+
* @param {Object} options.destination ?? value.value
|
|
42
|
+
* @returns {Object} returns an object with {resource, method}
|
|
43
|
+
*/
|
|
44
|
+
static getRequestBody(options: {
|
|
45
|
+
type: string;
|
|
46
|
+
destination: object;
|
|
47
|
+
} | any): any;
|
|
48
|
+
/**
|
|
49
|
+
* Helper function to parse the webex site/host from a URI string.
|
|
50
|
+
* @param {String} uri string (e.g. '10019857020@convergedats.webex.com')
|
|
51
|
+
* @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')
|
|
52
|
+
*/
|
|
53
|
+
static getWebexSite(uri: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Helper function to return the direct URI for fetching meeting info (to avoid a redirect).
|
|
56
|
+
* @param {Object} options type and value to fetch meeting info
|
|
57
|
+
* @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
|
|
58
|
+
* @param {Object} options.destination ?? value.value
|
|
59
|
+
* @returns {String} returns a URI string or null of there is no direct URI
|
|
60
|
+
*/
|
|
61
|
+
static getDirectMeetingInfoURI(options: {
|
|
62
|
+
type: string;
|
|
63
|
+
destination: any;
|
|
64
|
+
}): string;
|
|
65
|
+
}
|
|
@@ -2,6 +2,7 @@ import '@webex/internal-plugin-mercury';
|
|
|
2
2
|
import '@webex/internal-plugin-conversation';
|
|
3
3
|
import '@webex/internal-plugin-metrics';
|
|
4
4
|
import { WebexPlugin } from '@webex/webex-core';
|
|
5
|
+
import * as mediaHelpersModule from '@webex/media-helpers';
|
|
5
6
|
import 'webrtc-adapter';
|
|
6
7
|
import { CallStateForMetrics } from '../meeting';
|
|
7
8
|
import Reachability from '../reachability';
|
|
@@ -175,6 +176,14 @@ export default class Meetings extends WebexPlugin {
|
|
|
175
176
|
* @returns {undefined}
|
|
176
177
|
*/
|
|
177
178
|
private _toggleTcpReachability;
|
|
179
|
+
/**
|
|
180
|
+
* API to toggle TLS reachability, needs to be called before webex.meetings.register()
|
|
181
|
+
* @param {Boolean} newValue
|
|
182
|
+
* @private
|
|
183
|
+
* @memberof Meetings
|
|
184
|
+
* @returns {undefined}
|
|
185
|
+
*/
|
|
186
|
+
private _toggleTlsReachability;
|
|
178
187
|
/**
|
|
179
188
|
* Explicitly sets up the meetings plugin by registering
|
|
180
189
|
* the device, connecting to mercury, and listening for locus events.
|
|
@@ -201,7 +210,7 @@ export default class Meetings extends WebexPlugin {
|
|
|
201
210
|
* @public
|
|
202
211
|
* @memberof Meetings
|
|
203
212
|
*/
|
|
204
|
-
createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<
|
|
213
|
+
createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<mediaHelpersModule.NoiseReductionEffect>;
|
|
205
214
|
/**
|
|
206
215
|
* Creates a virtual background effect
|
|
207
216
|
*
|
|
@@ -210,7 +219,7 @@ export default class Meetings extends WebexPlugin {
|
|
|
210
219
|
* @public
|
|
211
220
|
* @memberof Meetings
|
|
212
221
|
*/
|
|
213
|
-
createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<
|
|
222
|
+
createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<mediaHelpersModule.VirtualBackgroundEffect>;
|
|
214
223
|
/**
|
|
215
224
|
* Uploads logs to the webex services for tracking
|
|
216
225
|
* @param {Object} [options={}]
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { StreamRequest } from '@webex/internal-media-core';
|
|
2
|
-
import { NamedMediaGroup } from '@webex/json-multistream';
|
|
1
|
+
import { StreamRequest, NamedMediaGroup } from '@webex/internal-media-core';
|
|
3
2
|
import { ReceiveSlot } from './receiveSlot';
|
|
4
3
|
export interface ActiveSpeakerPolicyInfo {
|
|
5
4
|
policy: 'active-speaker';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NamedMediaGroup } from '@webex/
|
|
1
|
+
import { NamedMediaGroup } from '@webex/internal-media-core';
|
|
2
2
|
import { RemoteMedia, RemoteVideoResolution } from './remoteMedia';
|
|
3
3
|
import { MediaRequestManager } from './mediaRequestManager';
|
|
4
4
|
import { CSI, ReceiveSlot } from './receiveSlot';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { EventMap } from 'typed-emitter';
|
|
2
|
-
import { MediaType } from '@webex/internal-media-core';
|
|
3
|
-
import { NamedMediaGroup } from '@webex/json-multistream';
|
|
2
|
+
import { MediaType, NamedMediaGroup } from '@webex/internal-media-core';
|
|
4
3
|
import EventsScope from '../common/events/events-scope';
|
|
5
4
|
import { RemoteMedia, RemoteVideoResolution } from './remoteMedia';
|
|
6
5
|
import { CSI } from './receiveSlot';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection } from '@webex/internal-media-core';
|
|
2
|
-
import { NamedMediaGroup } from '@webex/json-multistream';
|
|
1
|
+
import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection, NamedMediaGroup } from '@webex/internal-media-core';
|
|
3
2
|
export default class SendSlotManager {
|
|
4
3
|
private readonly slots;
|
|
5
4
|
private readonly LoggerProxy;
|
|
@@ -8,10 +8,14 @@ export type ReachabilityMetrics = {
|
|
|
8
8
|
reachability_public_udp_failed: number;
|
|
9
9
|
reachability_public_tcp_success: number;
|
|
10
10
|
reachability_public_tcp_failed: number;
|
|
11
|
+
reachability_public_xtls_success: number;
|
|
12
|
+
reachability_public_xtls_failed: number;
|
|
11
13
|
reachability_vmn_udp_success: number;
|
|
12
14
|
reachability_vmn_udp_failed: number;
|
|
13
15
|
reachability_vmn_tcp_success: number;
|
|
14
16
|
reachability_vmn_tcp_failed: number;
|
|
17
|
+
reachability_vmn_xtls_success: number;
|
|
18
|
+
reachability_vmn_xtls_failed: number;
|
|
15
19
|
};
|
|
16
20
|
/**
|
|
17
21
|
* This is the type that matches what backend expects us to send to them. It is a bit weird, because
|
|
@@ -6,3 +6,10 @@
|
|
|
6
6
|
* @returns {string} url of a turn server
|
|
7
7
|
*/
|
|
8
8
|
export declare function convertStunUrlToTurn(stunUrl: string, protocol: 'udp' | 'tcp'): string;
|
|
9
|
+
/**
|
|
10
|
+
* Converts a stun url to a turns url
|
|
11
|
+
*
|
|
12
|
+
* @param {string} stunUrl url of a stun server
|
|
13
|
+
* @returns {string} url of a turns server
|
|
14
|
+
*/
|
|
15
|
+
export declare function convertStunUrlToTurnTls(stunUrl: string): string;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import TurnDiscovery, { TurnDiscoveryResult } from './turnDiscovery';
|
|
2
3
|
import Meeting from '../meeting';
|
|
4
|
+
export { type TurnDiscoveryResult, type TurnServerInfo, type TurnDiscoverySkipReason, } from './turnDiscovery';
|
|
3
5
|
/**
|
|
4
6
|
* Roap options
|
|
5
7
|
* @typedef {Object} RoapOptions
|
|
@@ -26,7 +28,7 @@ export default class Roap extends StatelessWebexPlugin {
|
|
|
26
28
|
options: any;
|
|
27
29
|
roapHandler: any;
|
|
28
30
|
roapRequest: any;
|
|
29
|
-
turnDiscovery:
|
|
31
|
+
turnDiscovery: TurnDiscovery;
|
|
30
32
|
/**
|
|
31
33
|
*
|
|
32
34
|
* @param {Object} attrs
|
|
@@ -74,5 +76,11 @@ export default class Roap extends StatelessWebexPlugin {
|
|
|
74
76
|
* @param {Boolean} [isForced]
|
|
75
77
|
* @returns {Promise}
|
|
76
78
|
*/
|
|
77
|
-
doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean):
|
|
79
|
+
doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
|
|
80
|
+
generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
|
|
81
|
+
roapMessage?: object;
|
|
82
|
+
turnDiscoverySkippedReason: string;
|
|
83
|
+
}>;
|
|
84
|
+
handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse: object): Promise<TurnDiscoveryResult>;
|
|
85
|
+
abortTurnDiscovery(): void;
|
|
78
86
|
}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
+
import { Enum } from '../constants';
|
|
1
2
|
import RoapRequest from './request';
|
|
2
3
|
import Meeting from '../meeting';
|
|
4
|
+
declare const TurnDiscoverySkipReason: {
|
|
5
|
+
readonly missingHttpResponse: "missing http response";
|
|
6
|
+
readonly reachability: "reachability";
|
|
7
|
+
readonly alreadyInProgress: "already in progress";
|
|
8
|
+
};
|
|
9
|
+
export type TurnDiscoverySkipReason = Enum<typeof TurnDiscoverySkipReason> | string | undefined;
|
|
10
|
+
export type TurnServerInfo = {
|
|
11
|
+
url: string;
|
|
12
|
+
username: string;
|
|
13
|
+
password: string;
|
|
14
|
+
};
|
|
15
|
+
export type TurnDiscoveryResult = {
|
|
16
|
+
turnServerInfo?: TurnServerInfo;
|
|
17
|
+
turnDiscoverySkippedReason: TurnDiscoverySkipReason;
|
|
18
|
+
};
|
|
3
19
|
/**
|
|
4
20
|
* Handles the process of finding out TURN server information from Linus.
|
|
5
21
|
* This is achieved by sending a TURN_DISCOVERY_REQUEST.
|
|
@@ -24,7 +40,8 @@ export default class TurnDiscovery {
|
|
|
24
40
|
*/
|
|
25
41
|
private waitForTurnDiscoveryResponse;
|
|
26
42
|
/**
|
|
27
|
-
*
|
|
43
|
+
* Handles TURN_DISCOVERY_RESPONSE roap message. Use it if the roap message comes over the websocket,
|
|
44
|
+
* otherwise use handleTurnDiscoveryHttpResponse() if it comes in the http response.
|
|
28
45
|
*
|
|
29
46
|
* @param {Object} roapMessage
|
|
30
47
|
* @param {string} from string to indicate how we got the response (used just for logging)
|
|
@@ -34,13 +51,52 @@ export default class TurnDiscovery {
|
|
|
34
51
|
*/
|
|
35
52
|
handleTurnDiscoveryResponse(roapMessage: any, from: string): void;
|
|
36
53
|
/**
|
|
37
|
-
*
|
|
54
|
+
* Generates TURN_DISCOVERY_REQUEST roap message. When this method returns a roapMessage, it means that a TURN discovery process has started.
|
|
55
|
+
* It needs be ended by calling handleTurnDiscoveryHttpResponse() once you get a response from the backend. If you don't get any response
|
|
56
|
+
* or want to abort, you need to call abort().
|
|
38
57
|
*
|
|
39
|
-
* @param {
|
|
40
|
-
* @
|
|
58
|
+
* @param {Meeting} meeting
|
|
59
|
+
* @param {boolean} isForced
|
|
60
|
+
* @returns {Object}
|
|
61
|
+
*/
|
|
62
|
+
generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
|
|
63
|
+
roapMessage?: object;
|
|
64
|
+
turnDiscoverySkippedReason: TurnDiscoverySkipReason;
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* Handles any errors that occur during TURN discovery without re-throwing them.
|
|
68
|
+
*
|
|
69
|
+
* @param {Meeting} meeting
|
|
70
|
+
* @param {Error} error
|
|
71
|
+
* @returns {TurnDiscoveryResult}
|
|
72
|
+
*/
|
|
73
|
+
private handleTurnDiscoveryFailure;
|
|
74
|
+
/**
|
|
75
|
+
* Handles TURN_DISCOVERY_RESPONSE roap message that came in http response. If the response is not valid,
|
|
76
|
+
* it returns an object with turnServerInfo set to undefined. In that case you need to call abort()
|
|
77
|
+
* to end the TURN discovery process.
|
|
78
|
+
*
|
|
79
|
+
* @param {Meeting} meeting
|
|
80
|
+
* @param {Object|undefined} httpResponse can be undefined to indicate that we didn't get the response
|
|
81
|
+
* @returns {Promise<TurnDiscoveryResult>}
|
|
41
82
|
* @memberof Roap
|
|
42
83
|
*/
|
|
43
|
-
|
|
84
|
+
handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse?: object): Promise<TurnDiscoveryResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Aborts current TURN discovery. This method needs to be called if you called generateTurnDiscoveryRequestMessage(),
|
|
87
|
+
* but then never got any response from the server.
|
|
88
|
+
* @returns {void}
|
|
89
|
+
*/
|
|
90
|
+
abort(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Parses the TURN_DISCOVERY_RESPONSE roap message out of the http response
|
|
93
|
+
* and returns it.
|
|
94
|
+
*
|
|
95
|
+
* @param {Meeting} meeting
|
|
96
|
+
* @param {any} httpResponse
|
|
97
|
+
* @returns {any}
|
|
98
|
+
*/
|
|
99
|
+
private parseHttpTurnDiscoveryResponse;
|
|
44
100
|
/**
|
|
45
101
|
* sends the TURN_DISCOVERY_REQUEST roap request
|
|
46
102
|
*
|
|
@@ -50,7 +106,7 @@ export default class TurnDiscovery {
|
|
|
50
106
|
* @private
|
|
51
107
|
* @memberof Roap
|
|
52
108
|
*/
|
|
53
|
-
sendRoapTurnDiscoveryRequest
|
|
109
|
+
private sendRoapTurnDiscoveryRequest;
|
|
54
110
|
/**
|
|
55
111
|
* Sends the OK message that server expects to receive
|
|
56
112
|
* after it sends us TURN_DISCOVERY_RESPONSE
|
|
@@ -94,15 +150,6 @@ export default class TurnDiscovery {
|
|
|
94
150
|
* @param {Boolean} [isForced]
|
|
95
151
|
* @returns {Promise}
|
|
96
152
|
*/
|
|
97
|
-
doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<
|
|
98
|
-
turnServerInfo: any;
|
|
99
|
-
turnDiscoverySkippedReason: string;
|
|
100
|
-
} | {
|
|
101
|
-
turnServerInfo: {
|
|
102
|
-
url: string;
|
|
103
|
-
username: string;
|
|
104
|
-
password: string;
|
|
105
|
-
};
|
|
106
|
-
turnDiscoverySkippedReason: any;
|
|
107
|
-
}>;
|
|
153
|
+
doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
|
|
108
154
|
}
|
|
155
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebinarCollection","MEETINGS","webinarInfo","id","info"],"sources":["collection.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\nclass WebinarCollection {\n webinarInfo: any;\n\n namespace = MEETINGS;\n\n mainIndex = 'sessionId';\n\n constructor() {\n this.webinarInfo = {};\n }\n\n set(id, info) {\n this.webinarInfo[id] = info;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.webinarInfo[id];\n }\n}\n\nexport default WebinarCollection;\n"],"mappings":";;;;;;;;;;;AAIA;AAJA;AACA;AACA;AAFA,
|
|
1
|
+
{"version":3,"names":["_constants","require","WebinarCollection","_classCallCheck2","default","_defineProperty2","MEETINGS","webinarInfo","_createClass2","key","value","set","id","info","get","_default","exports"],"sources":["collection.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\nclass WebinarCollection {\n webinarInfo: any;\n\n namespace = MEETINGS;\n\n mainIndex = 'sessionId';\n\n constructor() {\n this.webinarInfo = {};\n }\n\n set(id, info) {\n this.webinarInfo[id] = info;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.webinarInfo[id];\n }\n}\n\nexport default WebinarCollection;\n"],"mappings":";;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAJA;AACA;AACA;AAFA,IAMMC,iBAAiB;EAOrB,SAAAA,kBAAA,EAAc;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,iBAAA;IAAA,IAAAG,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA,qBAJFE,mBAAQ;IAAA,IAAAD,gBAAA,CAAAD,OAAA,qBAER,WAAW;IAGrB,IAAI,CAACG,WAAW,GAAG,CAAC,CAAC;EACvB;EAAC,IAAAC,aAAA,CAAAJ,OAAA,EAAAF,iBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAIC,EAAE,EAAEC,IAAI,EAAE;MACZ,IAAI,CAACN,WAAW,CAACK,EAAE,CAAC,GAAGC,IAAI;IAC7B;;IAEA;AACF;AACA;AACA;EAHE;IAAAJ,GAAA;IAAAC,KAAA,EAIA,SAAAI,IAAIF,EAAU,EAAE;MACd,OAAO,IAAI,CAACL,WAAW,CAACK,EAAE,CAAC;IAC7B;EAAC;EAAA,OAAAV,iBAAA;AAAA;AAAA,IAAAa,QAAA,GAAAC,OAAA,CAAAZ,OAAA,GAGYF,iBAAiB"}
|
package/dist/webinar/index.js
CHANGED
|
@@ -62,8 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
|
|
|
62
62
|
updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
|
|
63
63
|
this.set('canManageWebcast', canManageWebcast);
|
|
64
64
|
},
|
|
65
|
-
version: "3.
|
|
65
|
+
version: "3.1.0-next.1"
|
|
66
66
|
});
|
|
67
|
-
var _default = Webinar;
|
|
68
|
-
exports.default = _default;
|
|
67
|
+
var _default = exports.default = Webinar;
|
|
69
68
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Webinar","WebexPlugin","extend","namespace","MEETINGS","collections","webinar","WebinarCollection","props","locusUrl","webcastUrl","webinarAttendeesSearchingUrl","canManageWebcast","locusUrlUpdate","set","webcastUrlUpdate","webinarAttendeesSearchingUrlUpdate","updateCanManageWebcast"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {MEETINGS} from '../constants';\n\nimport WebinarCollection from './collection';\n\n/**\n * @class Webinar\n */\nconst Webinar = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n webinar: WebinarCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current webinar's locus url\n webcastUrl: 'string', // current webinar's webcast url\n webinarAttendeesSearchingUrl: 'string', // current webinarAttendeesSearching url\n canManageWebcast: 'boolean', // appears the ability to manage webcast\n },\n\n /**\n * Update the current locus url of the webinar\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * Update the current webcast url of the meeting\n * @param {string} webcastUrl // webcast url\n * @returns {void}\n */\n webcastUrlUpdate(webcastUrl) {\n this.set('webcastUrl', webcastUrl);\n },\n\n /**\n * Update the current webinarAttendeesSearching url of the meeting\n * @param {string} webinarAttendeesSearchingUrl // webinarAttendeesSearching url\n * @returns {void}\n */\n webinarAttendeesSearchingUrlUpdate(webinarAttendeesSearchingUrl) {\n this.set('webinarAttendeesSearchingUrl', webinarAttendeesSearchingUrl);\n },\n\n /**\n * Update whether self has capability to manage start/stop webcast (only host can manage it)\n * @param {boolean} canManageWebcast\n * @returns {void}\n */\n updateCanManageWebcast(canManageWebcast) {\n this.set('canManageWebcast', canManageWebcast);\n },\n});\n\nexport default Webinar;\n"],"mappings":";;;;;;;;AAGA;AACA;AAEA;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA,
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_constants","_collection","_interopRequireDefault","Webinar","WebexPlugin","extend","namespace","MEETINGS","collections","webinar","WebinarCollection","props","locusUrl","webcastUrl","webinarAttendeesSearchingUrl","canManageWebcast","locusUrlUpdate","set","webcastUrlUpdate","webinarAttendeesSearchingUrlUpdate","updateCanManageWebcast","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {MEETINGS} from '../constants';\n\nimport WebinarCollection from './collection';\n\n/**\n * @class Webinar\n */\nconst Webinar = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n webinar: WebinarCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current webinar's locus url\n webcastUrl: 'string', // current webinar's webcast url\n webinarAttendeesSearchingUrl: 'string', // current webinarAttendeesSearching url\n canManageWebcast: 'boolean', // appears the ability to manage webcast\n },\n\n /**\n * Update the current locus url of the webinar\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * Update the current webcast url of the meeting\n * @param {string} webcastUrl // webcast url\n * @returns {void}\n */\n webcastUrlUpdate(webcastUrl) {\n this.set('webcastUrl', webcastUrl);\n },\n\n /**\n * Update the current webinarAttendeesSearching url of the meeting\n * @param {string} webinarAttendeesSearchingUrl // webinarAttendeesSearching url\n * @returns {void}\n */\n webinarAttendeesSearchingUrlUpdate(webinarAttendeesSearchingUrl) {\n this.set('webinarAttendeesSearchingUrl', webinarAttendeesSearchingUrl);\n },\n\n /**\n * Update whether self has capability to manage start/stop webcast (only host can manage it)\n * @param {boolean} canManageWebcast\n * @returns {void}\n */\n updateCanManageWebcast(canManageWebcast) {\n this.set('canManageWebcast', canManageWebcast);\n },\n});\n\nexport default Webinar;\n"],"mappings":";;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA,IAAMI,OAAO,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACjCC,SAAS,EAAEC,mBAAQ;EACnBC,WAAW,EAAE;IACXC,OAAO,EAAEC;EACX,CAAC;EAEDC,KAAK,EAAE;IACLC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,UAAU,EAAE,QAAQ;IAAE;IACtBC,4BAA4B,EAAE,QAAQ;IAAE;IACxCC,gBAAgB,EAAE,SAAS,CAAE;EAC/B,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,cAAc,WAAAA,eAACJ,QAAQ,EAAE;IACvB,IAAI,CAACK,GAAG,CAAC,UAAU,EAAEL,QAAQ,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,gBAAgB,WAAAA,iBAACL,UAAU,EAAE;IAC3B,IAAI,CAACI,GAAG,CAAC,YAAY,EAAEJ,UAAU,CAAC;EACpC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,kCAAkC,WAAAA,mCAACL,4BAA4B,EAAE;IAC/D,IAAI,CAACG,GAAG,CAAC,8BAA8B,EAAEH,4BAA4B,CAAC;EACxE,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,sBAAsB,WAAAA,uBAACL,gBAAgB,EAAE;IACvC,IAAI,CAACE,GAAG,CAAC,kBAAkB,EAAEF,gBAAgB,CAAC;EAChD,CAAC;EAAAM,OAAA;AACH,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYrB,OAAO"}
|
package/jest.config.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "3.0.0-test.1",
|
|
4
3
|
"description": "",
|
|
5
4
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
6
5
|
"contributors": [
|
|
@@ -29,37 +28,53 @@
|
|
|
29
28
|
]
|
|
30
29
|
},
|
|
31
30
|
"scripts": {
|
|
32
|
-
"build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
|
|
31
|
+
"build": "yarn run -T tsc --declaration true --declarationDir ./dist/types",
|
|
32
|
+
"build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps && yarn build",
|
|
33
|
+
"deploy:npm": "yarn npm publish",
|
|
34
|
+
"test:broken": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
|
|
35
|
+
"test:browser": "webex-legacy-tools test --integration --runner karma",
|
|
36
|
+
"test:style": "eslint ./src/**/*.*",
|
|
37
|
+
"test:unit": "webex-legacy-tools test --unit --runner mocha"
|
|
33
38
|
},
|
|
34
39
|
"devDependencies": {
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@webex/
|
|
38
|
-
"@webex/
|
|
39
|
-
"@webex/
|
|
40
|
-
"@webex/
|
|
41
|
-
"@webex/
|
|
40
|
+
"@babel/core": "^7.17.10",
|
|
41
|
+
"@types/jsdom": "^21",
|
|
42
|
+
"@webex/babel-config-legacy": "0.0.0",
|
|
43
|
+
"@webex/eslint-config-legacy": "0.0.0",
|
|
44
|
+
"@webex/jest-config-legacy": "0.0.0",
|
|
45
|
+
"@webex/legacy-tools": "0.0.0",
|
|
46
|
+
"@webex/plugin-meetings": "3.1.0-next.1",
|
|
47
|
+
"@webex/plugin-rooms": "3.0.0-next.16",
|
|
48
|
+
"@webex/test-helper-chai": "3.0.0-next.14",
|
|
49
|
+
"@webex/test-helper-mocha": "3.0.0-next.14",
|
|
50
|
+
"@webex/test-helper-mock-webex": "3.0.0-next.14",
|
|
51
|
+
"@webex/test-helper-retry": "3.0.0-next.14",
|
|
52
|
+
"@webex/test-helper-test-users": "3.0.0-next.14",
|
|
42
53
|
"chai": "^4.3.4",
|
|
43
54
|
"chai-as-promised": "^7.1.1",
|
|
55
|
+
"eslint": "^8.24.0",
|
|
56
|
+
"jsdom": "19.0.0",
|
|
44
57
|
"jsdom-global": "3.0.2",
|
|
58
|
+
"prettier": "^2.7.1",
|
|
45
59
|
"sinon": "^9.2.4",
|
|
46
60
|
"typed-emitter": "^2.1.0",
|
|
47
61
|
"typescript": "^4.7.4"
|
|
48
62
|
},
|
|
49
63
|
"dependencies": {
|
|
50
|
-
"@webex/common": "
|
|
51
|
-
"@webex/internal-media-core": "2.
|
|
52
|
-
"@webex/internal-plugin-conversation": "
|
|
53
|
-
"@webex/internal-plugin-device": "
|
|
54
|
-
"@webex/internal-plugin-llm": "
|
|
55
|
-
"@webex/internal-plugin-mercury": "
|
|
56
|
-
"@webex/internal-plugin-metrics": "
|
|
57
|
-
"@webex/internal-plugin-support": "
|
|
58
|
-
"@webex/internal-plugin-user": "
|
|
59
|
-
"@webex/
|
|
60
|
-
"@webex/
|
|
61
|
-
"@webex/plugin-
|
|
62
|
-
"@webex/
|
|
64
|
+
"@webex/common": "3.0.0-next.14",
|
|
65
|
+
"@webex/internal-media-core": "2.5.0",
|
|
66
|
+
"@webex/internal-plugin-conversation": "3.0.0-next.16",
|
|
67
|
+
"@webex/internal-plugin-device": "3.0.0-next.14",
|
|
68
|
+
"@webex/internal-plugin-llm": "3.0.0-next.16",
|
|
69
|
+
"@webex/internal-plugin-mercury": "3.0.0-next.16",
|
|
70
|
+
"@webex/internal-plugin-metrics": "3.0.0-next.14",
|
|
71
|
+
"@webex/internal-plugin-support": "3.0.0-next.16",
|
|
72
|
+
"@webex/internal-plugin-user": "3.0.0-next.14",
|
|
73
|
+
"@webex/internal-plugin-voicea": "3.1.0-next.1",
|
|
74
|
+
"@webex/media-helpers": "3.0.1-next.17",
|
|
75
|
+
"@webex/plugin-people": "3.0.0-next.16",
|
|
76
|
+
"@webex/plugin-rooms": "3.0.0-next.16",
|
|
77
|
+
"@webex/webex-core": "3.0.0-next.14",
|
|
63
78
|
"ampersand-collection": "^2.0.2",
|
|
64
79
|
"bowser": "^2.11.0",
|
|
65
80
|
"btoa": "^1.2.1",
|
|
@@ -67,10 +82,14 @@
|
|
|
67
82
|
"global": "^4.4.0",
|
|
68
83
|
"ip-anonymize": "^0.1.0",
|
|
69
84
|
"javascript-state-machine": "^3.1.0",
|
|
70
|
-
"
|
|
85
|
+
"jwt-decode": "3.1.2",
|
|
71
86
|
"lodash": "^4.17.21",
|
|
72
87
|
"sdp-transform": "^2.12.0",
|
|
73
88
|
"uuid": "^3.3.2",
|
|
74
89
|
"webrtc-adapter": "^8.1.2"
|
|
75
|
-
}
|
|
76
|
-
|
|
90
|
+
},
|
|
91
|
+
"//": [
|
|
92
|
+
"TODO: upgrade jwt-decode when moving to node 18"
|
|
93
|
+
],
|
|
94
|
+
"version": "3.1.0-next.1"
|
|
95
|
+
}
|
package/process
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = {browser: true};
|
package/src/config.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
deviceType,
|
|
4
|
-
} from '@webex/common';
|
|
1
|
+
// @ts-ignore
|
|
2
|
+
import {deviceType} from '@webex/common';
|
|
5
3
|
|
|
6
4
|
export default {
|
|
7
5
|
// TODO: this needs to be defaulted
|
|
@@ -89,6 +87,7 @@ export default {
|
|
|
89
87
|
enableUnifiedMeetings: true,
|
|
90
88
|
enableAdhocMeetings: true,
|
|
91
89
|
enableTcpReachability: false,
|
|
90
|
+
enableTlsReachability: false,
|
|
92
91
|
},
|
|
93
92
|
degradationPreferences: {
|
|
94
93
|
maxMacroblocksLimit: 8192,
|