@webex/plugin-meetings 3.8.0-next.24 → 3.8.0-next.26
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 +19 -3
- package/dist/reachability/request.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -21
- package/src/reachability/request.ts +7 -0
- package/test/unit/spec/reachability/request.js +47 -2
package/dist/breakouts/index.js
CHANGED
|
@@ -1046,7 +1046,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
|
1046
1046
|
this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
|
|
1047
1047
|
}
|
|
1048
1048
|
},
|
|
1049
|
-
version: "3.8.0-next.
|
|
1049
|
+
version: "3.8.0-next.26"
|
|
1050
1050
|
});
|
|
1051
1051
|
var _default = exports.default = Breakouts;
|
|
1052
1052
|
//# sourceMappingURL=index.js.map
|
|
@@ -373,7 +373,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
373
373
|
throw error;
|
|
374
374
|
});
|
|
375
375
|
},
|
|
376
|
-
version: "3.8.0-next.
|
|
376
|
+
version: "3.8.0-next.26"
|
|
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.8.0-next.
|
|
21
|
+
version: "3.8.0-next.26"
|
|
22
22
|
});
|
|
23
23
|
var _default = exports.default = SILanguage;
|
|
24
24
|
//# sourceMappingURL=siLanguage.js.map
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
6
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
3
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
9
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
10
|
_Object$defineProperty(exports, "__esModule", {
|
|
@@ -13,6 +18,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
13
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
14
19
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
15
20
|
var _constants = require("../constants");
|
|
21
|
+
function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
23
|
/**
|
|
17
24
|
* @class ReachabilityRequest
|
|
18
25
|
*/
|
|
@@ -35,6 +42,10 @@ function ReachabilityRequest(webex) {
|
|
|
35
42
|
* @returns {Promise}
|
|
36
43
|
*/
|
|
37
44
|
(0, _defineProperty2.default)(this, "getClusters", function (trigger, ipVersion, previousReport) {
|
|
45
|
+
var _this$webex, _this$webex$config, _this$webex$config$su, _this$webex2, _this$webex2$config, _this$webex2$config$s;
|
|
46
|
+
var appType = (_this$webex = _this.webex) === null || _this$webex === void 0 ? void 0 : (_this$webex$config = _this$webex.config) === null || _this$webex$config === void 0 ? void 0 : (_this$webex$config$su = _this$webex$config.support) === null || _this$webex$config$su === void 0 ? void 0 : _this$webex$config$su.appType;
|
|
47
|
+
var appVersion = (_this$webex2 = _this.webex) === null || _this$webex2 === void 0 ? void 0 : (_this$webex2$config = _this$webex2.config) === null || _this$webex2$config === void 0 ? void 0 : (_this$webex2$config$s = _this$webex2$config.support) === null || _this$webex2$config$s === void 0 ? void 0 : _this$webex2$config$s.appVersion;
|
|
48
|
+
|
|
38
49
|
// we only measure latency for the initial startup call, not for other triggers
|
|
39
50
|
var callWrapper = trigger === 'startup' ? _this.webex.internal.newMetrics.callDiagnosticLatencies.measureLatency.bind(_this.webex.internal.newMetrics.callDiagnosticLatencies) : function (func) {
|
|
40
51
|
return func();
|
|
@@ -45,15 +56,20 @@ function ReachabilityRequest(webex) {
|
|
|
45
56
|
shouldRefreshAccessToken: false,
|
|
46
57
|
api: _constants.API.CALLIOPEDISCOVERY,
|
|
47
58
|
resource: _constants.RESOURCE.CLUSTERS,
|
|
48
|
-
body: {
|
|
59
|
+
body: _objectSpread(_objectSpread({
|
|
49
60
|
ipver: ipVersion,
|
|
50
61
|
'supported-options': {
|
|
51
62
|
'report-version': 1,
|
|
52
63
|
'early-call-min-clusters': true
|
|
53
64
|
},
|
|
54
|
-
'previous-report': previousReport
|
|
65
|
+
'previous-report': previousReport
|
|
66
|
+
}, appType && appVersion && {
|
|
67
|
+
'client-environment': {
|
|
68
|
+
components: (0, _defineProperty2.default)({}, appType, appVersion)
|
|
69
|
+
}
|
|
70
|
+
}), {}, {
|
|
55
71
|
trigger: trigger
|
|
56
|
-
},
|
|
72
|
+
}),
|
|
57
73
|
timeout: _this.webex.config.meetings.reachabilityGetClusterTimeout
|
|
58
74
|
});
|
|
59
75
|
}, 'internal.get.cluster.time').then(function (res) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","
|
|
1
|
+
{"version":3,"names":["_loggerProxy","_interopRequireDefault","require","_constants","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ReachabilityRequest","_createClass2","webex","_this","_classCallCheck2","trigger","ipVersion","previousReport","_this$webex","_this$webex$config","_this$webex$config$su","_this$webex2","_this$webex2$config","_this$webex2$config$s","appType","config","support","appVersion","callWrapper","internal","newMetrics","callDiagnosticLatencies","measureLatency","bind","func","request","method","HTTP_VERBS","POST","shouldRefreshAccessToken","api","API","CALLIOPEDISCOVERY","resource","RESOURCE","CLUSTERS","body","ipver","components","timeout","meetings","reachabilityGetClusterTimeout","then","res","_res$body","clusters","joinCookie","discoveryOptions","_keys","key","_res$body$clusterClas","_res$body$clusterClas2","isVideoMesh","clusterClasses","hybridMedia","includes","LoggerProxy","logger","log","concat","_stringify","localSDPList","REACHABILITY","offers","_default","exports"],"sources":["request.ts"],"sourcesContent":["import LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, RESOURCE, API, IP_VERSION} from '../constants';\nimport {GetClustersTrigger} from './reachability.types';\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 {string} trigger that's passed to Orpheus\n * @param {IP_VERSION} ipVersion information about current ip network we're on\n * @param {Object} previousReport last reachability result\n * @returns {Promise}\n */\n getClusters = (\n trigger: GetClustersTrigger,\n ipVersion?: IP_VERSION,\n previousReport?: any\n ): Promise<{\n clusters: ClusterList;\n joinCookie: any;\n discoveryOptions?: Record<string, any>;\n }> => {\n const appType = this.webex?.config?.support?.appType;\n const appVersion = this.webex?.config?.support?.appVersion;\n\n // we only measure latency for the initial startup call, not for other triggers\n const callWrapper =\n trigger === 'startup'\n ? this.webex.internal.newMetrics.callDiagnosticLatencies.measureLatency.bind(\n this.webex.internal.newMetrics.callDiagnosticLatencies\n )\n : (func) => func();\n\n return callWrapper(\n () =>\n this.webex.request({\n method: HTTP_VERBS.POST,\n shouldRefreshAccessToken: false,\n api: API.CALLIOPEDISCOVERY,\n resource: RESOURCE.CLUSTERS,\n body: {\n ipver: ipVersion,\n 'supported-options': {\n 'report-version': 1,\n 'early-call-min-clusters': true,\n },\n 'previous-report': previousReport,\n ...(appType &&\n appVersion && {\n 'client-environment': {components: {[appType]: appVersion}},\n }),\n trigger,\n },\n timeout: this.webex.config.meetings.reachabilityGetClusterTimeout,\n }),\n 'internal.get.cluster.time'\n ).then((res) => {\n const {clusters, joinCookie, discoveryOptions} = 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 discoveryOptions,\n };\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":"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"}
|
package/dist/webinar/index.js
CHANGED
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.8.0-next.
|
|
47
|
-
"@webex/plugin-rooms": "3.8.0-next.
|
|
48
|
-
"@webex/test-helper-chai": "3.8.0-next.
|
|
49
|
-
"@webex/test-helper-mocha": "3.8.0-next.
|
|
50
|
-
"@webex/test-helper-mock-webex": "3.8.0-next.
|
|
51
|
-
"@webex/test-helper-retry": "3.8.0-next.
|
|
52
|
-
"@webex/test-helper-test-users": "3.8.0-next.
|
|
46
|
+
"@webex/plugin-meetings": "3.8.0-next.26",
|
|
47
|
+
"@webex/plugin-rooms": "3.8.0-next.13",
|
|
48
|
+
"@webex/test-helper-chai": "3.8.0-next.11",
|
|
49
|
+
"@webex/test-helper-mocha": "3.8.0-next.11",
|
|
50
|
+
"@webex/test-helper-mock-webex": "3.8.0-next.11",
|
|
51
|
+
"@webex/test-helper-retry": "3.8.0-next.11",
|
|
52
|
+
"@webex/test-helper-test-users": "3.8.0-next.11",
|
|
53
53
|
"chai": "^4.3.4",
|
|
54
54
|
"chai-as-promised": "^7.1.1",
|
|
55
55
|
"eslint": "^8.24.0",
|
|
@@ -61,22 +61,22 @@
|
|
|
61
61
|
"typescript": "^4.7.4"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@webex/common": "3.8.0-next.
|
|
64
|
+
"@webex/common": "3.8.0-next.11",
|
|
65
65
|
"@webex/event-dictionary-ts": "^1.0.1688",
|
|
66
66
|
"@webex/internal-media-core": "2.14.7",
|
|
67
|
-
"@webex/internal-plugin-conversation": "3.8.0-next.
|
|
68
|
-
"@webex/internal-plugin-device": "3.8.0-next.
|
|
69
|
-
"@webex/internal-plugin-llm": "3.8.0-next.
|
|
70
|
-
"@webex/internal-plugin-mercury": "3.8.0-next.
|
|
71
|
-
"@webex/internal-plugin-metrics": "3.8.0-next.
|
|
72
|
-
"@webex/internal-plugin-support": "3.8.0-next.
|
|
73
|
-
"@webex/internal-plugin-user": "3.8.0-next.
|
|
74
|
-
"@webex/internal-plugin-voicea": "3.8.0-next.
|
|
75
|
-
"@webex/media-helpers": "3.8.0-next.
|
|
76
|
-
"@webex/plugin-people": "3.8.0-next.
|
|
77
|
-
"@webex/plugin-rooms": "3.8.0-next.
|
|
67
|
+
"@webex/internal-plugin-conversation": "3.8.0-next.13",
|
|
68
|
+
"@webex/internal-plugin-device": "3.8.0-next.11",
|
|
69
|
+
"@webex/internal-plugin-llm": "3.8.0-next.14",
|
|
70
|
+
"@webex/internal-plugin-mercury": "3.8.0-next.13",
|
|
71
|
+
"@webex/internal-plugin-metrics": "3.8.0-next.11",
|
|
72
|
+
"@webex/internal-plugin-support": "3.8.0-next.13",
|
|
73
|
+
"@webex/internal-plugin-user": "3.8.0-next.11",
|
|
74
|
+
"@webex/internal-plugin-voicea": "3.8.0-next.26",
|
|
75
|
+
"@webex/media-helpers": "3.8.0-next.12",
|
|
76
|
+
"@webex/plugin-people": "3.8.0-next.13",
|
|
77
|
+
"@webex/plugin-rooms": "3.8.0-next.13",
|
|
78
78
|
"@webex/web-capabilities": "^1.4.0",
|
|
79
|
-
"@webex/webex-core": "3.8.0-next.
|
|
79
|
+
"@webex/webex-core": "3.8.0-next.11",
|
|
80
80
|
"ampersand-collection": "^2.0.2",
|
|
81
81
|
"bowser": "^2.11.0",
|
|
82
82
|
"btoa": "^1.2.1",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"//": [
|
|
93
93
|
"TODO: upgrade jwt-decode when moving to node 18"
|
|
94
94
|
],
|
|
95
|
-
"version": "3.8.0-next.
|
|
95
|
+
"version": "3.8.0-next.26"
|
|
96
96
|
}
|
|
@@ -45,6 +45,9 @@ class ReachabilityRequest {
|
|
|
45
45
|
joinCookie: any;
|
|
46
46
|
discoveryOptions?: Record<string, any>;
|
|
47
47
|
}> => {
|
|
48
|
+
const appType = this.webex?.config?.support?.appType;
|
|
49
|
+
const appVersion = this.webex?.config?.support?.appVersion;
|
|
50
|
+
|
|
48
51
|
// we only measure latency for the initial startup call, not for other triggers
|
|
49
52
|
const callWrapper =
|
|
50
53
|
trigger === 'startup'
|
|
@@ -67,6 +70,10 @@ class ReachabilityRequest {
|
|
|
67
70
|
'early-call-min-clusters': true,
|
|
68
71
|
},
|
|
69
72
|
'previous-report': previousReport,
|
|
73
|
+
...(appType &&
|
|
74
|
+
appVersion && {
|
|
75
|
+
'client-environment': {components: {[appType]: appVersion}},
|
|
76
|
+
}),
|
|
70
77
|
trigger,
|
|
71
78
|
},
|
|
72
79
|
timeout: this.webex.config.meetings.reachabilityGetClusterTimeout,
|
|
@@ -12,6 +12,9 @@ describe('plugin-meetings/reachability', () => {
|
|
|
12
12
|
let reachabilityRequest;
|
|
13
13
|
let webex;
|
|
14
14
|
|
|
15
|
+
let appType;
|
|
16
|
+
let appVersion;
|
|
17
|
+
|
|
15
18
|
beforeEach(() => {
|
|
16
19
|
webex = new MockWebex({
|
|
17
20
|
children: {
|
|
@@ -20,6 +23,14 @@ describe('plugin-meetings/reachability', () => {
|
|
|
20
23
|
},
|
|
21
24
|
});
|
|
22
25
|
|
|
26
|
+
webex.config.support = {
|
|
27
|
+
'appType': 'NetworkChecker',
|
|
28
|
+
'appVersion': '43.3.0.1',
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
appType = webex?.config?.support?.appType;
|
|
32
|
+
appVersion = webex?.config?.support?.appVersion;
|
|
33
|
+
|
|
23
34
|
webex.meetings.clientRegion = {
|
|
24
35
|
countryCode: 'US',
|
|
25
36
|
regionCode: 'WEST-COAST',
|
|
@@ -56,7 +67,9 @@ describe('plugin-meetings/reachability', () => {
|
|
|
56
67
|
|
|
57
68
|
previousReport = {
|
|
58
69
|
id: 'fake previous report',
|
|
59
|
-
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
|
|
60
73
|
});
|
|
61
74
|
|
|
62
75
|
afterEach(() => {
|
|
@@ -79,6 +92,7 @@ describe('plugin-meetings/reachability', () => {
|
|
|
79
92
|
'report-version': 1,
|
|
80
93
|
'early-call-min-clusters': true,
|
|
81
94
|
},
|
|
95
|
+
'client-environment': { components: { [appType]: appVersion } },
|
|
82
96
|
'previous-report': previousReport,
|
|
83
97
|
trigger: 'startup',
|
|
84
98
|
},
|
|
@@ -105,6 +119,7 @@ describe('plugin-meetings/reachability', () => {
|
|
|
105
119
|
'report-version': 1,
|
|
106
120
|
'early-call-min-clusters': true,
|
|
107
121
|
},
|
|
122
|
+
'client-environment': { components: { [appType]: appVersion } },
|
|
108
123
|
'previous-report': previousReport,
|
|
109
124
|
trigger: 'early-call/no-min-reached',
|
|
110
125
|
},
|
|
@@ -114,5 +129,35 @@ describe('plugin-meetings/reachability', () => {
|
|
|
114
129
|
assert.deepEqual(res.joinCookie, {anycastEntryPoint: "aws-eu-west-1"})
|
|
115
130
|
assert.notCalled(webex.internal.newMetrics.callDiagnosticLatencies.measureLatency);
|
|
116
131
|
});
|
|
132
|
+
|
|
133
|
+
it('sends a POST request with the correct params when appVersion is undefined', async () => {
|
|
134
|
+
// Setting appType & appVersion to undefined
|
|
135
|
+
webex.config.support.appType = undefined;
|
|
136
|
+
webex.config.support.appVersion = undefined;
|
|
137
|
+
|
|
138
|
+
const res = await reachabilityRequest.getClusters('startup', IP_VERSION.only_ipv4, previousReport);
|
|
139
|
+
const requestParams = webex.request.getCall(0).args[0];
|
|
140
|
+
|
|
141
|
+
assert.deepEqual(requestParams, {
|
|
142
|
+
method: 'POST',
|
|
143
|
+
resource: `clusters`,
|
|
144
|
+
api: 'calliopeDiscovery',
|
|
145
|
+
shouldRefreshAccessToken: false,
|
|
146
|
+
timeout: 3000,
|
|
147
|
+
body: {
|
|
148
|
+
ipver: IP_VERSION.only_ipv4,
|
|
149
|
+
'supported-options': {
|
|
150
|
+
'report-version': 1,
|
|
151
|
+
'early-call-min-clusters': true,
|
|
152
|
+
},
|
|
153
|
+
'previous-report': previousReport,
|
|
154
|
+
trigger: 'startup',
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
assert.deepEqual(res.clusters.clusterId, {udp: "testUDP", isVideoMesh: true});
|
|
159
|
+
assert.deepEqual(res.joinCookie, {anycastEntryPoint: "aws-eu-west-1"});
|
|
160
|
+
assert.calledOnceWithExactly(webex.internal.newMetrics.callDiagnosticLatencies.measureLatency, sinon.match.func, 'internal.get.cluster.time');
|
|
161
|
+
});
|
|
117
162
|
});
|
|
118
|
-
});
|
|
163
|
+
});
|