@webex/plugin-meetings 3.0.0-beta.407 → 3.0.0-beta.409

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.
@@ -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-beta.407"
65
+ version: "3.0.0-beta.409"
66
66
  });
67
67
  var _default = Webinar;
68
68
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.407",
3
+ "version": "3.0.0-beta.409",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -33,12 +33,12 @@
33
33
  },
34
34
  "devDependencies": {
35
35
  "@peculiar/webcrypto": "^1.4.3",
36
- "@webex/plugin-meetings": "3.0.0-beta.407",
37
- "@webex/test-helper-chai": "3.0.0-beta.407",
38
- "@webex/test-helper-mocha": "3.0.0-beta.407",
39
- "@webex/test-helper-mock-webex": "3.0.0-beta.407",
40
- "@webex/test-helper-retry": "3.0.0-beta.407",
41
- "@webex/test-helper-test-users": "3.0.0-beta.407",
36
+ "@webex/plugin-meetings": "3.0.0-beta.409",
37
+ "@webex/test-helper-chai": "3.0.0-beta.409",
38
+ "@webex/test-helper-mocha": "3.0.0-beta.409",
39
+ "@webex/test-helper-mock-webex": "3.0.0-beta.409",
40
+ "@webex/test-helper-retry": "3.0.0-beta.409",
41
+ "@webex/test-helper-test-users": "3.0.0-beta.409",
42
42
  "chai": "^4.3.4",
43
43
  "chai-as-promised": "^7.1.1",
44
44
  "jsdom-global": "3.0.2",
@@ -47,19 +47,19 @@
47
47
  "typescript": "^4.7.4"
48
48
  },
49
49
  "dependencies": {
50
- "@webex/common": "3.0.0-beta.407",
50
+ "@webex/common": "3.0.0-beta.409",
51
51
  "@webex/internal-media-core": "2.3.2",
52
- "@webex/internal-plugin-conversation": "3.0.0-beta.407",
53
- "@webex/internal-plugin-device": "3.0.0-beta.407",
54
- "@webex/internal-plugin-llm": "3.0.0-beta.407",
55
- "@webex/internal-plugin-mercury": "3.0.0-beta.407",
56
- "@webex/internal-plugin-metrics": "3.0.0-beta.407",
57
- "@webex/internal-plugin-support": "3.0.0-beta.407",
58
- "@webex/internal-plugin-user": "3.0.0-beta.407",
59
- "@webex/media-helpers": "3.0.0-beta.407",
60
- "@webex/plugin-people": "3.0.0-beta.407",
61
- "@webex/plugin-rooms": "3.0.0-beta.407",
62
- "@webex/webex-core": "3.0.0-beta.407",
52
+ "@webex/internal-plugin-conversation": "3.0.0-beta.409",
53
+ "@webex/internal-plugin-device": "3.0.0-beta.409",
54
+ "@webex/internal-plugin-llm": "3.0.0-beta.409",
55
+ "@webex/internal-plugin-mercury": "3.0.0-beta.409",
56
+ "@webex/internal-plugin-metrics": "3.0.0-beta.409",
57
+ "@webex/internal-plugin-support": "3.0.0-beta.409",
58
+ "@webex/internal-plugin-user": "3.0.0-beta.409",
59
+ "@webex/media-helpers": "3.0.0-beta.409",
60
+ "@webex/plugin-people": "3.0.0-beta.409",
61
+ "@webex/plugin-rooms": "3.0.0-beta.409",
62
+ "@webex/webex-core": "3.0.0-beta.409",
63
63
  "ampersand-collection": "^2.0.2",
64
64
  "bowser": "^2.11.0",
65
65
  "btoa": "^1.2.1",
@@ -6051,6 +6051,20 @@ export default class Meeting extends StatelessWebexPlugin {
6051
6051
  meetingId: this.id,
6052
6052
  },
6053
6053
  });
6054
+
6055
+ if (data.type === 'share') {
6056
+ // @ts-ignore
6057
+ this.webex.internal.newMetrics.submitClientEvent({
6058
+ name: 'client.media.render.start',
6059
+ payload: {
6060
+ mediaType: 'share',
6061
+ shareInstanceId: this.remoteShareInstanceId,
6062
+ },
6063
+ options: {
6064
+ meetingId: this.id,
6065
+ },
6066
+ });
6067
+ }
6054
6068
  });
