@webex/plugin-meetings 2.29.3 → 2.29.5

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.
@@ -3510,7 +3510,7 @@ export default class Meeting extends StatelessWebexPlugin {
3510
3510
  Metrics.postEvent({
3511
3511
  event: eventType.CALL_INITIATED,
3512
3512
  meeting: this,
3513
- data: {trigger: trigger.USER_INTERACTION}
3513
+ data: {trigger: trigger.USER_INTERACTION, isRoapCallEnabled: true}
3514
3514
  });
3515
3515
 
3516
3516
  LoggerProxy.logger.log('Meeting:index#join --> Joining a meeting');
@@ -237,6 +237,9 @@ class Metrics {
237
237
  if (options.joinTimes) {
238
238
  payload.event.joinTimes = options.joinTimes;
239
239
  }
240
+ if (options.isRoapCallEnabled) {
241
+ payload.event.isRoapCallEnabled = options.isRoapCallEnabled;
242
+ }
240
243
  }
241
244
 
242
245
  return payload;
@@ -121,7 +121,7 @@ const isSdpInvalid = (sdp) => {
121
121
 
122
122
  for (const mediaLine of parsedSdp.media) {
123
123
  if (!mediaLine.candidates || mediaLine.candidates?.length === 0) {
124
- LoggerProxy.logger.error('PeerConnectionManager:index#isSdpInvalid --> iceCandidate: Ice candadate never completed');
124
+ LoggerProxy.logger.error('PeerConnectionManager:index#isSdpInvalid --> iceCandidate: Ice candidate never completed');
125
125
 
126
126
  return 'iceCandidate: Ice gathering never completed';
127
127
  }
@@ -378,7 +378,7 @@ pc.setRemoteSessionDetails = (
378
378
  };
379
379
 
380
380
  /**
381
- * create offer with a valid paramater
381
+ * Create offer with a valid parameter
382
382
  * @param {Object} peerConnection
383
383
  * @param {Object} meetingProperties
384
384
  * @param {string} meetingProperties.meetingId
@@ -403,7 +403,7 @@ pc.createOffer = (peerConnection, {
403
403
  .createOffer()
404
404
  .then((description) => {
405
405
  // bug https://bugs.chromium.org/p/chromium/issues/detail?id=1020642
406
- // chrome currently generates RTX line irrespective of weither the server side supports it
406
+ // chrome currently generates RTX line irrespective of whether the server side supports it
407
407
  // we are removing apt as well because its associated with rtx line
408
408
 
409
409
  if (!enableRtx) {
@@ -1,4 +1,6 @@
1
1
  /* globals navigator */
2
+ /* eslint prefer-arrow-callback: 0 */
3
+
2
4
  import {assert} from '@webex/test-helper-chai';
3
5
  import {skipInNode} from '@webex/test-helper-mocha';
4
6
  import sinon from 'sinon';
@@ -1,4 +1,4 @@
1
-
1
+ /* eslint prefer-arrow-callback: 0 */
2
2
  import {assert} from '@webex/test-helper-chai';
3
3
  import {skipInNode, jenkinsOnly} from '@webex/test-helper-mocha';
4
4
  import {patterns} from '@webex/common';
@@ -41,7 +41,7 @@ import LoggerConfig from '@webex/plugin-meetings/src/common/logs/logger-config';
41
41
  import TriggerProxy from '@webex/plugin-meetings/src/common/events/trigger-proxy';
42
42
  import BrowserDetection from '@webex/plugin-meetings/src/common/browser-detection';
43
43
  import Metrics from '@webex/plugin-meetings/src/metrics';
44
- import {eventType} from '@webex/plugin-meetings/src/metrics/config';
44
+ import {trigger, eventType} from '@webex/plugin-meetings/src/metrics/config';
45
45
  import BEHAVIORAL_METRICS from '@webex/plugin-meetings/src/metrics/constants';
46
46
 
47
47
  import locus from '../fixture/locus';
@@ -783,6 +783,8 @@ describe('plugin-meetings', () => {
783
783
  it('should join the meeting and return promise', async () => {
784
784
  const join = meeting.join();
785
785
 
786
+ assert.calledWithMatch(Metrics.postEvent, {event: eventType.CALL_INITIATED, data: {trigger: trigger.USER_INTERACTION, isRoapCallEnabled: true}});
787
+
786
788
  assert.exists(join.then);
787
789
  await join;
788
790
  assert.calledOnce(MeetingUtil.joinMeeting);
@@ -1,6 +0,0 @@
1
- {
2
- "rules": {
3
- "no-underscore-dangle": "off",
4
- "prefer-arrow-callback": "off"
5
- }
6
- }
@@ -1,84 +0,0 @@
1
-
2
- import {assert} from '@webex/test-helper-chai';
3
- import sinon from 'sinon';
4
- import ReachabilityRequest from '@webex/plugin-meetings/src/reachability/request';
5
-
6
- describe('ReachabilityRequest', () => {
7
- let webex;
8
- let reachabilityRequest;
9
-
10
- const VIDEO_MESH_NODE_0 = '111-222-333-some-vmn';
11
- const VIDEO_MESH_NODE_1 = '444-555-666-some-vmn';
12
-
13
- const CLOUD_NODE_0 = 'some-public-node-1.somewhere';
14
- const CLOUD_NODE_1 = 'some-public-node-2.somewhere';
15
-
16
- const vmnClusterUrls = [{
17
- tcp: ['some vmn node 0 tcp url', 'another vmn node 0 tcp url'],
18
- udp: ['some vmn node 0 udp url', 'another vmn node 0 udp url']
19
- }, {
20
- tcp: ['some vmn node 1 tcp url', 'another vmn node 1 tcp url'],
21
- udp: ['some vmn node 1 udp url', 'another vmn node 1 udp url']
22
- }
23
- ];
24
-
25
- const cloudClusterUrls = [{
26
- tcp: ['some public node 0 tcp url', 'another public node 0 tcp url'],
27
- udp: ['some public node 0 udp url', 'another public node 0 udp url']
28
- }, {
29
- tcp: ['some public node 1 tcp url', 'another public node 1 tcp url'],
30
- udp: ['some public node 1 udp url', 'another public node 1 udp url']
31
- }
32
- ];
33
-
34
- beforeEach(() => {
35
- webex = {
36
- request: sinon.stub()
37
- };
38
- reachabilityRequest = new ReachabilityRequest(webex);
39
- });
40
-
41
- describe('getClusters', () => {
42
- beforeEach(() => {
43
- webex.request = sinon.fake.resolves({
44
- body: {
45
- clusterClasses: {
46
- ocpCloud: [],
47
- publicCloud: [],
48
- hybridMedia: [VIDEO_MESH_NODE_0, VIDEO_MESH_NODE_1]
49
- },
50
- clusters: {
51
- [VIDEO_MESH_NODE_0]: vmnClusterUrls[0],
52
- [VIDEO_MESH_NODE_1]: vmnClusterUrls[1],
53
- [CLOUD_NODE_0]: cloudClusterUrls[0],
54
- [CLOUD_NODE_1]: cloudClusterUrls[1],
55
- }
56
- }
57
- });
58
- });
59
-
60
- it('marks video mesh clusters correctly', async () => {
61
- const clusters = await reachabilityRequest.getClusters(false);
62
-
63
- assert.deepEqual(clusters, {
64
- [VIDEO_MESH_NODE_0]: {
65
- ...vmnClusterUrls[0],
66
- isVideoMesh: true,
67
- },
68
- [VIDEO_MESH_NODE_1]: {
69
- ...vmnClusterUrls[1],
70
- isVideoMesh: true,
71
- },
72
- [CLOUD_NODE_0]: {
73
- ...cloudClusterUrls[0],
74
- isVideoMesh: false,
75
- },
76
- [CLOUD_NODE_1]: {
77
- ...cloudClusterUrls[1],
78
- isVideoMesh: false,
79
- },
80
- });
81
- });
82
- });
83
- });
84
-