@webex/plugin-meetings 3.9.0-next.1 → 3.9.0-next.2
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 +48 -31
- package/dist/meeting/index.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +1 -1
- package/src/meeting/index.ts +17 -0
- package/test/unit/spec/meeting/index.js +53 -1
package/dist/webinar/index.js
CHANGED
package/package.json
CHANGED
package/src/meeting/index.ts
CHANGED
@@ -3149,6 +3149,23 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
3149
3149
|
},
|
3150
3150
|
EVENT_TRIGGERS.MEETING_STOPPED_SHARING_WHITEBOARD
|
3151
3151
|
);
|
3152
|
+
// @ts-ignore
|
3153
|
+
this.webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp({
|
3154
|
+
key: 'internal.client.share.stopped',
|
3155
|
+
});
|
3156
|
+
// @ts-ignore
|
3157
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
3158
|
+
name: 'client.share.stopped',
|
3159
|
+
payload: {
|
3160
|
+
mediaType: 'whiteboard',
|
3161
|
+
shareDuration:
|
3162
|
+
// @ts-ignore
|
3163
|
+
this.webex.internal.newMetrics.callDiagnosticLatencies.getShareDuration(),
|
3164
|
+
},
|
3165
|
+
options: {
|
3166
|
+
meetingId: this.id,
|
3167
|
+
},
|
3168
|
+
});
|
3152
3169
|
break;
|
3153
3170
|
|
3154
3171
|
case SHARE_STATUS.NO_SHARE:
|
@@ -12262,6 +12262,7 @@ describe('plugin-meetings', () => {
|
|
12262
12262
|
meeting.deviceUrl = 'deviceUrl.com';
|
12263
12263
|
webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp = sinon.stub();
|
12264
12264
|
webex.internal.newMetrics.callDiagnosticLatencies.getShareDuration = sinon.stub().returns(1000);
|
12265
|
+
webex.internal.newMetrics.submitClientEvent = sinon.stub();
|
12265
12266
|
});
|
12266
12267
|
it('should stop the whiteboard share', async () => {
|
12267
12268
|
const whiteboardShare = meeting.stopWhiteboardShare();
|
@@ -12363,6 +12364,9 @@ describe('plugin-meetings', () => {
|
|
12363
12364
|
meeting.selfId = '9528d952-e4de-46cf-8157-fd4823b98377';
|
12364
12365
|
meeting.deviceUrl = 'my-web-url';
|
12365
12366
|
meeting.locusInfo.info = {isWebinar: false};
|
12367
|
+
webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp = sinon.stub();
|
12368
|
+
webex.internal.newMetrics.callDiagnosticLatencies.getShareDuration = sinon.stub().returns(1500);
|
12369
|
+
webex.internal.newMetrics.submitClientEvent = sinon.stub();
|
12366
12370
|
});
|
12367
12371
|
|
12368
12372
|
const USER_IDS = {
|
@@ -13508,7 +13512,54 @@ describe('plugin-meetings', () => {
|
|
13508
13512
|
payloadTestHelper([data1, data2, data3]);
|
13509
13513
|
});
|
13510
13514
|
});
|
13511
|
-
|
13515
|
+
|
13516
|
+
it('should send share stopped metric when whiteboard sharing stops', () => {
|
13517
|
+
// Start whiteboard sharing (this won't trigger metrics)
|
13518
|
+
const data1 = generateData(
|
13519
|
+
blankPayload,
|
13520
|
+
true, // isGranting: true
|
13521
|
+
false, // isContent: false (whiteboard)
|
13522
|
+
USER_IDS.ME,
|
13523
|
+
RESOURCE_URLS.WHITEBOARD_A
|
13524
|
+
);
|
13525
|
+
|
13526
|
+
// Stop whiteboard sharing (this should trigger metrics)
|
13527
|
+
const data2 = generateData(
|
13528
|
+
data1.payload,
|
13529
|
+
false, // isGranting: false (stopping share)
|
13530
|
+
false, // isContent: false (whiteboard)
|
13531
|
+
USER_IDS.ME
|
13532
|
+
);
|
13533
|
+
|
13534
|
+
// Trigger the events
|
13535
|
+
meeting.locusInfo.emit(
|
13536
|
+
{function: 'test', file: 'test'},
|
13537
|
+
EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES,
|
13538
|
+
data1.payload
|
13539
|
+
);
|
13540
|
+
|
13541
|
+
meeting.locusInfo.emit(
|
13542
|
+
{function: 'test', file: 'test'},
|
13543
|
+
EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES,
|
13544
|
+
data2.payload
|
13545
|
+
);
|
13546
|
+
|
13547
|
+
// Verify metrics were called when whiteboard sharing stopped
|
13548
|
+
assert.calledWith(webex.internal.newMetrics.callDiagnosticLatencies.saveTimestamp, {
|
13549
|
+
key: 'internal.client.share.stopped',
|
13550
|
+
});
|
13551
|
+
|
13552
|
+
assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
|
13553
|
+
name: 'client.share.stopped',
|
13554
|
+
payload: {
|
13555
|
+
mediaType: 'whiteboard',
|
13556
|
+
shareDuration: 1500, // mocked return value
|
13557
|
+
},
|
13558
|
+
options: {
|
13559
|
+
meetingId: meeting.id,
|
13560
|
+
},
|
13561
|
+
});
|
13562
|
+
});
|
13512
13563
|
|
13513
13564
|
describe('handleShareVideoStreamMuteStateChange', () => {
|
13514
13565
|
it('should emit MEETING_SHARE_VIDEO_MUTE_STATE_CHANGE event with correct fields', () => {
|
@@ -13535,6 +13586,7 @@ describe('plugin-meetings', () => {
|
|
13535
13586
|
});
|
13536
13587
|
});
|
13537
13588
|
});
|
13589
|
+
});
|
13538
13590
|
|
13539
13591
|
describe('#startKeepAlive', () => {
|
13540
13592
|
let clock;
|