6055
6069
  this.statsAnalyzer.on(StatsAnalyzerEvents.REMOTE_MEDIA_STOPPED, (data) => {
6056
6070
  // @ts-ignore
@@ -6064,6 +6078,20 @@ export default class Meeting extends StatelessWebexPlugin {
6064
6078
  meetingId: this.id,
6065
6079
  },
6066
6080
  });
6081
+
6082
+ if (data.type === 'share') {
6083
+ // @ts-ignore
6084
+ this.webex.internal.newMetrics.submitClientEvent({
6085
+ name: 'client.media.render.stop',
6086
+ payload: {
6087
+ mediaType: 'share',
6088
+ shareInstanceId: this.remoteShareInstanceId,
6089
+ },
6090
+ options: {
6091
+ meetingId: this.id,
6092
+ },
6093
+ });
6094
+ }
6067
6095
  });
6068
6096
  };
6069
6097
 
@@ -109,9 +109,7 @@ import CallDiagnosticMetrics from '@webex/internal-plugin-metrics/src/call-diagn
109
109
  import {ERROR_DESCRIPTIONS} from '@webex/internal-plugin-metrics/src/call-diagnostic/config';
110
110
  import MeetingCollection from '@webex/plugin-meetings/src/meetings/collection';
111
111
 
112
- import {
113
- EVENT_TRIGGERS as VOICEAEVENTS,
114
- } from '@webex/internal-plugin-voicea';
112
+ import {EVENT_TRIGGERS as VOICEAEVENTS} from '@webex/internal-plugin-voicea';
115
113
 
