@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.
- package/dist/annotation/annotation.types.js.map +1 -1
- package/dist/annotation/index.js +2 -19
- package/dist/annotation/index.js.map +1 -1
- 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 +8 -2
- package/dist/meeting/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +0 -1
- package/dist/types/annotation/index.d.ts +0 -7
- package/dist/types/meeting/index.d.ts +4 -0
- package/package.json +19 -19
- package/src/annotation/annotation.types.ts +0 -2
- package/src/annotation/index.ts +0 -15
- package/src/meeting/index.ts +6 -0
- package/test/unit/spec/annotation/index.ts +0 -18
- package/test/unit/spec/meeting/index.js +14 -14
|
@@ -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.
|
|
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.
|
|
36
|
-
"@webex/test-helper-chai": "3.0.0-beta.
|
|
37
|
-
"@webex/test-helper-mocha": "3.0.0-beta.
|
|
38
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
39
|
-
"@webex/test-helper-retry": "3.0.0-beta.
|
|
40
|
-
"@webex/test-helper-test-users": "3.0.0-beta.
|
|
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.
|
|
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.
|
|
52
|
-
"@webex/internal-plugin-device": "3.0.0-beta.
|
|
53
|
-
"@webex/internal-plugin-llm": "3.0.0-beta.
|
|
54
|
-
"@webex/internal-plugin-mercury": "3.0.0-beta.
|
|
55
|
-
"@webex/internal-plugin-metrics": "3.0.0-beta.
|
|
56
|
-
"@webex/internal-plugin-support": "3.0.0-beta.
|
|
57
|
-
"@webex/internal-plugin-user": "3.0.0-beta.
|
|
58
|
-
"@webex/media-helpers": "3.0.0-beta.
|
|
59
|
-
"@webex/plugin-people": "3.0.0-beta.
|
|
60
|
-
"@webex/plugin-rooms": "3.0.0-beta.
|
|
61
|
-
"@webex/webex-core": "3.0.0-beta.
|
|
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>;
|
package/src/annotation/index.ts
CHANGED
|
@@ -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
|
package/src/meeting/index.ts
CHANGED
|
@@ -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
|
}
|