@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.
@@ -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.115",
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.115",
36
- "@webex/test-helper-chai": "3.0.0-beta.115",
37
- "@webex/test-helper-mocha": "3.0.0-beta.115",
38
- "@webex/test-helper-mock-webex": "3.0.0-beta.115",
39
- "@webex/test-helper-retry": "3.0.0-beta.115",
40
- "@webex/test-helper-test-users": "3.0.0-beta.115",
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.115",
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.115",
52
- "@webex/internal-plugin-device": "3.0.0-beta.115",
53
- "@webex/internal-plugin-llm": "3.0.0-beta.115",
54
- "@webex/internal-plugin-mercury": "3.0.0-beta.115",
55
- "@webex/internal-plugin-metrics": "3.0.0-beta.115",
56
- "@webex/internal-plugin-support": "3.0.0-beta.115",
57
- "@webex/internal-plugin-user": "3.0.0-beta.115",
58
- "@webex/media-helpers": "3.0.0-beta.115",
59
- "@webex/plugin-people": "3.0.0-beta.115",
60
- "@webex/plugin-rooms": "3.0.0-beta.115",
61
- "@webex/webex-core": "3.0.0-beta.115",
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
@@ -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);