116
114
  describe('plugin-meetings', () => {
117
115
  const logger = {
@@ -686,7 +684,10 @@ describe('plugin-meetings', () => {
686
684
  });
687
685
 
688
686
  it('should call abortTurnDiscovery() if we do not get a TURN server info', async () => {
689
- handleTurnDiscoveryHttpResponseStub.resolves({turnServerInfo: undefined, turnDiscoverySkippedReason: 'missing http response'});
687
+ handleTurnDiscoveryHttpResponseStub.resolves({
688
+ turnServerInfo: undefined,
689
+ turnDiscoverySkippedReason: 'missing http response',
690
+ });
690
691
 
691
692
  const result = await meeting.joinWithMedia({
692
693
  joinOptions,
@@ -720,7 +721,8 @@ describe('plugin-meetings', () => {
720
721
 
721
722
  assert.calledOnceWithExactly(abortTurnDiscoveryStub);
722
723
 
723
- assert.calledWith(Metrics.sendBehavioralMetric,
724
+ assert.calledWith(
725
+ Metrics.sendBehavioralMetric,
724
726
  BEHAVIORAL_METRICS.JOIN_WITH_MEDIA_FAILURE,
725
727
  {
726
728
  correlation_id: meeting.correlationId,
@@ -765,7 +767,8 @@ describe('plugin-meetings', () => {
765
767
  reason: 'joinWithMedia failure',
766
768
  });
767
769
 
768
- assert.calledWith(Metrics.sendBehavioralMetric,
770
+ assert.calledWith(
771
+ Metrics.sendBehavioralMetric,
769
772
  BEHAVIORAL_METRICS.JOIN_WITH_MEDIA_FAILURE,
770
773
  {
771
774
  correlation_id: meeting.correlationId,
@@ -804,7 +807,7 @@ describe('plugin-meetings', () => {
804
807
 
805
808
  it('should subscribe to events for the first time and avoid subscribing for future transcription starts', async () => {
806
809
  meeting.joinedWith = {
807
- state: 'JOINED'
810
+ state: 'JOINED',
808
811
  };
809
812
  meeting.areVoiceaEventsSetup = false;
810
813
  meeting.roles = ['MODERATOR'];
@@ -814,27 +817,19 @@ describe('plugin-meetings', () => {
814
817
  assert.equal(webex.internal.voicea.on.callCount, 4);
815
818
  assert.equal(meeting.areVoiceaEventsSetup, true);
816
819
  assert.equal(webex.internal.voicea.listenToEvents.callCount, 1);
817
- assert.calledWith(
818
- webex.internal.voicea.toggleTranscribing,
819
- true,
820
- );
820
+ assert.calledWith(webex.internal.voicea.toggleTranscribing, true);
821
821
 
822
822
  await meeting.startTranscription();
823
823
  assert.equal(webex.internal.voicea.on.callCount, 4);
824
824
  assert.equal(meeting.areVoiceaEventsSetup, true);
825
825
  assert.equal(webex.internal.voicea.listenToEvents.callCount, 1);
826
- assert.calledTwice(
827
- webex.internal.voicea.toggleTranscribing,
828
- );
829
- assert.calledWith(
830
- webex.internal.voicea.toggleTranscribing,
831
- true,
832
- );
826
+ assert.calledTwice(webex.internal.voicea.toggleTranscribing);
827
+ assert.calledWith(webex.internal.voicea.toggleTranscribing, true);
833
828
  });
834
829
 
835
830
  it('should listen to events and not toggleTranscribing if the user is not a host', async () => {
836
831
  meeting.joinedWith = {
837
- state: 'JOINED'
832
+ state: 'JOINED',
838
833
  };
839
834
  meeting.areVoiceaEventsSetup = false;
840
835
  meeting.roles = ['COHOST'];
@@ -844,9 +839,7 @@ describe('plugin-meetings', () => {
844
839
  assert.equal(webex.internal.voicea.on.callCount, 4);
845
840
  assert.equal(meeting.areVoiceaEventsSetup, true);
846
841
  assert.equal(webex.internal.voicea.listenToEvents.callCount, 1);
847
- assert.notCalled(
848
- webex.internal.voicea.toggleTranscribing
849
- );
842
+ assert.notCalled(webex.internal.voicea.toggleTranscribing);
850
843
  });
851
844
 
852
845
  it("should throw error if request doesn't work", async () => {
@@ -887,7 +880,7 @@ describe('plugin-meetings', () => {
887
880
  describe('#setCaptionLanguage', () => {
888
881
  beforeEach(() => {
889
882
  meeting.isTranscriptionSupported = sinon.stub();
890
- meeting.transcription = { languageOptions: {} };
883
+ meeting.transcription = {languageOptions: {}};
891
884
  webex.internal.voicea.on = sinon.stub();
892
885
  webex.internal.voicea.off = sinon.stub();
893
886
  webex.internal.voicea.setCaptionLanguage = sinon.stub();
@@ -913,23 +906,23 @@ describe('plugin-meetings', () => {
913
906
  const languageCode = 'fr';
914
907
 
915
908
  meeting.setCaptionLanguage(languageCode).then((resolvedLanguageCode) => {
916
- assert.calledWith(
917
- webex.internal.voicea.requestLanguage,
909
+ assert.calledWith(webex.internal.voicea.requestLanguage, languageCode);
910
+ assert.equal(resolvedLanguageCode, languageCode);
911
+ assert.equal(
912
+ meeting.transcription.languageOptions.currentCaptionLanguage,
918
913
  languageCode
919
914
  );
920
- assert.equal(resolvedLanguageCode, languageCode);
921
- assert.equal(meeting.transcription.languageOptions.currentCaptionLanguage, languageCode);
922
915
  done();
923
916
  });
924
917
 
925
918
  assert.calledOnceWithMatch(
926
919
  webex.internal.voicea.on,
927
- VOICEAEVENTS.CAPTION_LANGUAGE_UPDATE,
920
+ VOICEAEVENTS.CAPTION_LANGUAGE_UPDATE
928
921
  );
929
922
 
930
923
  // Trigger the event
931
924
  const voiceaListenerLangugeUpdate = webex.internal.voicea.on.getCall(0).args[1];
932
- voiceaListenerLangugeUpdate({ statusCode: 200, languageCode });
925
+ voiceaListenerLangugeUpdate({statusCode: 200, languageCode});
933
926
  });
934
927
 
935
928
  it('should reject if the statusCode in payload is not 200', (done) => {
@@ -937,8 +930,8 @@ describe('plugin-meetings', () => {
937
930
  const languageCode = 'fr';
938
931
  const rejectPayload = {
939
932
  statusCode: 400,
940
- message: 'some error message'
941
- }
933
+ message: 'some error message',
934
+ };
942
935
 
943
936
  meeting.setCaptionLanguage(languageCode).catch((payload) => {
944
937
  assert.equal(payload, rejectPayload);
@@ -947,20 +940,19 @@ describe('plugin-meetings', () => {
947
940
 
948
941
  assert.calledOnceWithMatch(
949
942
  webex.internal.voicea.on,
950
- VOICEAEVENTS.CAPTION_LANGUAGE_UPDATE,
943
+ VOICEAEVENTS.CAPTION_LANGUAGE_UPDATE
951
944
  );
952
945
 
953
946
  // Trigger the event
954
947
  const voiceaListenerLangugeUpdate = webex.internal.voicea.on.getCall(0).args[1];
955
948
  voiceaListenerLangugeUpdate(rejectPayload);
956
949
  });
957
-
958
950
  });
959
951
 
960
952
  describe('#setSpokenLanguage', () => {
961
953
  beforeEach(() => {
962
954
  meeting.isTranscriptionSupported = sinon.stub();
963
- meeting.transcription = { languageOptions: {} };
955
+ meeting.transcription = {languageOptions: {}};
964
956
  webex.internal.voicea.on = sinon.stub();
965
957
  webex.internal.voicea.off = sinon.stub();
966
958
  webex.internal.voicea.setSpokenLanguage = sinon.stub();
@@ -985,47 +977,37 @@ describe('plugin-meetings', () => {
985
977
  const languageCode = 'fr';
986
978
 
987
979
  meeting.setSpokenLanguage(languageCode).then((resolvedLanguageCode) => {
988
- assert.calledWith(
989
- webex.internal.voicea.setSpokenLanguage,
990
- languageCode
991
- );
980
+ assert.calledWith(webex.internal.voicea.setSpokenLanguage, languageCode);
992
981
  assert.equal(resolvedLanguageCode, languageCode);
993
982
  assert.equal(meeting.transcription.languageOptions.currentSpokenLanguage, languageCode);
994
983
  done();
995
984
  });
996
985
 
997
- assert.calledOnceWithMatch(
998
- webex.internal.voicea.on,
999
- VOICEAEVENTS.SPOKEN_LANGUAGE_UPDATE,
1000
- );
986
+ assert.calledOnceWithMatch(webex.internal.voicea.on, VOICEAEVENTS.SPOKEN_LANGUAGE_UPDATE);
1001
987
 
1002
988
  // Trigger the event
1003
989
  const voiceaListenerLangugeUpdate = webex.internal.voicea.on.getCall(0).args[1];
1004
- voiceaListenerLangugeUpdate({ languageCode });
990
+ voiceaListenerLangugeUpdate({languageCode});
1005
991
  });
1006
992
 
1007
993
  it('should reject if the language code does not exist in payload', (done) => {
1008
994
  meeting.isTranscriptionSupported.returns(true);
1009
995
  const languageCode = 'fr';
1010
996
  const rejectPayload = {
1011
- 'message': 'some error message'
1012
- }
997
+ message: 'some error message',
998
+ };
1013
999
 
1014
1000
  meeting.setSpokenLanguage(languageCode).catch((payload) => {
1015
1001
  assert.equal(payload, rejectPayload);
1016
1002
  done();
1017
1003
  });
1018
1004
 
1019
- assert.calledOnceWithMatch(
1020
- webex.internal.voicea.on,
1021
- VOICEAEVENTS.SPOKEN_LANGUAGE_UPDATE,
1022
- );
1005
+ assert.calledOnceWithMatch(webex.internal.voicea.on, VOICEAEVENTS.SPOKEN_LANGUAGE_UPDATE);
1023
1006
 
1024
1007
  // Trigger the event
1025
1008
  const voiceaListenerLangugeUpdate = webex.internal.voicea.on.getCall(0).args[1];
1026
1009
  voiceaListenerLangugeUpdate(rejectPayload);
1027
1010
  });
1028
-
1029
1011
  });
1030
1012
 
1031
1013
  describe('transcription events', () => {
@@ -1269,7 +1251,7 @@ describe('plugin-meetings', () => {
1269
1251
  file: 'meeting/index',
1270
1252
  function: 'join',
1271
1253
  },
1272
- EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED,
1254
+ EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED
1273
1255
  );
1274
1256
  });
1275
1257
 
@@ -2640,6 +2622,7 @@ describe('plugin-meetings', () => {
2640
2622
 
2641
2623
  beforeEach(async () => {
2642
2624
  meeting.meetingState = 'ACTIVE';
2625
+ meeting.remoteShareInstanceId = '1234';
2643
2626
  prevConfigValue = meeting.config.stats.enableStatsAnalyzer;
2644
2627
 
2645
2628
  meeting.config.stats.enableStatsAnalyzer = true;
@@ -2745,6 +2728,66 @@ describe('plugin-meetings', () => {
2745
2728
  });
2746
2729
  });
2747
2730
 
2731
+ it('REMOTE_MEDIA_STARTED triggers "meeting:media:remote:start" event and sends metrics for share', async () => {
2732
+ statsAnalyzerStub.emit(
2733
+ {file: 'test', function: 'test'},
2734
+ StatsAnalyzerModule.EVENTS.REMOTE_MEDIA_STARTED,
2735
+ {type: 'share'}
2736
+ );
2737
+
2738
+ assert.calledWith(
2739
+ TriggerProxy.trigger,
2740
+ sinon.match.instanceOf(Meeting),
2741
+ {
2742
+ file: 'meeting/index',
2743
+ function: 'addMedia',
2744
+ },
2745
+ EVENT_TRIGGERS.MEETING_MEDIA_REMOTE_STARTED,
2746
+ {
2747
+ type: 'share',
2748
+ }
2749
+ );
2750
+ assert.calledWithMatch(webex.internal.newMetrics.submitClientEvent, {
2751
+ name: 'client.media.rx.start',
2752
+ payload: {mediaType: 'share', shareInstanceId: meeting.remoteShareInstanceId},
2753
+ options: {
2754
+ meetingId: meeting.id,
2755
+ },
2756
+ });
2757
+
2758
+ assert.calledWithMatch(webex.internal.newMetrics.submitClientEvent, {
2759
+ name: 'client.media.render.start',
2760
+ payload: {mediaType: 'share', shareInstanceId: meeting.remoteShareInstanceId},
2761
+ options: {
2762
+ meetingId: meeting.id,
2763
+ },
2764
+ });
2765
+ });
2766
+
2767
+ it('REMOTE_MEDIA_STOPPED triggers the right metrics for share', async () => {
2768
+ statsAnalyzerStub.emit(
2769
+ {file: 'test', function: 'test'},
2770
+ StatsAnalyzerModule.EVENTS.REMOTE_MEDIA_STOPPED,
2771
+ {type: 'share'}
2772
+ );
2773
+
2774
+ assert.calledWithMatch(webex.internal.newMetrics.submitClientEvent, {
2775
+ name: 'client.media.rx.stop',
2776
+ payload: {mediaType: 'share', shareInstanceId: meeting.remoteShareInstanceId},
2777
+ options: {
2778
+ meetingId: meeting.id,
2779
+ },
2780
+ });
2781
+
2782
+ assert.calledWithMatch(webex.internal.newMetrics.submitClientEvent, {
2783
+ name: 'client.media.render.stop',
2784
+ payload: {mediaType: 'share', shareInstanceId: meeting.remoteShareInstanceId},
2785
+ options: {
2786
+ meetingId: meeting.id,
2787
+ },
2788
+ });
2789
+ });
2790
+
2748
2791
  it('calls submitMQE correctly', async () => {
2749
2792
  const fakeData = {intervalMetadata: {bla: 'bla'}};
2750
2793
 
@@ -2989,9 +3032,10 @@ describe('plugin-meetings', () => {
2989
3032
  meeting.setMercuryListener = sinon.stub();
2990
3033
  meeting.locusInfo.onFullLocus = sinon.stub();
2991
3034
  meeting.webex.meetings.geoHintInfo = {regionCode: 'EU', countryCode: 'UK'};
2992
- meeting.roap.doTurnDiscovery = sinon
2993
- .stub()
2994
- .resolves({turnServerInfo: { url: 'turn-url', username: 'turn user', password: 'turn password'}, turnDiscoverySkippedReason: 'reachability'});
3035
+ meeting.roap.doTurnDiscovery = sinon.stub().resolves({
3036
+ turnServerInfo: {url: 'turn-url', username: 'turn user', password: 'turn password'},
3037
+ turnDiscoverySkippedReason: 'reachability',
3038
+ });
2995
3039
  meeting.deferSDPAnswer = new Defer();
2996
3040
  meeting.deferSDPAnswer.resolve();
2997
3041
  meeting.webex.meetings.meetingCollection = new MeetingCollection();
@@ -3268,7 +3312,9 @@ describe('plugin-meetings', () => {
3268
3312
  switch (type) {
3269
3313
  case 'audio':
3270
3314
  if (stream?.readyState === 'ended') {
3271
- assert.notCalled(meeting.sendSlotManager.getSlot(MediaType.AudioMain).publishStream);
3315
+ assert.notCalled(
3316
+ meeting.sendSlotManager.getSlot(MediaType.AudioMain).publishStream
3317
+ );
3272
3318
  } else {
3273
3319
  assert.calledOnceWithExactly(
3274
3320
  meeting.sendSlotManager.getSlot(MediaType.AudioMain).publishStream,
@@ -6417,7 +6463,7 @@ describe('plugin-meetings', () => {
6417
6463
 
6418
6464
  [
6419
6465
  {
6420
- endedStream: 'microphone',
6466
+ endedStream: 'microphone',
6421
6467
  streams: {
6422
6468
  microphone: {
6423
6469
  readyState: 'ended',
@@ -6430,7 +6476,7 @@ describe('plugin-meetings', () => {
6430
6476
  },
6431
6477
  },
6432
6478
  {
6433
- endedStream: 'camera',
6479
+ endedStream: 'camera',
6434
6480
  streams: {
6435
6481
  microphone: undefined,
6436
6482
  camera: {
@@ -6443,7 +6489,7 @@ describe('plugin-meetings', () => {
6443
6489
  },
6444
6490
  },
6445
6491
  {
6446
- endedStream: 'screenShare audio',
6492
+ endedStream: 'screenShare audio',
6447
6493
  streams: {
6448
6494
  microphone: undefined,
6449
6495
  camera: undefined,
@@ -6456,7 +6502,7 @@ describe('plugin-meetings', () => {
6456
6502
  },
6457
6503
  },
6458
6504
  {
6459
- endedStream: 'screenShare video',
6505
+ endedStream: 'screenShare video',
6460
6506
  streams: {
6461
6507
  microphone: undefined,
6462
6508
  camera: undefined,
@@ -6471,7 +6517,7 @@ describe('plugin-meetings', () => {
6471
6517
  ].forEach(({endedStream, streams}) => {
6472
6518
  it(`throws error if readyState of ${endedStream} is ended`, async () => {
6473
6519
  assert.isRejected(meeting.publishStreams(streams));
6474
- })
6520
+ });
6475
6521
  });
6476
6522
  });
6477
6523
 
@@ -9794,9 +9840,16 @@ describe('plugin-meetings', () => {
9794
9840
  it('check triggerAnnotationInfoEvent event', () => {
9795
9841
  TriggerProxy.trigger.reset();
9796
9842
  const annotationInfo = {version: '1', policy: 'Approval'};
9797
- const expectAnnotationInfo = {annotationInfo, meetingId: meeting.id, resourceType: 'FILE'};
9843
+ const expectAnnotationInfo = {
9844
+ annotationInfo,
9845
+ meetingId: meeting.id,
9846
+ resourceType: 'FILE',
9847
+ };
9798
9848
  meeting.webex.meetings = {};
9799
- meeting.triggerAnnotationInfoEvent({annotation: annotationInfo, resourceType: 'FILE'}, {});
9849
+ meeting.triggerAnnotationInfoEvent(
9850
+ {annotation: annotationInfo, resourceType: 'FILE'},
9851
+ {}
9852
+ );
9800
9853
  assert.calledWith(
9801
9854
  TriggerProxy.trigger,
9802
9855
  {},
@@ -9838,7 +9891,10 @@ describe('plugin-meetings', () => {
9838
9891
  );
9839
9892
 
9840
9893
  TriggerProxy.trigger.reset();
9841
- meeting.triggerAnnotationInfoEvent(null, {annotation: annotationInfoUpdate, resourceType: 'FILE'});
9894
+ meeting.triggerAnnotationInfoEvent(null, {
9895
+ annotation: annotationInfoUpdate,
9896
+ resourceType: 'FILE',
9897
+ });
9842
9898
  assert.notCalled(TriggerProxy.trigger);
9843
9899
  });
9844
9900
  });
@@ -9863,10 +9919,8 @@ describe('plugin-meetings', () => {
9863
9919
  };
9864
9920
 
9865
9921
  const SHARE_TYPE = {
9866
- FILE:
9867
- 'FILE',
9868
- DESKTOP:
9869
- 'DESKTOP',
9922
+ FILE: 'FILE',
9923
+ DESKTOP: 'DESKTOP',
9870
9924
  };
9871
9925
 
9872
9926
  const DEVICE_URL = {
@@ -9881,7 +9935,7 @@ describe('plugin-meetings', () => {
9881
9935
  disposition = null,
9882
9936
  deviceUrlSharing = null,
9883
9937
  annotation = undefined,
9884
- resourceType = undefined,
9938
+ resourceType = undefined
9885
9939
  ) => ({
9886
9940
  beneficiaryId,
9887
9941
  disposition,
@@ -9942,7 +9996,7 @@ describe('plugin-meetings', () => {
9942
9996
  FLOOR_ACTION.GRANTED,
9943
9997
  deviceUrlSharing,
9944
9998
  annotation,
9945
- resourceType
9999
+ resourceType
9946
10000
  );
9947
10001
 
9948
10002
  if (isEqual(newPayload.current, newPayload.previous)) {
@@ -10003,7 +10057,7 @@ describe('plugin-meetings', () => {
10003
10057
  url,
10004
10058
  shareInstanceId,
10005
10059
  annotationInfo: undefined,
10006
- resourceType: undefined
10060
+ resourceType: undefined,
10007
10061
  },
10008
10062
  });
10009
10063
  }
@@ -10871,31 +10925,30 @@ describe('plugin-meetings', () => {
10871
10925
  describe('File Share --> Desktop Share', () => {
10872
10926
  it('Scenario #1: remote person A shares file then share desktop', () => {
10873
10927
  const data1 = generateData(
10874
- blankPayload,
10875
- true,
10876
- true,
10877
- USER_IDS.ME,
10878
- undefined,
10879
- false,
10880
- undefined,
10881
- undefined,
10882
- undefined,
10883
- undefined,
10884
- DEVICE_URL.LOCAL_WEB,
10885
- SHARE_TYPE.FILE
10928
+ blankPayload,
10929
+ true,
10930
+ true,
10931
+ USER_IDS.ME,
10932
+ undefined,
10933
+ false,
10934
+ undefined,
10935
+ undefined,
10936
+ undefined,
10937
+ undefined,
10938
+ DEVICE_URL.LOCAL_WEB,
10939
+ SHARE_TYPE.FILE
10886
10940
  );
10887
10941
  const data2 = generateData(
10888
- data1.payload,
10889
- true,
10890
- false,
10891
- USER_IDS.ME,
10892
- SHARE_TYPE.DESKTOP
10942
+ data1.payload,
10943
+ true,
10944
+ false,
10945
+ USER_IDS.ME,
10946
+ SHARE_TYPE.DESKTOP
10893
10947
  );
10894
10948
  const data3 = generateData(data2.payload, true, true, USER_IDS.ME);
10895
10949
 
10896
10950
  payloadTestHelper([data1, data2, data3]);
10897
10951
  });
10898
-
10899
10952
  });
10900
10953
  });
10901
10954
  });