@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.
- package/README.md +2 -1
- package/dist/common/collection.js +1 -1
- package/dist/common/collection.js.map +1 -1
- package/dist/meeting/index.js +2 -1
- package/dist/meeting/index.js.map +1 -1
- package/dist/metrics/index.js +4 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/peer-connection-manager/index.js +3 -3
- package/dist/peer-connection-manager/index.js.map +1 -1
- package/internal-README.md +18 -9
- package/package.json +59 -41
- package/src/common/collection.ts +1 -1
- package/src/meeting/index.js +1 -1
- package/src/metrics/index.js +3 -0
- package/src/peer-connection-manager/index.js +3 -3
- package/test/integration/spec/journey.js +2 -0
- package/test/integration/spec/space-meeting.js +1 -1
- package/test/unit/spec/meeting/index.js +3 -1
- package/test/.eslintrc.json +0 -6
- package/test/unit/spec/reachability/request.ts +0 -84
package/src/meeting/index.js
CHANGED
|
@@ -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');
|
package/src/metrics/index.js
CHANGED
|
@@ -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
|
|
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
|
-
*
|
|
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
|
|
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) {
|
|
@@ -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);
|
package/test/.eslintrc.json
DELETED
|
@@ -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
|
-
|