@webex/plugin-meetings 2.30.1 → 2.31.0
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/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +9 -4
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +7 -3
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/index.js +40 -3
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +13 -1
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/meeting/index.js +38 -12
- package/dist/meeting/index.js.map +1 -1
- package/package.json +17 -17
- package/src/constants.ts +7 -1
- package/src/locus-info/controlsUtils.js +10 -2
- package/src/locus-info/embeddedAppsUtils.js +11 -4
- package/src/locus-info/index.js +211 -135
- package/src/locus-info/selfUtils.js +10 -1
- package/src/meeting/index.js +41 -0
- package/test/unit/spec/locus-info/controlsUtils.js +82 -0
- package/test/unit/spec/locus-info/index.js +498 -291
- package/test/unit/spec/locus-info/selfConstant.js +3 -1
- package/test/unit/spec/locus-info/selfUtils.js +74 -1
- package/test/unit/spec/meetings/index.js +82 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.31.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"contributors": [
|
|
@@ -24,29 +24,29 @@
|
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@webex/plugin-meetings": "2.
|
|
28
|
-
"@webex/test-helper-chai": "2.
|
|
29
|
-
"@webex/test-helper-mocha": "2.
|
|
30
|
-
"@webex/test-helper-mock-webex": "2.
|
|
31
|
-
"@webex/test-helper-retry": "2.
|
|
32
|
-
"@webex/test-helper-test-users": "2.
|
|
27
|
+
"@webex/plugin-meetings": "2.31.0",
|
|
28
|
+
"@webex/test-helper-chai": "2.31.0",
|
|
29
|
+
"@webex/test-helper-mocha": "2.31.0",
|
|
30
|
+
"@webex/test-helper-mock-webex": "2.31.0",
|
|
31
|
+
"@webex/test-helper-retry": "2.31.0",
|
|
32
|
+
"@webex/test-helper-test-users": "2.31.0",
|
|
33
33
|
"chai": "^4.3.4",
|
|
34
34
|
"chai-as-promised": "^7.1.1",
|
|
35
35
|
"jsdom-global": "3.0.2",
|
|
36
36
|
"sinon": "^9.2.4"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@webex/common": "2.
|
|
39
|
+
"@webex/common": "2.31.0",
|
|
40
40
|
"@webex/internal-media-core": "^0.0.7-beta",
|
|
41
|
-
"@webex/internal-plugin-conversation": "2.
|
|
42
|
-
"@webex/internal-plugin-device": "2.
|
|
43
|
-
"@webex/internal-plugin-mercury": "2.
|
|
44
|
-
"@webex/internal-plugin-metrics": "2.
|
|
45
|
-
"@webex/internal-plugin-support": "2.
|
|
46
|
-
"@webex/internal-plugin-user": "2.
|
|
47
|
-
"@webex/plugin-people": "2.
|
|
48
|
-
"@webex/plugin-rooms": "2.
|
|
49
|
-
"@webex/webex-core": "2.
|
|
41
|
+
"@webex/internal-plugin-conversation": "2.31.0",
|
|
42
|
+
"@webex/internal-plugin-device": "2.31.0",
|
|
43
|
+
"@webex/internal-plugin-mercury": "2.31.0",
|
|
44
|
+
"@webex/internal-plugin-metrics": "2.31.0",
|
|
45
|
+
"@webex/internal-plugin-support": "2.31.0",
|
|
46
|
+
"@webex/internal-plugin-user": "2.31.0",
|
|
47
|
+
"@webex/plugin-people": "2.31.0",
|
|
48
|
+
"@webex/plugin-rooms": "2.31.0",
|
|
49
|
+
"@webex/webex-core": "2.31.0",
|
|
50
50
|
"bowser": "^2.11.0",
|
|
51
51
|
"btoa": "^1.2.1",
|
|
52
52
|
"dotenv": "^4.0.0",
|
package/src/constants.ts
CHANGED
|
@@ -286,7 +286,10 @@ export const EVENT_TRIGGERS = {
|
|
|
286
286
|
MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',
|
|
287
287
|
MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',
|
|
288
288
|
MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',
|
|
289
|
+
MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',
|
|
290
|
+
MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',
|
|
289
291
|
MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',
|
|
292
|
+
MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',
|
|
290
293
|
MEMBERS_UPDATE: 'members:update',
|
|
291
294
|
MEMBERS_CONTENT_UPDATE: 'members:content:update',
|
|
292
295
|
MEMBERS_HOST_UPDATE: 'members:host:update',
|
|
@@ -494,6 +497,7 @@ export const LOCUSINFO = {
|
|
|
494
497
|
CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',
|
|
495
498
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
|
496
499
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
|
500
|
+
CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
|
|
497
501
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
|
498
502
|
SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
|
|
499
503
|
SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',
|
|
@@ -510,7 +514,9 @@ export const LOCUSINFO = {
|
|
|
510
514
|
MEETING_UNLOCKED: 'MEETING_UNLOCKED',
|
|
511
515
|
SELF_OBSERVING: 'SELF_OBSERVING',
|
|
512
516
|
DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',
|
|
513
|
-
EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED'
|
|
517
|
+
EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED',
|
|
518
|
+
SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
|
|
519
|
+
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
|
|
514
520
|
}
|
|
515
521
|
};
|
|
516
522
|
|
|
@@ -42,13 +42,17 @@ ControlsUtils.parse = (controls) => {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
if (controls && controls.entryExitTone) {
|
|
46
|
+
parsedControls.entryExitTone = controls.entryExitTone.enabled ? controls.entryExitTone.mode : null;
|
|
47
|
+
}
|
|
48
|
+
|
|
45
49
|
return parsedControls;
|
|
46
50
|
};
|
|
47
51
|
|
|
48
52
|
/**
|
|
49
53
|
* parses and returns previous state vs current state and triggers the changes.
|
|
50
|
-
* @param {
|
|
51
|
-
* @param {
|
|
54
|
+
* @param {LocusControls} oldControls previous state
|
|
55
|
+
* @param {LocusControls} newControls current state
|
|
52
56
|
* @returns {Object} combination of state plus the changes
|
|
53
57
|
*/
|
|
54
58
|
ControlsUtils.getControls = (oldControls, newControls) => {
|
|
@@ -74,6 +78,10 @@ ControlsUtils.getControls = (oldControls, newControls) => {
|
|
|
74
78
|
hasTranscribeChanged: current?.transcribe &&
|
|
75
79
|
!isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
|
|
76
80
|
(previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
|
|
81
|
+
|
|
82
|
+
hasEntryExitToneChanged: !!(newControls.entryExitTone &&
|
|
83
|
+
!isEqual(previous?.entryExitTone, current?.entryExitTone) &&
|
|
84
|
+
(previous?.entryExitTone || current?.entryExitTone)),
|
|
77
85
|
}
|
|
78
86
|
};
|
|
79
87
|
};
|
|
@@ -30,11 +30,18 @@ EmbeddedAppsUtils.parseApp = (embeddedApp) => {
|
|
|
30
30
|
* @returns {boolean} true if the arrays are different
|
|
31
31
|
*/
|
|
32
32
|
EmbeddedAppsUtils.areSimilar = (apps1, apps2) => {
|
|
33
|
+
if (!apps1 || !apps2) {
|
|
34
|
+
return apps1 === apps2;
|
|
35
|
+
}
|
|
36
|
+
|
|
33
37
|
if (apps1?.length !== apps2?.length) {
|
|
34
38
|
return false;
|
|
35
39
|
}
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
|
|
41
|
+
for (let i = 0; i < apps1.length; i += 1) {
|
|
42
|
+
if (apps1[i].state !== apps2[i].state) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
38
45
|
}
|
|
39
46
|
|
|
40
47
|
return true;
|
|
@@ -45,7 +52,7 @@ EmbeddedAppsUtils.areSimilar = (apps1, apps2) => {
|
|
|
45
52
|
* @param {array} embeddedApps
|
|
46
53
|
* @returns {array} result - new array of parsed embedded app objects
|
|
47
54
|
*/
|
|
48
|
-
EmbeddedAppsUtils.parse = (embeddedApps) =>
|
|
49
|
-
|
|
55
|
+
EmbeddedAppsUtils.parse = (embeddedApps) =>
|
|
56
|
+
embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);
|
|
50
57
|
|
|
51
58
|
export default EmbeddedAppsUtils;
|