@webex/plugin-meetings 3.0.0-next.17 → 3.0.0-next.18
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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/reachability/request.js +12 -10
- package/dist/reachability/request.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/reachability/request.ts +15 -11
- package/test/unit/spec/reachability/request.js +15 -7
package/dist/breakouts/index.js
CHANGED
|
@@ -1041,7 +1041,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
1041
1041
|
this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
|
|
1042
1042
|
}
|
|
1043
1043
|
},
|
|
1044
|
-
version: "3.0.0-next.
|
|
1044
|
+
version: "3.0.0-next.18"
|
|
1045
1045
|
});
|
|
1046
1046
|
var _default = exports.default = Breakouts;
|
|
1047
1047
|
//# sourceMappingURL=index.js.map
|
|
@@ -373,7 +373,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
373
373
|
throw error;
|
|
374
374
|
});
|
|
375
375
|
},
|
|
376
|
-
version: "3.0.0-next.
|
|
376
|
+
version: "3.0.0-next.18"
|
|
377
377
|
});
|
|
378
378
|
var _default = exports.default = SimultaneousInterpretation;
|
|
379
379
|
//# sourceMappingURL=index.js.map
|
|
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
|
|
|
18
18
|
languageCode: 'number',
|
|
19
19
|
languageName: 'string'
|
|
20
20
|
},
|
|
21
|
-
version: "3.0.0-next.
|
|
21
|
+
version: "3.0.0-next.18"
|
|
22
22
|
});
|
|
23
23
|
var _default = exports.default = SILanguage;
|
|
24
24
|
//# sourceMappingURL=siLanguage.js.map
|
|
@@ -33,16 +33,18 @@ function ReachabilityRequest(webex) {
|
|
|
33
33
|
* @returns {Promise}
|
|
34
34
|
*/
|
|
35
35
|
(0, _defineProperty2.default)(this, "getClusters", function (ipVersion) {
|
|
36
|
-
return _this.webex.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
return _this.webex.internal.newMetrics.callDiagnosticLatencies.measureLatency(function () {
|
|
37
|
+
return _this.webex.request({
|
|
38
|
+
method: _constants.HTTP_VERBS.GET,
|
|
39
|
+
shouldRefreshAccessToken: false,
|
|
40
|
+
api: _constants.API.CALLIOPEDISCOVERY,
|
|
41
|
+
resource: _constants.RESOURCE.CLUSTERS,
|
|
42
|
+
qs: {
|
|
43
|
+
JCSupport: 1,
|
|
44
|
+
ipver: ipVersion
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}, 'internal.get.cluster.time').then(function (res) {
|
|
46
48
|
var _res$body = res.body,
|
|
47
49
|
clusters = _res$body.clusters,
|
|
48
50
|
joinCookie = _res$body.joinCookie;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","ReachabilityRequest","_createClass2","default","webex","_this","_classCallCheck2","_defineProperty2","ipVersion","request","method","HTTP_VERBS","GET","shouldRefreshAccessToken","api","API","CALLIOPEDISCOVERY","resource","RESOURCE","CLUSTERS","qs","JCSupport","ipver","then","res","_res$body","body","clusters","joinCookie","_keys","forEach","key","_res$body$clusterClas","_res$body$clusterClas2","isVideoMesh","clusterClasses","hybridMedia","includes","LoggerProxy","logger","log","concat","_stringify","localSDPList","POST","REACHABILITY","offers","_default","exports"],"sources":["request.ts"],"sourcesContent":["import LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, RESOURCE, API, IP_VERSION} from '../constants';\n\nexport interface ClusterNode {\n isVideoMesh: boolean;\n udp: Array<string>;\n tcp: Array<string>;\n xtls: Array<string>;\n}\n\nexport type ClusterList = {\n [key: string]: ClusterNode;\n};\n\n/**\n * @class ReachabilityRequest\n */\nclass ReachabilityRequest {\n webex: any;\n\n /**\n * Creates an instance of ReachabilityRequest.\n * @param {object} webex\n * @memberof ReachabilityRequest\n */\n constructor(webex: object) {\n this.webex = webex;\n }\n\n /**\n * Gets the cluster information\n *\n * @param {IP_VERSION} ipVersion information about current ip network we're on\n * @returns {Promise}\n */\n getClusters = (ipVersion?: IP_VERSION): Promise<{clusters: ClusterList; joinCookie: any}> =>\n this.webex\n .request({\n
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","ReachabilityRequest","_createClass2","default","webex","_this","_classCallCheck2","_defineProperty2","ipVersion","internal","newMetrics","callDiagnosticLatencies","measureLatency","request","method","HTTP_VERBS","GET","shouldRefreshAccessToken","api","API","CALLIOPEDISCOVERY","resource","RESOURCE","CLUSTERS","qs","JCSupport","ipver","then","res","_res$body","body","clusters","joinCookie","_keys","forEach","key","_res$body$clusterClas","_res$body$clusterClas2","isVideoMesh","clusterClasses","hybridMedia","includes","LoggerProxy","logger","log","concat","_stringify","localSDPList","POST","REACHABILITY","offers","_default","exports"],"sources":["request.ts"],"sourcesContent":["import LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, RESOURCE, API, IP_VERSION} from '../constants';\n\nexport interface ClusterNode {\n isVideoMesh: boolean;\n udp: Array<string>;\n tcp: Array<string>;\n xtls: Array<string>;\n}\n\nexport type ClusterList = {\n [key: string]: ClusterNode;\n};\n\n/**\n * @class ReachabilityRequest\n */\nclass ReachabilityRequest {\n webex: any;\n\n /**\n * Creates an instance of ReachabilityRequest.\n * @param {object} webex\n * @memberof ReachabilityRequest\n */\n constructor(webex: object) {\n this.webex = webex;\n }\n\n /**\n * Gets the cluster information\n *\n * @param {IP_VERSION} ipVersion information about current ip network we're on\n * @returns {Promise}\n */\n getClusters = (ipVersion?: IP_VERSION): Promise<{clusters: ClusterList; joinCookie: any}> =>\n this.webex.internal.newMetrics.callDiagnosticLatencies\n .measureLatency(\n () =>\n this.webex.request({\n method: HTTP_VERBS.GET,\n shouldRefreshAccessToken: false,\n api: API.CALLIOPEDISCOVERY,\n resource: RESOURCE.CLUSTERS,\n qs: {\n JCSupport: 1,\n ipver: ipVersion,\n },\n }),\n 'internal.get.cluster.time'\n )\n .then((res) => {\n const {clusters, joinCookie} = res.body;\n\n Object.keys(clusters).forEach((key) => {\n clusters[key].isVideoMesh = !!res.body.clusterClasses?.hybridMedia?.includes(key);\n });\n\n LoggerProxy.logger.log(\n `Reachability:request#getClusters --> get clusters (ipver=${ipVersion}) successful:${JSON.stringify(\n clusters\n )}`\n );\n\n return {\n clusters,\n joinCookie,\n };\n });\n\n /**\n * gets remote SDP For Clusters\n * @param {Object} localSDPList localSDPs for the cluster\n * @returns {Object}\n */\n remoteSDPForClusters = (localSDPList: object) =>\n this.webex\n .request({\n method: HTTP_VERBS.POST,\n shouldRefreshAccessToken: false,\n api: API.CALLIOPEDISCOVERY,\n resource: RESOURCE.REACHABILITY,\n body: {offers: localSDPList},\n })\n .then((res) => {\n LoggerProxy.logger.log(\n 'Reachability:request#remoteSDPForClusters --> Remote SDPs got succcessfully'\n );\n\n return res.body;\n });\n}\n\nexport default ReachabilityRequest;\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAaA;AACA;AACA;AAFA,IAGME,mBAAmB,oBAAAC,aAAA,CAAAC,OAAA;AAGvB;AACF;AACA;AACA;AACA;AACE,SAAAF,oBAAYG,KAAa,EAAE;EAAA,IAAAC,KAAA;EAAA,IAAAC,gBAAA,CAAAH,OAAA,QAAAF,mBAAA;EAAA,IAAAM,gBAAA,CAAAJ,OAAA;EAI3B;AACF;AACA;AACA;AACA;AACA;EALE,IAAAI,gBAAA,CAAAJ,OAAA,uBAMc,UAACK,SAAsB;IAAA,OACnCH,KAAI,CAACD,KAAK,CAACK,QAAQ,CAACC,UAAU,CAACC,uBAAuB,CACnDC,cAAc,CACb;MAAA,OACEP,KAAI,CAACD,KAAK,CAACS,OAAO,CAAC;QACjBC,MAAM,EAAEC,qBAAU,CAACC,GAAG;QACtBC,wBAAwB,EAAE,KAAK;QAC/BC,GAAG,EAAEC,cAAG,CAACC,iBAAiB;QAC1BC,QAAQ,EAAEC,mBAAQ,CAACC,QAAQ;QAC3BC,EAAE,EAAE;UACFC,SAAS,EAAE,CAAC;UACZC,KAAK,EAAElB;QACT;MACF,CAAC,CAAC;IAAA,GACJ,2BACF,CAAC,CACAmB,IAAI,CAAC,UAACC,GAAG,EAAK;MACb,IAAAC,SAAA,GAA+BD,GAAG,CAACE,IAAI;QAAhCC,QAAQ,GAAAF,SAAA,CAARE,QAAQ;QAAEC,UAAU,GAAAH,SAAA,CAAVG,UAAU;MAE3B,IAAAC,KAAA,CAAA9B,OAAA,EAAY4B,QAAQ,CAAC,CAACG,OAAO,CAAC,UAACC,GAAG,EAAK;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QACrCN,QAAQ,CAACI,GAAG,CAAC,CAACG,WAAW,GAAG,CAAC,GAAAF,qBAAA,GAACR,GAAG,CAACE,IAAI,CAACS,cAAc,cAAAH,qBAAA,gBAAAC,sBAAA,GAAvBD,qBAAA,CAAyBI,WAAW,cAAAH,sBAAA,eAApCA,sBAAA,CAAsCI,QAAQ,CAACN,GAAG,CAAC;MACnF,CAAC,CAAC;MAEFO,oBAAW,CAACC,MAAM,CAACC,GAAG,6DAAAC,MAAA,CACwCrC,SAAS,mBAAAqC,MAAA,CAAgB,IAAAC,UAAA,CAAA3C,OAAA,EACnF4B,QACF,CAAC,CACH,CAAC;MAED,OAAO;QACLA,QAAQ,EAARA,QAAQ;QACRC,UAAU,EAAVA;MACF,CAAC;IACH,CAAC,CAAC;EAAA;EAEN;AACF;AACA;AACA;AACA;EAJE,IAAAzB,gBAAA,CAAAJ,OAAA,gCAKuB,UAAC4C,YAAoB;IAAA,OAC1C1C,KAAI,CAACD,KAAK,CACPS,OAAO,CAAC;MACPC,MAAM,EAAEC,qBAAU,CAACiC,IAAI;MACvB/B,wBAAwB,EAAE,KAAK;MAC/BC,GAAG,EAAEC,cAAG,CAACC,iBAAiB;MAC1BC,QAAQ,EAAEC,mBAAQ,CAAC2B,YAAY;MAC/BnB,IAAI,EAAE;QAACoB,MAAM,EAAEH;MAAY;IAC7B,CAAC,CAAC,CACDpB,IAAI,CAAC,UAACC,GAAG,EAAK;MACbc,oBAAW,CAACC,MAAM,CAACC,GAAG,CACpB,6EACF,CAAC;MAED,OAAOhB,GAAG,CAACE,IAAI;IACjB,CAAC,CAAC;EAAA;EAhEJ,IAAI,CAAC1B,KAAK,GAAGA,KAAK;AACpB,CAAC;AAAA,IAAA+C,QAAA,GAAAC,OAAA,CAAAjD,OAAA,GAkEYF,mBAAmB"}
|
package/dist/webinar/index.js
CHANGED
|
@@ -62,7 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
|
|
|
62
62
|
updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
|
|
63
63
|
this.set('canManageWebcast', canManageWebcast);
|
|
64
64
|
},
|
|
65
|
-
version: "3.0.0-next.
|
|
65
|
+
version: "3.0.0-next.18"
|
|
66
66
|
});
|
|
67
67
|
var _default = exports.default = Webinar;
|
|
68
68
|
//# sourceMappingURL=index.js.map
|
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.0.0-next.
|
|
47
|
-
"@webex/plugin-rooms": "3.0.0-next.
|
|
48
|
-
"@webex/test-helper-chai": "3.0.0-next.
|
|
49
|
-
"@webex/test-helper-mocha": "3.0.0-next.
|
|
50
|
-
"@webex/test-helper-mock-webex": "3.0.0-next.
|
|
51
|
-
"@webex/test-helper-retry": "3.0.0-next.
|
|
52
|
-
"@webex/test-helper-test-users": "3.0.0-next.
|
|
46
|
+
"@webex/plugin-meetings": "3.0.0-next.18",
|
|
47
|
+
"@webex/plugin-rooms": "3.0.0-next.12",
|
|
48
|
+
"@webex/test-helper-chai": "3.0.0-next.10",
|
|
49
|
+
"@webex/test-helper-mocha": "3.0.0-next.10",
|
|
50
|
+
"@webex/test-helper-mock-webex": "3.0.0-next.10",
|
|
51
|
+
"@webex/test-helper-retry": "3.0.0-next.10",
|
|
52
|
+
"@webex/test-helper-test-users": "3.0.0-next.10",
|
|
53
53
|
"chai": "^4.3.4",
|
|
54
54
|
"chai-as-promised": "^7.1.1",
|
|
55
55
|
"eslint": "^8.24.0",
|
|
@@ -61,20 +61,20 @@
|
|
|
61
61
|
"typescript": "^4.7.4"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@webex/common": "3.0.0-next.
|
|
65
|
-
"@webex/internal-media-core": "2.3.
|
|
66
|
-
"@webex/internal-plugin-conversation": "3.0.0-next.
|
|
67
|
-
"@webex/internal-plugin-device": "3.0.0-next.
|
|
68
|
-
"@webex/internal-plugin-llm": "3.0.0-next.
|
|
69
|
-
"@webex/internal-plugin-mercury": "3.0.0-next.
|
|
70
|
-
"@webex/internal-plugin-metrics": "3.0.0-next.
|
|
71
|
-
"@webex/internal-plugin-support": "3.0.0-next.
|
|
72
|
-
"@webex/internal-plugin-user": "3.0.0-next.
|
|
73
|
-
"@webex/internal-plugin-voicea": "3.0.0-next.
|
|
74
|
-
"@webex/media-helpers": "3.0.1-next.
|
|
75
|
-
"@webex/plugin-people": "3.0.0-next.
|
|
76
|
-
"@webex/plugin-rooms": "3.0.0-next.
|
|
77
|
-
"@webex/webex-core": "3.0.0-next.
|
|
64
|
+
"@webex/common": "3.0.0-next.10",
|
|
65
|
+
"@webex/internal-media-core": "2.3.3",
|
|
66
|
+
"@webex/internal-plugin-conversation": "3.0.0-next.12",
|
|
67
|
+
"@webex/internal-plugin-device": "3.0.0-next.10",
|
|
68
|
+
"@webex/internal-plugin-llm": "3.0.0-next.12",
|
|
69
|
+
"@webex/internal-plugin-mercury": "3.0.0-next.12",
|
|
70
|
+
"@webex/internal-plugin-metrics": "3.0.0-next.10",
|
|
71
|
+
"@webex/internal-plugin-support": "3.0.0-next.12",
|
|
72
|
+
"@webex/internal-plugin-user": "3.0.0-next.10",
|
|
73
|
+
"@webex/internal-plugin-voicea": "3.0.0-next.18",
|
|
74
|
+
"@webex/media-helpers": "3.0.1-next.11",
|
|
75
|
+
"@webex/plugin-people": "3.0.0-next.12",
|
|
76
|
+
"@webex/plugin-rooms": "3.0.0-next.12",
|
|
77
|
+
"@webex/webex-core": "3.0.0-next.10",
|
|
78
78
|
"ampersand-collection": "^2.0.2",
|
|
79
79
|
"bowser": "^2.11.0",
|
|
80
80
|
"btoa": "^1.2.1",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"//": [
|
|
92
92
|
"TODO: upgrade jwt-decode when moving to node 18"
|
|
93
93
|
],
|
|
94
|
-
"version": "3.0.0-next.
|
|
94
|
+
"version": "3.0.0-next.18"
|
|
95
95
|
}
|
|
@@ -34,17 +34,21 @@ class ReachabilityRequest {
|
|
|
34
34
|
* @returns {Promise}
|
|
35
35
|
*/
|
|
36
36
|
getClusters = (ipVersion?: IP_VERSION): Promise<{clusters: ClusterList; joinCookie: any}> =>
|
|
37
|
-
this.webex
|
|
38
|
-
.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
37
|
+
this.webex.internal.newMetrics.callDiagnosticLatencies
|
|
38
|
+
.measureLatency(
|
|
39
|
+
() =>
|
|
40
|
+
this.webex.request({
|
|
41
|
+
method: HTTP_VERBS.GET,
|
|
42
|
+
shouldRefreshAccessToken: false,
|
|
43
|
+
api: API.CALLIOPEDISCOVERY,
|
|
44
|
+
resource: RESOURCE.CLUSTERS,
|
|
45
|
+
qs: {
|
|
46
|
+
JCSupport: 1,
|
|
47
|
+
ipver: ipVersion,
|
|
48
|
+
},
|
|
49
|
+
}),
|
|
50
|
+
'internal.get.cluster.time'
|
|
51
|
+
)
|
|
48
52
|
.then((res) => {
|
|
49
53
|
const {clusters, joinCookie} = res.body;
|
|
50
54
|
|
|
@@ -4,6 +4,7 @@ import MockWebex from '@webex/test-helper-mock-webex';
|
|
|
4
4
|
import Meetings from '@webex/plugin-meetings';
|
|
5
5
|
import ReachabilityRequest from '@webex/plugin-meetings/src/reachability/request';
|
|
6
6
|
import {IP_VERSION} from '@webex/plugin-meetings/src/constants';
|
|
7
|
+
import {NewMetrics} from '@webex/internal-plugin-metrics';
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
describe('plugin-meetings/reachability', () => {
|
|
@@ -14,6 +15,7 @@ describe('plugin-meetings/reachability', () => {
|
|
|
14
15
|
webex = new MockWebex({
|
|
15
16
|
children: {
|
|
16
17
|
meetings: Meetings,
|
|
18
|
+
newMetrics: NewMetrics
|
|
17
19
|
},
|
|
18
20
|
});
|
|
19
21
|
|
|
@@ -22,19 +24,25 @@ describe('plugin-meetings/reachability', () => {
|
|
|
22
24
|
regionCode: 'WEST-COAST',
|
|
23
25
|
};
|
|
24
26
|
|
|
25
|
-
webex.internal = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
waitForCatalog: sinon.mock().returns(Promise.resolve({})),
|
|
29
|
-
},
|
|
27
|
+
webex.internal.services = {
|
|
28
|
+
get: sinon.mock().returns('locusUrl'),
|
|
29
|
+
waitForCatalog: sinon.mock().returns(Promise.resolve({})),
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
|
|
33
32
|
reachabilityRequest = new ReachabilityRequest(webex);
|
|
34
33
|
|
|
35
34
|
});
|
|
36
35
|
|
|
37
36
|
describe('#getClusters', () => {
|
|
37
|
+
|
|
38
|
+
beforeEach(() => {
|
|
39
|
+
sinon.spy(webex.internal.newMetrics.callDiagnosticLatencies, 'measureLatency');
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
afterEach(() => {
|
|
43
|
+
sinon.restore();
|
|
44
|
+
});
|
|
45
|
+
|
|
38
46
|
it('sends a GET request with the correct params', async () => {
|
|
39
47
|
webex.request = sinon.mock().returns(Promise.resolve({
|
|
40
48
|
body: {
|
|
@@ -49,7 +57,6 @@ describe('plugin-meetings/reachability', () => {
|
|
|
49
57
|
}));
|
|
50
58
|
|
|
51
59
|
const res = await reachabilityRequest.getClusters(IP_VERSION.only_ipv4);
|
|
52
|
-
|
|
53
60
|
const requestParams = webex.request.getCall(0).args[0];
|
|
54
61
|
|
|
55
62
|
assert.equal(requestParams.method, 'GET');
|
|
@@ -63,6 +70,7 @@ describe('plugin-meetings/reachability', () => {
|
|
|
63
70
|
});
|
|
64
71
|
assert.deepEqual(res.clusters.clusterId, {udp: "testUDP", isVideoMesh: true})
|
|
65
72
|
assert.deepEqual(res.joinCookie, {anycastEntryPoint: "aws-eu-west-1"})
|
|
73
|
+
assert.calledOnceWithExactly(webex.internal.newMetrics.callDiagnosticLatencies.measureLatency, sinon.match.func, 'internal.get.cluster.time');
|
|
66
74
|
});
|
|
67
75
|
});
|
|
68
76
|
});
|