@webex/plugin-meetings 3.4.0-next.17 → 3.4.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/meeting/index.js +34 -1
- package/dist/meeting/index.js.map +1 -1
- package/dist/types/meeting/index.d.ts +7 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/meeting/index.ts +23 -0
- package/test/unit/spec/meeting/index.js +5 -0
|
@@ -333,6 +333,7 @@ type FetchMeetingInfoParams = {
|
|
|
333
333
|
* @class Meeting
|
|
334
334
|
*/
|
|
335
335
|
export default class Meeting extends StatelessWebexPlugin {
|
|
336
|
+
#private;
|
|
336
337
|
attrs: any;
|
|
337
338
|
audio: any;
|
|
338
339
|
breakouts: any;
|
|
@@ -487,6 +488,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
487
488
|
* @param {string} correlationId
|
|
488
489
|
*/
|
|
489
490
|
set correlationId(correlationId: string);
|
|
491
|
+
/**
|
|
492
|
+
* Getter - Returns isoLocalClientMeetingJoinTime
|
|
493
|
+
* This will be set once on meeting join, and not updated again
|
|
494
|
+
* @returns {string | undefined}
|
|
495
|
+
*/
|
|
496
|
+
get isoLocalClientMeetingJoinTime(): string | undefined;
|
|
490
497
|
/**
|
|
491
498
|
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
|
492
499
|
* @param {any} info
|
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.4.0-next.
|
|
65
|
+
version: "3.4.0-next.18"
|
|
66
66
|
});
|
|
67
67
|
var _default = exports.default = Webinar;
|
|
68
68
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
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.4.0-next.
|
|
46
|
+
"@webex/plugin-meetings": "3.4.0-next.18",
|
|
47
47
|
"@webex/plugin-rooms": "3.4.0-next.6",
|
|
48
48
|
"@webex/test-helper-chai": "3.4.0-next.6",
|
|
49
49
|
"@webex/test-helper-mocha": "3.4.0-next.6",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@webex/internal-plugin-metrics": "3.4.0-next.6",
|
|
71
71
|
"@webex/internal-plugin-support": "3.4.0-next.6",
|
|
72
72
|
"@webex/internal-plugin-user": "3.4.0-next.6",
|
|
73
|
-
"@webex/internal-plugin-voicea": "3.4.0-next.
|
|
73
|
+
"@webex/internal-plugin-voicea": "3.4.0-next.18",
|
|
74
74
|
"@webex/media-helpers": "3.4.0-next.9",
|
|
75
75
|
"@webex/plugin-people": "3.4.0-next.6",
|
|
76
76
|
"@webex/plugin-rooms": "3.4.0-next.6",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"//": [
|
|
92
92
|
"TODO: upgrade jwt-decode when moving to node 18"
|
|
93
93
|
],
|
|
94
|
-
"version": "3.4.0-next.
|
|
94
|
+
"version": "3.4.0-next.18"
|
|
95
95
|
}
|
package/src/meeting/index.ts
CHANGED
|
@@ -538,6 +538,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
538
538
|
id: string;
|
|
539
539
|
isMultistream: boolean;
|
|
540
540
|
locusUrl: string;
|
|
541
|
+
#isoLocalClientMeetingJoinTime?: string;
|
|
541
542
|
mediaConnections: any[];
|
|
542
543
|
mediaId?: string;
|
|
543
544
|
meetingFiniteStateMachine: any;
|
|
@@ -1521,6 +1522,17 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1521
1522
|
* @memberof Meeting
|
|
1522
1523
|
*/
|
|
1523
1524
|
this.iceCandidatesCount = 0;
|
|
1525
|
+
|
|
1526
|
+
/**
|
|
1527
|
+
* Start time of meeting as an ISO string
|
|
1528
|
+
* based on browser time, so can only be used to compute durations client side
|
|
1529
|
+
* undefined if meeting has not been joined, set once on meeting join, and not updated again
|
|
1530
|
+
* @instance
|
|
1531
|
+
* @type {string}
|
|
1532
|
+
* @private
|
|
1533
|
+
* @memberof Meeting
|
|
1534
|
+
*/
|
|
1535
|
+
this.#isoLocalClientMeetingJoinTime = undefined;
|
|
1524
1536
|
}
|
|
1525
1537
|
|
|
1526
1538
|
/**
|
|
@@ -1569,6 +1581,15 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1569
1581
|
this.callStateForMetrics.correlationId = correlationId;
|
|
1570
1582
|
}
|
|
1571
1583
|
|
|
1584
|
+
/**
|
|
1585
|
+
* Getter - Returns isoLocalClientMeetingJoinTime
|
|
1586
|
+
* This will be set once on meeting join, and not updated again
|
|
1587
|
+
* @returns {string | undefined}
|
|
1588
|
+
*/
|
|
1589
|
+
get isoLocalClientMeetingJoinTime(): string | undefined {
|
|
1590
|
+
return this.#isoLocalClientMeetingJoinTime;
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1572
1593
|
/**
|
|
1573
1594
|
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
|
1574
1595
|
* @param {any} info
|
|
@@ -5235,6 +5256,8 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
5235
5256
|
// @ts-ignore
|
|
5236
5257
|
this.webex.internal.device.meetingStarted();
|
|
5237
5258
|
|
|
5259
|
+
this.#isoLocalClientMeetingJoinTime = new Date().toISOString();
|
|
5260
|
+
|
|
5238
5261
|
LoggerProxy.logger.log('Meeting:index#join --> Success');
|
|
5239
5262
|
|
|
5240
5263
|
Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_SUCCESS, {
|
|
@@ -331,6 +331,7 @@ describe('plugin-meetings', () => {
|
|
|
331
331
|
assert.isNull(meeting.partner);
|
|
332
332
|
assert.isNull(meeting.type);
|
|
333
333
|
assert.isNull(meeting.owner);
|
|
334
|
+
assert.isUndefined(meeting.isoLocalClientMeetingJoinTime);
|
|
334
335
|
assert.isNull(meeting.hostId);
|
|
335
336
|
assert.isNull(meeting.policy);
|
|
336
337
|
assert.instanceOf(meeting.meetingRequest, MeetingRequest);
|
|
@@ -1587,6 +1588,10 @@ describe('plugin-meetings', () => {
|
|
|
1587
1588
|
sandbox.stub(MeetingUtil, 'joinMeeting').returns(Promise.resolve(joinMeetingResult));
|
|
1588
1589
|
});
|
|
1589
1590
|
|
|
1591
|
+
afterEach(() => {
|
|
1592
|
+
assert.exists(meeting.isoLocalClientMeetingJoinTime);
|
|
1593
|
+
});
|
|
1594
|
+
|
|
1590
1595
|
it('should join the meeting and return promise', async () => {
|
|
1591
1596
|
const join = meeting.join({pstnAudioType: 'dial-in'});
|
|
1592
1597
|
meeting.config.enableAutomaticLLM = true;
|