@webex/plugin-meetings 3.8.1-next.3 → 3.8.1-next.31
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 +26 -13
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +21 -2
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +38 -84
- package/dist/locus-info/index.js.map +1 -1
- package/dist/media/index.js +2 -2
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/brbState.js +14 -12
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/index.js +169 -66
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +19 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meetings/index.js +35 -33
- package/dist/meetings/index.js.map +1 -1
- package/dist/members/index.js +8 -6
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +3 -3
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +18 -6
- package/dist/members/util.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +34 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +42 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +32 -2
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/index.js +5 -10
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/constants.d.ts +19 -0
- package/dist/types/locus-info/index.d.ts +0 -9
- package/dist/types/meeting/brbState.d.ts +0 -1
- package/dist/types/meeting/index.d.ts +28 -4
- package/dist/types/meeting/request.d.ts +9 -1
- package/dist/types/meeting/request.type.d.ts +74 -0
- package/dist/types/members/index.d.ts +8 -3
- package/dist/types/members/request.d.ts +1 -1
- package/dist/types/members/util.d.ts +5 -2
- package/dist/types/multistream/remoteMedia.d.ts +20 -1
- package/dist/types/multistream/remoteMediaGroup.d.ts +11 -0
- package/dist/types/multistream/sendSlotManager.d.ts +16 -0
- package/dist/types/reachability/index.d.ts +2 -2
- package/dist/webinar/index.js +1 -1
- package/package.json +24 -24
- package/src/constants.ts +20 -0
- package/src/locus-info/index.ts +47 -82
- package/src/media/index.ts +2 -2
- package/src/meeting/brbState.ts +9 -7
- package/src/meeting/index.ts +126 -23
- package/src/meeting/request.ts +16 -0
- package/src/meeting/request.type.ts +64 -0
- package/src/meetings/index.ts +3 -2
- package/src/members/index.ts +7 -5
- package/src/members/request.ts +2 -2
- package/src/members/util.ts +14 -3
- package/src/multistream/mediaRequestManager.ts +7 -7
- package/src/multistream/remoteMedia.ts +34 -4
- package/src/multistream/remoteMediaGroup.ts +37 -2
- package/src/multistream/sendSlotManager.ts +34 -2
- package/src/reachability/index.ts +5 -13
- package/test/unit/spec/locus-info/index.js +177 -83
- package/test/unit/spec/media/index.ts +107 -0
- package/test/unit/spec/meeting/brbState.ts +9 -9
- package/test/unit/spec/meeting/index.js +606 -55
- package/test/unit/spec/meeting/request.js +71 -0
- package/test/unit/spec/meetings/index.js +1 -0
- package/test/unit/spec/members/index.js +32 -9
- package/test/unit/spec/members/request.js +2 -2
- package/test/unit/spec/members/utils.js +27 -7
- package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
- package/test/unit/spec/multistream/remoteMedia.ts +66 -2
- package/test/unit/spec/multistream/sendSlotManager.ts +59 -0
- package/test/unit/spec/reachability/index.ts +2 -6
@@ -16,7 +16,6 @@ export default class LocusInfo extends EventsScope {
|
|
16
16
|
aclUrl: any;
|
17
17
|
baseSequence: any;
|
18
18
|
created: any;
|
19
|
-
deltaParticipants: any;
|
20
19
|
identities: any;
|
21
20
|
membership: any;
|
22
21
|
participants: any;
|
@@ -148,14 +147,6 @@ export default class LocusInfo extends EventsScope {
|
|
148
147
|
* @memberof LocusInfo
|
149
148
|
*/
|
150
149
|
compareSelfAndHost(): void;
|
151
|
-
/**
|
152
|
-
* Update the deltaParticipants property of this object based on a list of
|
153
|
-
* provided participants.
|
154
|
-
*
|
155
|
-
* @param {Array} [participants] - The participants to update against.
|
156
|
-
* @returns {void}
|
157
|
-
*/
|
158
|
-
updateParticipantDeltas(participants?: Array<any>): void;
|
159
150
|
/**
|
160
151
|
* update meeting's members
|
161
152
|
* @param {Object} participants new participants object
|
@@ -21,6 +21,7 @@ import RecordingController from '../recording-controller';
|
|
21
21
|
import ControlsOptionsManager from '../controls-options-manager';
|
22
22
|
import { LocusMediaRequest } from './locusMediaRequest';
|
23
23
|
import { BrbState } from './brbState';
|
24
|
+
import { SetStageOptions } from './request.type';
|
24
25
|
export type CaptionData = {
|
25
26
|
id: string;
|
26
27
|
isFinal: boolean;
|
@@ -66,6 +67,13 @@ export type AddMediaOptions = {
|
|
66
67
|
remoteMediaManagerConfig?: RemoteMediaManagerConfiguration;
|
67
68
|
bundlePolicy?: BundlePolicy;
|
68
69
|
allowMediaInLobby?: boolean;
|
70
|
+
additionalMediaOptions?: AdditionalMediaOptions;
|
71
|
+
};
|
72
|
+
export type AdditionalMediaOptions = {
|
73
|
+
sendVideo?: boolean;
|
74
|
+
receiveVideo?: boolean;
|
75
|
+
sendAudio?: boolean;
|
76
|
+
receiveAudio?: boolean;
|
69
77
|
};
|
70
78
|
export type CallStateForMetrics = {
|
71
79
|
correlationId?: string;
|
@@ -479,10 +487,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
479
487
|
/**
|
480
488
|
* @param {Object} attrs
|
481
489
|
* @param {Object} options
|
490
|
+
* @param {Function} callback - if provided, it will be called with the newly created meeting object as soon as the meeting.id is set
|
482
491
|
* @constructor
|
483
492
|
* @memberof Meeting
|
484
493
|
*/
|
485
|
-
constructor(attrs: any, options: object);
|
494
|
+
constructor(attrs: any, options: object, callback: (meeting: Meeting) => void);
|
486
495
|
/**
|
487
496
|
* returns meeting is joined
|
488
497
|
* @private
|
@@ -881,15 +890,17 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
881
890
|
phoneNumber: string;
|
882
891
|
}): any;
|
883
892
|
/**
|
884
|
-
* Cancel an SIP call invitation made during a meeting
|
893
|
+
* Cancel an SIP/phone call invitation made during a meeting
|
885
894
|
* @param {Object} invitee
|
886
895
|
* @param {String} invitee.memberId
|
887
|
-
* @
|
896
|
+
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
897
|
+
* @returns {Promise} see #members.cancelInviteByMemberId
|
888
898
|
* @public
|
889
899
|
* @memberof Meeting
|
890
900
|
*/
|
891
|
-
|
901
|
+
cancelInviteByMemberId(invitee: {
|
892
902
|
memberId: string;
|
903
|
+
isInternalNumber?: boolean;
|
893
904
|
}): any;
|
894
905
|
/**
|
895
906
|
* Admit the guest(s) to the call once they are waiting.
|
@@ -1993,5 +2004,18 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
1993
2004
|
* @returns {Promise<MediaReachabilityMetrics>}
|
1994
2005
|
*/
|
1995
2006
|
private getMediaReachabilityMetricFields;
|
2007
|
+
/**
|
2008
|
+
* Set the stage for the meeting
|
2009
|
+
*
|
2010
|
+
* @param {SetStageOptions} options Options to use when setting the stage
|
2011
|
+
* @returns {Promise} The locus request
|
2012
|
+
*/
|
2013
|
+
setStage({ activeSpeakerProportion, customBackground, customLogo, customNameLabel, importantParticipants, lockAttendeeViewOnStage, showActiveSpeaker, }?: SetStageOptions): Promise<any>;
|
2014
|
+
/**
|
2015
|
+
* Unset the stage for the meeting
|
2016
|
+
*
|
2017
|
+
* @returns {Promise} The locus request
|
2018
|
+
*/
|
2019
|
+
unsetStage(): Promise<any>;
|
1996
2020
|
}
|
1997
2021
|
export {};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
2
|
-
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions } from './request.type';
|
2
|
+
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions, SynchronizeVideoLayout } from './request.type';
|
3
3
|
import { AnnotationInfo } from '../annotation/annotation.types';
|
4
4
|
import { ClientMediaPreferences } from '../reachability/reachability.types';
|
5
5
|
/**
|
@@ -314,4 +314,12 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
314
314
|
* @returns {Promise}
|
315
315
|
*/
|
316
316
|
setPostMeetingDataConsent({ postMeetingDataConsent, locusUrl, deviceUrl, selfId, }: PostMeetingDataConsentOptions): Promise<any>;
|
317
|
+
/**
|
318
|
+
* Synchronize the stage for a meeting
|
319
|
+
*
|
320
|
+
* @param {LocusUrl} locusUrl The locus URL
|
321
|
+
* @param {SetStageVideoLayout} videoLayout The video layout to synchronize
|
322
|
+
* @returns {Promise} The locus request
|
323
|
+
*/
|
324
|
+
synchronizeStage(locusUrl: string, videoLayout: SynchronizeVideoLayout): Promise<any>;
|
317
325
|
}
|
@@ -21,3 +21,77 @@ export type PostMeetingDataConsentOptions = {
|
|
21
21
|
deviceUrl: string;
|
22
22
|
selfId: string;
|
23
23
|
};
|
24
|
+
export type StageCustomLogoPositions = 'LowerLeft' | 'LowerMiddle' | 'LowerRight' | 'UpperLeft' | 'UpperMiddle' | 'UpperRight';
|
25
|
+
export type StageNameLabelType = 'Primary' | 'PrimaryInverted' | 'Secondary' | 'SecondaryInverted';
|
26
|
+
export type StageCustomBackground = {
|
27
|
+
url: string;
|
28
|
+
[others: string]: unknown;
|
29
|
+
};
|
30
|
+
export type StageCustomLogo = {
|
31
|
+
url: string;
|
32
|
+
position: StageCustomLogoPositions;
|
33
|
+
[others: string]: unknown;
|
34
|
+
};
|
35
|
+
export type StageCustomNameLabel = {
|
36
|
+
accentColor: string;
|
37
|
+
background: {
|
38
|
+
color: string;
|
39
|
+
};
|
40
|
+
border: {
|
41
|
+
color: string;
|
42
|
+
};
|
43
|
+
content: {
|
44
|
+
displayName: {
|
45
|
+
color: string;
|
46
|
+
};
|
47
|
+
subtitle: {
|
48
|
+
color: string;
|
49
|
+
};
|
50
|
+
};
|
51
|
+
decoration: {
|
52
|
+
color: string;
|
53
|
+
};
|
54
|
+
fadeOut?: {
|
55
|
+
delay: number;
|
56
|
+
};
|
57
|
+
type: StageNameLabelType;
|
58
|
+
[others: string]: unknown;
|
59
|
+
};
|
60
|
+
export type SetStageOptions = {
|
61
|
+
activeSpeakerProportion?: number;
|
62
|
+
customBackground?: StageCustomBackground;
|
63
|
+
customLogo?: StageCustomLogo;
|
64
|
+
customNameLabel?: StageCustomNameLabel;
|
65
|
+
importantParticipants?: {
|
66
|
+
mainCsi: number;
|
67
|
+
participantId: string;
|
68
|
+
}[];
|
69
|
+
lockAttendeeViewOnStage?: boolean;
|
70
|
+
showActiveSpeaker?: boolean;
|
71
|
+
};
|
72
|
+
export type SetStageVideoLayout = {
|
73
|
+
overrideDefault: true;
|
74
|
+
lockAttendeeViewOnStageOnly: boolean;
|
75
|
+
stageParameters: {
|
76
|
+
importantParticipants?: {
|
77
|
+
participantId: string;
|
78
|
+
mainCsi: number;
|
79
|
+
order: number;
|
80
|
+
}[];
|
81
|
+
showActiveSpeaker: {
|
82
|
+
show: boolean;
|
83
|
+
order: number;
|
84
|
+
};
|
85
|
+
activeSpeakerProportion: number;
|
86
|
+
stageManagerType: number;
|
87
|
+
};
|
88
|
+
customLayouts?: {
|
89
|
+
background?: StageCustomBackground;
|
90
|
+
logo?: StageCustomLogo;
|
91
|
+
};
|
92
|
+
nameLabelStyle?: StageCustomNameLabel;
|
93
|
+
};
|
94
|
+
export type UnsetStageVideoLayout = {
|
95
|
+
overrideDefault: false;
|
96
|
+
};
|
97
|
+
export type SynchronizeVideoLayout = SetStageVideoLayout | UnsetStageVideoLayout;
|
@@ -226,12 +226,17 @@ export default class Members extends StatelessWebexPlugin {
|
|
226
226
|
*/
|
227
227
|
cancelPhoneInvite(invitee: any): any;
|
228
228
|
/**
|
229
|
-
* Cancels an SIP call to the associated meeting
|
230
|
-
* @param {
|
229
|
+
* Cancels an SIP/phone call to the associated meeting
|
230
|
+
* @param {Object} invitee
|
231
|
+
* @param {String} invitee.memberId - The memberId of the invitee
|
232
|
+
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
231
233
|
* @returns {Promise}
|
232
234
|
* @memberof Members
|
233
235
|
*/
|
234
|
-
|
236
|
+
cancelInviteByMemberId(invitee: {
|
237
|
+
memberId: string;
|
238
|
+
isInternalNumber?: boolean;
|
239
|
+
}): any;
|
235
240
|
/**
|
236
241
|
* Admits waiting members (invited guests to meeting)
|
237
242
|
* @param {Array} memberIds
|
@@ -136,5 +136,5 @@ export default class MembersRequest extends StatelessWebexPlugin {
|
|
136
136
|
* @throws {Error} if the options are not valid and complete, must have invitee with memberId AND locusUrl
|
137
137
|
* @memberof MembersRequest
|
138
138
|
*/
|
139
|
-
|
139
|
+
cancelInviteByMemberId(options: any): Promise<any>;
|
140
140
|
}
|
@@ -26,6 +26,7 @@ declare const MembersUtil: {
|
|
26
26
|
*/
|
27
27
|
getAddMemberBody: (options: any) => {
|
28
28
|
invitees: {
|
29
|
+
isInternalNumber?: any;
|
29
30
|
roles?: any;
|
30
31
|
address: any;
|
31
32
|
}[];
|
@@ -55,6 +56,7 @@ declare const MembersUtil: {
|
|
55
56
|
uri: any;
|
56
57
|
body: {
|
57
58
|
invitees: {
|
59
|
+
isInternalNumber?: any;
|
58
60
|
roles?: any;
|
59
61
|
address: any;
|
60
62
|
}[];
|
@@ -228,16 +230,17 @@ declare const MembersUtil: {
|
|
228
230
|
}[];
|
229
231
|
};
|
230
232
|
};
|
231
|
-
|
233
|
+
cancelInviteByMemberIdOptions: (invitee: any, locusUrl: any) => {
|
232
234
|
invitee: any;
|
233
235
|
locusUrl: any;
|
234
236
|
};
|
235
|
-
|
237
|
+
generateCancelInviteByMemberIdRequestParams: (options: any) => {
|
236
238
|
method: string;
|
237
239
|
uri: any;
|
238
240
|
body: {
|
239
241
|
actionType: string;
|
240
242
|
invitees: {
|
243
|
+
isInternalNumber?: any;
|
241
244
|
address: any;
|
242
245
|
}[];
|
243
246
|
};
|
@@ -7,9 +7,17 @@ export declare const RemoteMediaEvents: {
|
|
7
7
|
Stopped: string;
|
8
8
|
};
|
9
9
|
export type RemoteVideoResolution = 'thumbnail' | 'very small' | 'small' | 'medium' | 'large' | 'best';
|
10
|
+
export declare const MAX_FS_VALUES: {
|
11
|
+
'90p': number;
|
12
|
+
'180p': number;
|
13
|
+
'360p': number;
|
14
|
+
'540p': number;
|
15
|
+
'720p': number;
|
16
|
+
'1080p': number;
|
17
|
+
};
|
10
18
|
/**
|
11
19
|
* Converts pane size into h264 maxFs
|
12
|
-
* @param {
|
20
|
+
* @param {RemoteVideoResolution} paneSize
|
13
21
|
* @returns {number}
|
14
22
|
*/
|
15
23
|
export declare function getMaxFs(paneSize: RemoteVideoResolution): number;
|
@@ -29,6 +37,12 @@ export declare class RemoteMedia extends EventsScope {
|
|
29
37
|
private readonly options;
|
30
38
|
private mediaRequestId?;
|
31
39
|
readonly id: RemoteMediaId;
|
40
|
+
/**
|
41
|
+
* The max frame size of the media request, used for logging and media requests.
|
42
|
+
* Set by setSizeHint() based on video element dimensions.
|
43
|
+
* When > 0, this value takes precedence over options.resolution in sendMediaRequest().
|
44
|
+
*/
|
45
|
+
private maxFrameSize;
|
32
46
|
/**
|
33
47
|
* Constructs RemoteMedia instance
|
34
48
|
*
|
@@ -45,6 +59,11 @@ export declare class RemoteMedia extends EventsScope {
|
|
45
59
|
* @note width/height of 0 will be ignored
|
46
60
|
*/
|
47
61
|
setSizeHint(width: any, height: any): void;
|
62
|
+
/**
|
63
|
+
* Get the current effective maxFs value that would be used in media requests
|
64
|
+
* @returns {number | undefined} The maxFs value, or undefined if no constraints
|
65
|
+
*/
|
66
|
+
getEffectiveMaxFs(): number | undefined;
|
48
67
|
/**
|
49
68
|
* registers event listeners on the receive slot and forwards all the events
|
50
69
|
*/
|
@@ -45,5 +45,16 @@ export declare class RemoteMediaGroup {
|
|
45
45
|
* @returns true if remote media is found
|
46
46
|
*/
|
47
47
|
includes(remoteMedia: RemoteMedia, filter?: 'all' | 'pinned' | 'unpinned'): boolean;
|
48
|
+
/**
|
49
|
+
* Calculate the effective maxFs for the active speaker media request based on unpinned RemoteMedia instances
|
50
|
+
* @returns {number | undefined} The calculated maxFs value, or undefined if no constraints
|
51
|
+
* @private
|
52
|
+
*/
|
53
|
+
private getEffectiveMaxFsForActiveSpeaker;
|
54
|
+
/**
|
55
|
+
* Get the current effective maxFs that would be used for the active speaker media request
|
56
|
+
* @returns {number | undefined} The effective maxFs value
|
57
|
+
*/
|
58
|
+
getEffectiveMaxFs(): number | undefined;
|
48
59
|
}
|
49
60
|
export {};
|
@@ -1,7 +1,17 @@
|
|
1
1
|
import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection, NamedMediaGroup, StreamState } from '@webex/internal-media-core';
|
2
|
+
/**
|
3
|
+
* This class is used to manage the sendSlots for the given media types.
|
4
|
+
*/
|
2
5
|
export default class SendSlotManager {
|
3
6
|
private readonly slots;
|
4
7
|
private readonly LoggerProxy;
|
8
|
+
private readonly sourceStateOverrides;
|
9
|
+
/**
|
10
|
+
* Constructor for SendSlotManager
|
11
|
+
*
|
12
|
+
* @param {any} LoggerProxy is used to log the messages
|
13
|
+
* @constructor
|
14
|
+
*/
|
5
15
|
constructor(LoggerProxy: any);
|
6
16
|
/**
|
7
17
|
* This method is used to create a sendSlot for the given mediaType and returns the created sendSlot
|
@@ -32,6 +42,12 @@ export default class SendSlotManager {
|
|
32
42
|
* @returns {void}
|
33
43
|
*/
|
34
44
|
setSourceStateOverride(mediaType: MediaType, state: StreamState | null): void;
|
45
|
+
/**
|
46
|
+
* Gets the source state override for the given media type.
|
47
|
+
* @param {MediaType} mediaType - The type of media to get the source state override for.
|
48
|
+
* @returns {StreamState | null} - The current source state override or null if not set.
|
49
|
+
*/
|
50
|
+
private getSourceStateOverride;
|
35
51
|
/**
|
36
52
|
* This method publishes the given stream to the sendSlot for the given mediaType
|
37
53
|
* @param {MediaType} mediaType MediaType of the sendSlot to which a stream needs to be published (AUDIO_MAIN/VIDEO_MAIN/AUDIO_SLIDES/VIDEO_SLIDES)
|
@@ -68,12 +68,12 @@ export default class Reachability extends EventsScope {
|
|
68
68
|
}>;
|
69
69
|
/**
|
70
70
|
* Checks if the given subnet is reachable
|
71
|
-
* @param {string}
|
71
|
+
* @param {string} selectedSubnetFirstOctet - selected subnet first octet, e.g. "10" for "10.X.X.X"
|
72
72
|
* @returns {boolean | null} true if reachable, false if not reachable, null if mediaServerIp is not provided
|
73
73
|
* @public
|
74
74
|
* @memberof Reachability
|
75
75
|
*/
|
76
|
-
isSubnetReachable(
|
76
|
+
isSubnetReachable(selectedSubnetFirstOctet: string): boolean | null;
|
77
77
|
/**
|
78
78
|
* Gets a list of media clusters from the backend and performs reachability checks on all the clusters
|
79
79
|
* @param {string} trigger - explains the reason for starting reachability
|
package/dist/webinar/index.js
CHANGED
package/package.json
CHANGED
@@ -43,13 +43,13 @@
|
|
43
43
|
"@webex/eslint-config-legacy": "0.0.0",
|
44
44
|
"@webex/jest-config-legacy": "0.0.0",
|
45
45
|
"@webex/legacy-tools": "0.0.0",
|
46
|
-
"@webex/plugin-meetings": "3.8.1-next.
|
47
|
-
"@webex/plugin-rooms": "3.8.
|
48
|
-
"@webex/test-helper-chai": "3.8.1-next.
|
49
|
-
"@webex/test-helper-mocha": "3.8.1-next.
|
50
|
-
"@webex/test-helper-mock-webex": "3.8.1-next.
|
51
|
-
"@webex/test-helper-retry": "3.8.1-next.
|
52
|
-
"@webex/test-helper-test-users": "3.8.1-next.
|
46
|
+
"@webex/plugin-meetings": "3.8.1-next.31",
|
47
|
+
"@webex/plugin-rooms": "3.8.1-next.7",
|
48
|
+
"@webex/test-helper-chai": "3.8.1-next.10",
|
49
|
+
"@webex/test-helper-mocha": "3.8.1-next.10",
|
50
|
+
"@webex/test-helper-mock-webex": "3.8.1-next.10",
|
51
|
+
"@webex/test-helper-retry": "3.8.1-next.10",
|
52
|
+
"@webex/test-helper-test-users": "3.8.1-next.10",
|
53
53
|
"chai": "^4.3.4",
|
54
54
|
"chai-as-promised": "^7.1.1",
|
55
55
|
"eslint": "^8.24.0",
|
@@ -61,23 +61,23 @@
|
|
61
61
|
"typescript": "^4.7.4"
|
62
62
|
},
|
63
63
|
"dependencies": {
|
64
|
-
"@webex/common": "3.8.1-next.
|
65
|
-
"@webex/event-dictionary-ts": "^1.0.
|
66
|
-
"@webex/internal-media-core": "2.
|
67
|
-
"@webex/internal-plugin-conversation": "3.8.1-next.
|
68
|
-
"@webex/internal-plugin-device": "3.8.1-next.
|
69
|
-
"@webex/internal-plugin-llm": "3.8.1-next.
|
70
|
-
"@webex/internal-plugin-mercury": "3.8.1-next.
|
71
|
-
"@webex/internal-plugin-metrics": "3.8.1-next.
|
72
|
-
"@webex/internal-plugin-support": "3.8.1-next.
|
73
|
-
"@webex/internal-plugin-user": "3.8.1-next.
|
74
|
-
"@webex/internal-plugin-voicea": "3.8.1-next.
|
75
|
-
"@webex/media-helpers": "3.8.1-next.
|
76
|
-
"@webex/plugin-people": "3.8.1-next.
|
77
|
-
"@webex/plugin-rooms": "3.8.
|
64
|
+
"@webex/common": "3.8.1-next.10",
|
65
|
+
"@webex/event-dictionary-ts": "^1.0.1819",
|
66
|
+
"@webex/internal-media-core": "2.18.5",
|
67
|
+
"@webex/internal-plugin-conversation": "3.8.1-next.10",
|
68
|
+
"@webex/internal-plugin-device": "3.8.1-next.10",
|
69
|
+
"@webex/internal-plugin-llm": "3.8.1-next.10",
|
70
|
+
"@webex/internal-plugin-mercury": "3.8.1-next.10",
|
71
|
+
"@webex/internal-plugin-metrics": "3.8.1-next.10",
|
72
|
+
"@webex/internal-plugin-support": "3.8.1-next.10",
|
73
|
+
"@webex/internal-plugin-user": "3.8.1-next.10",
|
74
|
+
"@webex/internal-plugin-voicea": "3.8.1-next.31",
|
75
|
+
"@webex/media-helpers": "3.8.1-next.14",
|
76
|
+
"@webex/plugin-people": "3.8.1-next.10",
|
77
|
+
"@webex/plugin-rooms": "3.8.1-next.7",
|
78
78
|
"@webex/ts-sdp": "^1.8.1",
|
79
|
-
"@webex/web-capabilities": "^1.
|
80
|
-
"@webex/webex-core": "3.8.1-next.
|
79
|
+
"@webex/web-capabilities": "^1.6.0",
|
80
|
+
"@webex/webex-core": "3.8.1-next.10",
|
81
81
|
"ampersand-collection": "^2.0.2",
|
82
82
|
"bowser": "^2.11.0",
|
83
83
|
"btoa": "^1.2.1",
|
@@ -93,5 +93,5 @@
|
|
93
93
|
"//": [
|
94
94
|
"TODO: upgrade jwt-decode when moving to node 18"
|
95
95
|
],
|
96
|
-
"version": "3.8.1-next.
|
96
|
+
"version": "3.8.1-next.31"
|
97
97
|
}
|
package/src/constants.ts
CHANGED
@@ -217,6 +217,7 @@ export const DIALER_REGEX = {
|
|
217
217
|
PHONE_NUMBER:
|
218
218
|
/^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/,
|
219
219
|
E164_FORMAT: /^\+[1-9]\d{1,14}$/,
|
220
|
+
INTERNAL_NUMBER: /^\d{1,14}$/,
|
220
221
|
};
|
221
222
|
|
222
223
|
// eslint-disable-next-line max-len
|
@@ -1188,6 +1189,7 @@ export const QUALITY_LEVELS = {
|
|
1188
1189
|
HIGH: 'HIGH',
|
1189
1190
|
'360p': '360p',
|
1190
1191
|
'480p': '480p',
|
1192
|
+
'540p': '540p',
|
1191
1193
|
'720p': '720p',
|
1192
1194
|
'1080p': '1080p',
|
1193
1195
|
};
|
@@ -1217,6 +1219,18 @@ export const AVAILABLE_RESOLUTIONS = {
|
|
1217
1219
|
},
|
1218
1220
|
},
|
1219
1221
|
},
|
1222
|
+
'540p': {
|
1223
|
+
video: {
|
1224
|
+
width: {
|
1225
|
+
max: 960,
|
1226
|
+
ideal: 960,
|
1227
|
+
},
|
1228
|
+
height: {
|
1229
|
+
max: 540,
|
1230
|
+
ideal: 540,
|
1231
|
+
},
|
1232
|
+
},
|
1233
|
+
},
|
1220
1234
|
'720p': {
|
1221
1235
|
video: {
|
1222
1236
|
width: {
|
@@ -1357,3 +1371,9 @@ export const INITIAL_REGISTRATION_STATUS = {
|
|
1357
1371
|
mercuryConnect: false,
|
1358
1372
|
checkH264Support: false,
|
1359
1373
|
};
|
1374
|
+
|
1375
|
+
export const STAGE_MANAGER_TYPE = {
|
1376
|
+
LOGO: 0b001,
|
1377
|
+
BACKGROUND: 0b010,
|
1378
|
+
NAME_LABEL: 0b100,
|
1379
|
+
};
|