@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "2.30.1",
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.30.1",
28
- "@webex/test-helper-chai": "2.30.1",
29
- "@webex/test-helper-mocha": "2.30.1",
30
- "@webex/test-helper-mock-webex": "2.30.1",
31
- "@webex/test-helper-retry": "2.30.1",
32
- "@webex/test-helper-test-users": "2.30.1",
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.30.1",
39
+ "@webex/common": "2.31.0",
40
40
  "@webex/internal-media-core": "^0.0.7-beta",
41
- "@webex/internal-plugin-conversation": "2.30.1",
42
- "@webex/internal-plugin-device": "2.30.1",
43
- "@webex/internal-plugin-mercury": "2.30.1",
44
- "@webex/internal-plugin-metrics": "2.30.1",
45
- "@webex/internal-plugin-support": "2.30.1",
46
- "@webex/internal-plugin-user": "2.30.1",
47
- "@webex/plugin-people": "2.30.1",
48
- "@webex/plugin-rooms": "2.30.1",
49
- "@webex/webex-core": "2.30.1",
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 {LocusControl} oldControls previous state
51
- * @param {LocusControl} newControls current state
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
- if (apps1?.[0]?.state !== apps2?.[0]?.state) {
37
- return false;
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) => embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);
49
-
55
+ EmbeddedAppsUtils.parse = (embeddedApps) =>
56
+ embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);
50
57
 
51
58
  export default EmbeddedAppsUtils;