@webex/plugin-meetings 3.0.0-beta.175 → 3.0.0-beta.177

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.
@@ -33,7 +33,6 @@ interface IAnnotationChannel {
33
33
  acceptRequest: (approval: any) => undefined | Promise<void>;
34
34
  declineRequest: (approval: any) => undefined | Promise<void>;
35
35
  closeAnnotation: (requestData: RequestData) => undefined | Promise<void>;
36
- changeAnnotationOptions: (remoteShareUrl: any, annotationInfo: any) => undefined | Promise<void>;
37
36
  approveAnnotation: (requestData: RequestData) => undefined | Promise<void>;
38
37
  cancelApproveAnnotation: (requestData: RequestData, approval: any) => undefined | Promise<void>;
39
38
  sendStrokeData: (strokeData: StrokeData) => void;
@@ -106,13 +106,6 @@ declare class AnnotationChannel extends WebexPlugin implements IAnnotationChanne
106
106
  * @returns {void}
107
107
  */
108
108
  sendStrokeData: (strokeData: StrokeData) => void;
109
- /**
110
- * Change annotation options
111
- * @param {remoteShareUrl} remoteShareUrl
112
- * @param {annotationInfo} annotationInfo
113
- * @returns {Promise}
114
- */
115
- changeAnnotationOptions(remoteShareUrl: any, annotationInfo: any): any;
116
109
  /**
117
110
  * private encrypted the strokes data
118
111
  * @param {string} encryptedContent
@@ -158,7 +158,11 @@ export declare enum ScreenShareFloorStatus {
158
158
  * @instance
159
159
  * @type {Object}
160
160
  * @property {Boolean} memberId id of the meeting member that started screen share
161
+ * @property {String} url of this content share
162
+ * @property {String} shareInstanceId of this content share
163
+ * @property {Object} annotation Info of this content share
161
164
  * @memberof Meeting
165
+ *
162
166
  */
163
167
  /**
164
168
  * Meeting Stopped Sharing Remote Event
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.175",
3
+ "version": "3.0.0-beta.177",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -32,12 +32,12 @@
32
32
  "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
33
33
  },
34
34
  "devDependencies": {
35
- "@webex/plugin-meetings": "3.0.0-beta.175",
36
- "@webex/test-helper-chai": "3.0.0-beta.175",
37
- "@webex/test-helper-mocha": "3.0.0-beta.175",
38
- "@webex/test-helper-mock-webex": "3.0.0-beta.175",
39
- "@webex/test-helper-retry": "3.0.0-beta.175",
40
- "@webex/test-helper-test-users": "3.0.0-beta.175",
35
+ "@webex/plugin-meetings": "3.0.0-beta.177",
36
+ "@webex/test-helper-chai": "3.0.0-beta.177",
37
+ "@webex/test-helper-mocha": "3.0.0-beta.177",
38
+ "@webex/test-helper-mock-webex": "3.0.0-beta.177",
39
+ "@webex/test-helper-retry": "3.0.0-beta.177",
40
+ "@webex/test-helper-test-users": "3.0.0-beta.177",
41
41
  "chai": "^4.3.4",
42
42
  "chai-as-promised": "^7.1.1",
43
43
  "jsdom-global": "3.0.2",
@@ -46,19 +46,19 @@
46
46
  "typescript": "^4.7.4"
47
47
  },
48
48
  "dependencies": {
49
- "@webex/common": "3.0.0-beta.175",
49
+ "@webex/common": "3.0.0-beta.177",
50
50
  "@webex/internal-media-core": "1.39.1",
51
- "@webex/internal-plugin-conversation": "3.0.0-beta.175",
52
- "@webex/internal-plugin-device": "3.0.0-beta.175",
53
- "@webex/internal-plugin-llm": "3.0.0-beta.175",
54
- "@webex/internal-plugin-mercury": "3.0.0-beta.175",
55
- "@webex/internal-plugin-metrics": "3.0.0-beta.175",
56
- "@webex/internal-plugin-support": "3.0.0-beta.175",
57
- "@webex/internal-plugin-user": "3.0.0-beta.175",
58
- "@webex/media-helpers": "3.0.0-beta.175",
59
- "@webex/plugin-people": "3.0.0-beta.175",
60
- "@webex/plugin-rooms": "3.0.0-beta.175",
61
- "@webex/webex-core": "3.0.0-beta.175",
51
+ "@webex/internal-plugin-conversation": "3.0.0-beta.177",
52
+ "@webex/internal-plugin-device": "3.0.0-beta.177",
53
+ "@webex/internal-plugin-llm": "3.0.0-beta.177",
54
+ "@webex/internal-plugin-mercury": "3.0.0-beta.177",
55
+ "@webex/internal-plugin-metrics": "3.0.0-beta.177",
56
+ "@webex/internal-plugin-support": "3.0.0-beta.177",
57
+ "@webex/internal-plugin-user": "3.0.0-beta.177",
58
+ "@webex/media-helpers": "3.0.0-beta.177",
59
+ "@webex/plugin-people": "3.0.0-beta.177",
60
+ "@webex/plugin-rooms": "3.0.0-beta.177",
61
+ "@webex/webex-core": "3.0.0-beta.177",
62
62
  "ampersand-collection": "^2.0.2",
63
63
  "bowser": "^2.11.0",
64
64
  "btoa": "^1.2.1",
@@ -38,8 +38,6 @@ interface IAnnotationChannel {
38
38
  acceptRequest: (approval) => undefined | Promise<void>;
39
39
  declineRequest: (approval) => undefined | Promise<void>;
40
40
  closeAnnotation: (requestData: RequestData) => undefined | Promise<void>;
41
- // change annotation privilege
42
- changeAnnotationOptions: (remoteShareUrl, annotationInfo) => undefined | Promise<void>;
43
41
  // === below is for attendee
44
42
  approveAnnotation: (requestData: RequestData) => undefined | Promise<void>;
45
43
  cancelApproveAnnotation: (requestData: RequestData, approval) => undefined | Promise<void>;
@@ -280,21 +280,6 @@ class AnnotationChannel extends WebexPlugin implements IAnnotationChannel {
280
280
  );
281
281
  };
282
282
 
283
- /**
284
- * Change annotation options
285
- * @param {remoteShareUrl} remoteShareUrl
286
- * @param {annotationInfo} annotationInfo
287
- * @returns {Promise}
288
- */
289
- public changeAnnotationOptions(remoteShareUrl, annotationInfo) {
290
- // @ts-ignore
291
- return this.request({
292
- method: HTTP_VERBS.PATCH,
293
- url: remoteShareUrl,
294
- body: annotationInfo,
295
- });
296
- }
297
-
298
283
  /**
299
284
  * private encrypted the strokes data
300
285
  * @param {string} encryptedContent
@@ -295,7 +295,11 @@ export enum ScreenShareFloorStatus {
295
295
  * @instance
296
296
  * @type {Object}
297
297
  * @property {Boolean} memberId id of the meeting member that started screen share
298
+ * @property {String} url of this content share
299
+ * @property {String} shareInstanceId of this content share
300
+ * @property {Object} annotation Info of this content share
298
301
  * @memberof Meeting
302
+ *
299
303
  */
300
304
 
301
305
  /**
@@ -2233,6 +2237,7 @@ export default class Meeting extends StatelessWebexPlugin {
2233
2237
  memberId: contentShare.beneficiaryId,
2234
2238
  url: contentShare.url,
2235
2239
  shareInstanceId: contentShare.shareInstanceId,
2240
+ annotationInfo: contentShare.annotation,
2236
2241
  }
2237
2242
  );
2238
2243
  };
@@ -2321,6 +2326,7 @@ export default class Meeting extends StatelessWebexPlugin {
2321
2326
  memberId: contentShare.beneficiaryId,
2322
2327
  url: contentShare.url,
2323
2328
  shareInstanceId: contentShare.shareInstanceId,
2329
+ annotationInfo: contentShare.annotation,
2324
2330
  }
2325
2331
  );
2326
2332
  this.members.locusMediaSharesUpdate(payload);
@@ -343,24 +343,6 @@ describe('live-annotation', () => {
343
343
  });
344
344
  });
345
345
 
346
- describe('change annotation info by presenter', () => {
347
- it('makes change annotation options as expected', async() => {
348
- const options = { annotationInfo:{
349
- version: '1',
350
- policy: 'AnnotationNotAllowed',
351
- }};
352
-
353
- const remoteShareUrl = 'remoteShareUrl';
354
- const result = await annotationService.changeAnnotationOptions(remoteShareUrl,options);
355
- assert.calledOnceWithExactly(webex.request, {
356
- method: 'PATCH',
357
- url: 'remoteShareUrl',
358
- body: {annotationInfo: { version: '1', policy: 'AnnotationNotAllowed' }}
359
- });
360
- assert.equal(result, 'REQUEST_RETURN_VALUE')
361
- });
362
- });
363
-
364
346
 
365
347
 
366
348
  describe('close annotation', () => {
@@ -3831,7 +3831,7 @@ describe('plugin-meetings', () => {
3831
3831
  assert.equal(meeting.mediaProperties.shareVideoTrack, track);
3832
3832
  assert.equal(meeting.mediaProperties.mediaDirection.sendShare, true);
3833
3833
  };
3834
-
3834
+
3835
3835
  const checkScreenShareAudioPublished = (track) => {
3836
3836
  assert.calledOnce(meeting.requestScreenShareFloor);
3837
3837
 
@@ -3849,27 +3849,27 @@ describe('plugin-meetings', () => {
3849
3849
  assert.calledOnce(meeting.mediaProperties.webrtcMediaConnection.publishTrack);
3850
3850
  checkScreenShareVideoPublished(videoShareTrack);
3851
3851
  });
3852
-
3852
+
3853
3853
  it('requests screen share floor and publishes the screen share audio track', async () => {
3854
3854
  await meeting.publishTracks({screenShare: {audio: audioShareTrack}});
3855
-
3855
+
3856
3856
  assert.calledOnce(meeting.mediaProperties.webrtcMediaConnection.publishTrack);
3857
3857
  checkScreenShareAudioPublished(audioShareTrack);
3858
3858
  });
3859
-
3859
+
3860
3860
  it('does not request screen share floor when publishing video share track if already sharing audio', async () => {
3861
3861
  await meeting.publishTracks({screenShare: {audio: audioShareTrack}});
3862
3862
  assert.calledOnce(meeting.requestScreenShareFloor);
3863
-
3863
+
3864
3864
  meeting.requestScreenShareFloor.reset();
3865
3865
  await meeting.publishTracks({screenShare: {video: videoShareTrack}});
3866
3866
  assert.notCalled(meeting.requestScreenShareFloor);
3867
3867
  })
3868
-
3868
+
3869
3869
  it('does not request screen share floor when publishing audio share track if already sharing video', async () => {
3870
3870
  await meeting.publishTracks({screenShare: {video: videoShareTrack}});
3871
3871
  assert.calledOnce(meeting.requestScreenShareFloor);
3872
-
3872
+
3873
3873
  meeting.requestScreenShareFloor.reset();
3874
3874
  await meeting.publishTracks({screenShare: {audio: audioShareTrack}});
3875
3875
  assert.notCalled(meeting.requestScreenShareFloor);
@@ -4007,26 +4007,26 @@ describe('plugin-meetings', () => {
4007
4007
  assert.calledOnce(meeting.mediaProperties.webrtcMediaConnection.unpublishTrack);
4008
4008
  checkScreenShareVideoUnpublished();
4009
4009
  });
4010
-
4010
+
4011
4011
  it('un-publishes the screen share audio track correctly', async () => {
4012
4012
  await meeting.unpublishTracks([audioShareTrack]);
4013
-
4013
+
4014
4014
  assert.calledOnce(meeting.mediaProperties.webrtcMediaConnection.unpublishTrack);
4015
4015
  checkScreenShareAudioUnpublished();
4016
4016
  });
4017
-
4017
+
4018
4018
  it('releases share floor and sets send direction to false when both screen share tracks are undefined', async () => {
4019
4019
  await meeting.unpublishTracks([videoShareTrack, audioShareTrack]);
4020
-
4020
+
4021
4021
  assert.calledOnce(meeting.releaseScreenShareFloor);
4022
4022
  assert.equal(meeting.mediaProperties.mediaDirection.sendShare, false);
4023
4023
  });
4024
-
4024
+
4025
4025
  it('does not release share floor when audio is released and video still exists', async () => {
4026
4026
  await meeting.unpublishTracks([audioShareTrack]);
4027
4027
  assert.notCalled(meeting.releaseScreenShareFloor);
4028
4028
  });
4029
-
4029
+
4030
4030
  it('does not release share floor when video is released and audio still exists', async () => {
4031
4031
  await meeting.unpublishTracks([videoShareTrack]);
4032
4032
  assert.notCalled(meeting.releaseScreenShareFloor);
@@ -6219,7 +6219,7 @@ describe('plugin-meetings', () => {
6219
6219
  eventTrigger.share.push({
6220
6220
  eventName: EVENT_TRIGGERS.MEETING_STARTED_SHARING_REMOTE,
6221
6221
  functionName: 'remoteShare',
6222
- eventPayload: {memberId: beneficiaryId, url, shareInstanceId},
6222
+ eventPayload: {memberId: beneficiaryId, url, shareInstanceId , annotationInfo:undefined},
6223
6223
  });
6224
6224
  }
6225
6225
  }