@webex/plugin-meetings 3.0.0-beta.115 → 3.0.0-beta.116
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/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +15 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/meeting/index.js +68 -62
- package/dist/meeting/index.js.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/package.json +19 -19
- package/src/constants.ts +1 -0
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/meeting/index.ts +12 -0
- package/test/unit/spec/meeting/index.js +26 -3
|
@@ -182,6 +182,7 @@ export declare const EVENT_TRIGGERS: {
|
|
|
182
182
|
MEETING_STOPPED_SHARING_LOCAL: string;
|
|
183
183
|
MEETING_STARTED_SHARING_REMOTE: string;
|
|
184
184
|
MEETING_STOPPED_SHARING_REMOTE: string;
|
|
185
|
+
MEETING_UPDATE_ANNOTATION_INFO: string;
|
|
185
186
|
MEETING_STARTED_SHARING_WHITEBOARD: string;
|
|
186
187
|
MEETING_STOPPED_SHARING_WHITEBOARD: string;
|
|
187
188
|
MEETING_MEDIA_LOCAL_STARTED: string;
|
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.116",
|
|
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.116",
|
|
36
|
+
"@webex/test-helper-chai": "3.0.0-beta.116",
|
|
37
|
+
"@webex/test-helper-mocha": "3.0.0-beta.116",
|
|
38
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.116",
|
|
39
|
+
"@webex/test-helper-retry": "3.0.0-beta.116",
|
|
40
|
+
"@webex/test-helper-test-users": "3.0.0-beta.116",
|
|
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.116",
|
|
50
50
|
"@webex/internal-media-core": "1.38.0",
|
|
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.116",
|
|
52
|
+
"@webex/internal-plugin-device": "3.0.0-beta.116",
|
|
53
|
+
"@webex/internal-plugin-llm": "3.0.0-beta.116",
|
|
54
|
+
"@webex/internal-plugin-mercury": "3.0.0-beta.116",
|
|
55
|
+
"@webex/internal-plugin-metrics": "3.0.0-beta.116",
|
|
56
|
+
"@webex/internal-plugin-support": "3.0.0-beta.116",
|
|
57
|
+
"@webex/internal-plugin-user": "3.0.0-beta.116",
|
|
58
|
+
"@webex/media-helpers": "3.0.0-beta.116",
|
|
59
|
+
"@webex/plugin-people": "3.0.0-beta.116",
|
|
60
|
+
"@webex/plugin-rooms": "3.0.0-beta.116",
|
|
61
|
+
"@webex/webex-core": "3.0.0-beta.116",
|
|
62
62
|
"ampersand-collection": "^2.0.2",
|
|
63
63
|
"bowser": "^2.11.0",
|
|
64
64
|
"btoa": "^1.2.1",
|
package/src/constants.ts
CHANGED
|
@@ -283,6 +283,7 @@ export const EVENT_TRIGGERS = {
|
|
|
283
283
|
MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',
|
|
284
284
|
MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',
|
|
285
285
|
MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',
|
|
286
|
+
MEETING_UPDATE_ANNOTATION_INFO: 'meeting:updateAnnotationInfo',
|
|
286
287
|
MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',
|
|
287
288
|
MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',
|
|
288
289
|
MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',
|
|
@@ -13,6 +13,7 @@ MediaSharesUtils.parse = (mediaShares: object) => {
|
|
|
13
13
|
content: {
|
|
14
14
|
beneficiaryId: MediaSharesUtils.getContentBeneficiaryId(mediaShares),
|
|
15
15
|
disposition: MediaSharesUtils.getContentDisposition(mediaShares),
|
|
16
|
+
annotation: MediaSharesUtils.getContentAnnotation(mediaShares),
|
|
16
17
|
},
|
|
17
18
|
whiteboard: {
|
|
18
19
|
beneficiaryId: MediaSharesUtils.getWhiteboardBeneficiaryId(mediaShares),
|
|
@@ -140,6 +141,21 @@ MediaSharesUtils.getContentBeneficiaryId = (mediaShares: object) => {
|
|
|
140
141
|
return contentFloor.beneficiary.id;
|
|
141
142
|
};
|
|
142
143
|
|
|
144
|
+
/**
|
|
145
|
+
* get live annotation is sharing from media shares (content)
|
|
146
|
+
* @param {Object} mediaShares
|
|
147
|
+
* @returns {Object}
|
|
148
|
+
*/
|
|
149
|
+
MediaSharesUtils.getContentAnnotation = (mediaShares: object) => {
|
|
150
|
+
const extractContent = MediaSharesUtils.extractContent(mediaShares);
|
|
151
|
+
|
|
152
|
+
if (!extractContent || !extractContent.annotation) {
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return extractContent.annotation;
|
|
157
|
+
};
|
|
158
|
+
|
|
143
159
|
/**
|
|
144
160
|
* get who is sharing from media shares (whiteboard)
|
|
145
161
|
* @param {Object} mediaShares
|
package/src/meeting/index.ts
CHANGED
|
@@ -2188,6 +2188,18 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
2188
2188
|
const previousContentShare = payload.previous?.content;
|
|
2189
2189
|
const previousWhiteboardShare = payload.previous?.whiteboard;
|
|
2190
2190
|
|
|
2191
|
+
if (!isEqual(contentShare?.annotation, previousContentShare?.annotation)) {
|
|
2192
|
+
Trigger.trigger(
|
|
2193
|
+
this,
|
|
2194
|
+
{
|
|
2195
|
+
file: 'meetings/index',
|
|
2196
|
+
function: 'remoteShare',
|
|
2197
|
+
},
|
|
2198
|
+
EVENT_TRIGGERS.MEETING_UPDATE_ANNOTATION_INFO,
|
|
2199
|
+
contentShare.annotation
|
|
2200
|
+
);
|
|
2201
|
+
}
|
|
2202
|
+
|
|
2191
2203
|
if (
|
|
2192
2204
|
contentShare.beneficiaryId === previousContentShare?.beneficiaryId &&
|
|
2193
2205
|
contentShare.disposition === previousContentShare?.disposition &&
|
|
@@ -5863,7 +5863,7 @@ describe('plugin-meetings', () => {
|
|
|
5863
5863
|
'https://board-a.wbx2.com/board/api/v1/channels/977a7330-54f4-11eb-b1ef-91f5eefc7bf3',
|
|
5864
5864
|
};
|
|
5865
5865
|
|
|
5866
|
-
const generateContent = (beneficiaryId = null, disposition = null) => ({
|
|
5866
|
+
const generateContent = (beneficiaryId = null, disposition = null,annotation = undefined) => ({
|
|
5867
5867
|
beneficiaryId,
|
|
5868
5868
|
disposition,
|
|
5869
5869
|
});
|
|
@@ -5880,7 +5880,8 @@ describe('plugin-meetings', () => {
|
|
|
5880
5880
|
beneficiaryId,
|
|
5881
5881
|
resourceUrl,
|
|
5882
5882
|
isAccepting,
|
|
5883
|
-
otherBeneficiaryId
|
|
5883
|
+
otherBeneficiaryId,
|
|
5884
|
+
annotation,
|
|
5884
5885
|
) => {
|
|
5885
5886
|
const newPayload = cloneDeep(payload);
|
|
5886
5887
|
|
|
@@ -5906,7 +5907,7 @@ describe('plugin-meetings', () => {
|
|
|
5906
5907
|
if (isGranting) {
|
|
5907
5908
|
if (isContent) {
|
|
5908
5909
|
activeSharingId.content = beneficiaryId;
|
|
5909
|
-
newPayload.current.content = generateContent(beneficiaryId, FLOOR_ACTION.GRANTED);
|
|
5910
|
+
newPayload.current.content = generateContent(beneficiaryId, FLOOR_ACTION.GRANTED,annotation);
|
|
5910
5911
|
|
|
5911
5912
|
if (isEqual(newPayload.current, newPayload.previous)) {
|
|
5912
5913
|
eventTrigger.member = null;
|
|
@@ -6533,6 +6534,28 @@ describe('plugin-meetings', () => {
|
|
|
6533
6534
|
});
|
|
6534
6535
|
});
|
|
6535
6536
|
|
|
6537
|
+
describe('annotation policy', () => {
|
|
6538
|
+
|
|
6539
|
+
it('Scenario #1: blank annotation', () => {
|
|
6540
|
+
const data1 = generateData(blankPayload, true, true, USER_IDS.ME);
|
|
6541
|
+
const data2 = generateData(data1.payload, false, true, USER_IDS.ME);
|
|
6542
|
+
const data3 = generateData(data2.payload, true, true, USER_IDS.ME);
|
|
6543
|
+
const data4 = generateData(data3.payload, false, true, USER_IDS.ME);
|
|
6544
|
+
|
|
6545
|
+
payloadTestHelper([data1, data2, data3, data4]);
|
|
6546
|
+
});
|
|
6547
|
+
|
|
6548
|
+
it('Scenario #2: annotation', () => {
|
|
6549
|
+
const annotationInfo = {version: '1', policy: 'Approval'};
|
|
6550
|
+
const data1 = generateData(blankPayload, true, true, USER_IDS.ME, annotationInfo);
|
|
6551
|
+
const data2 = generateData(data1.payload, false, true, USER_IDS.ME);
|
|
6552
|
+
const data3 = generateData(data2.payload, true, true, USER_IDS.ME);
|
|
6553
|
+
const data4 = generateData(data3.payload, false, true, USER_IDS.ME);
|
|
6554
|
+
|
|
6555
|
+
payloadTestHelper([data1, data2, data3, data4]);
|
|
6556
|
+
});
|
|
6557
|
+
});
|
|
6558
|
+
|
|
6536
6559
|
describe('Desktop A --> Desktop B', () => {
|
|
6537
6560
|
it('Scenario #1: you share desktop A and then share desktop B', () => {
|
|
6538
6561
|
const data1 = generateData(blankPayload, true, true, USER_IDS.ME);
|