@webex/plugin-meetings 2.60.1-next.6 → 2.60.1-next.7

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: "2.60.1-next.6"
65
+ version: "2.60.1-next.7"
66
66
  });
67
67
  var _default = exports.default = Webinar;
68
68
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -44,13 +44,13 @@
44
44
  "@webex/eslint-config-legacy": "0.0.0",
45
45
  "@webex/jest-config-legacy": "0.0.0",
46
46
  "@webex/legacy-tools": "0.0.0",
47
- "@webex/plugin-meetings": "2.60.1-next.6",
48
- "@webex/plugin-rooms": "2.60.1-next.5",
49
- "@webex/test-helper-chai": "2.60.1-next.5",
50
- "@webex/test-helper-mocha": "2.60.1-next.5",
51
- "@webex/test-helper-mock-webex": "2.60.1-next.5",
52
- "@webex/test-helper-retry": "2.60.1-next.5",
53
- "@webex/test-helper-test-users": "2.60.1-next.5",
47
+ "@webex/plugin-meetings": "2.60.1-next.7",
48
+ "@webex/plugin-rooms": "2.60.1-next.6",
49
+ "@webex/test-helper-chai": "2.60.1-next.6",
50
+ "@webex/test-helper-mocha": "2.60.1-next.6",
51
+ "@webex/test-helper-mock-webex": "2.60.1-next.6",
52
+ "@webex/test-helper-retry": "2.60.1-next.6",
53
+ "@webex/test-helper-test-users": "2.60.1-next.6",
54
54
  "chai": "^4.3.4",
55
55
  "chai-as-promised": "^7.1.1",
56
56
  "eslint": "^8.24.0",
@@ -62,20 +62,20 @@
62
62
  "typescript": "^4.7.4"
63
63
  },
64
64
  "dependencies": {
65
- "@webex/common": "2.60.1-next.5",
65
+ "@webex/common": "2.60.1-next.6",
66
66
  "@webex/internal-media-core": "2.2.6",
67
- "@webex/internal-plugin-conversation": "2.60.1-next.5",
68
- "@webex/internal-plugin-device": "2.60.1-next.5",
69
- "@webex/internal-plugin-llm": "2.60.1-next.5",
70
- "@webex/internal-plugin-mercury": "2.60.1-next.5",
71
- "@webex/internal-plugin-metrics": "2.60.1-next.5",
72
- "@webex/internal-plugin-support": "2.60.1-next.5",
73
- "@webex/internal-plugin-user": "2.60.1-next.5",
74
- "@webex/internal-plugin-voicea": "2.60.1-next.6",
75
- "@webex/media-helpers": "3.0.0-next.24",
76
- "@webex/plugin-people": "2.60.1-next.5",
77
- "@webex/plugin-rooms": "2.60.1-next.5",
78
- "@webex/webex-core": "2.60.1-next.5",
67
+ "@webex/internal-plugin-conversation": "2.60.1-next.6",
68
+ "@webex/internal-plugin-device": "2.60.1-next.6",
69
+ "@webex/internal-plugin-llm": "2.60.1-next.6",
70
+ "@webex/internal-plugin-mercury": "2.60.1-next.6",
71
+ "@webex/internal-plugin-metrics": "2.60.1-next.6",
72
+ "@webex/internal-plugin-support": "2.60.1-next.6",
73
+ "@webex/internal-plugin-user": "2.60.1-next.6",
74
+ "@webex/internal-plugin-voicea": "2.60.1-next.7",
75
+ "@webex/media-helpers": "3.0.0-next.25",
76
+ "@webex/plugin-people": "2.60.1-next.6",
77
+ "@webex/plugin-rooms": "2.60.1-next.6",
78
+ "@webex/webex-core": "2.60.1-next.6",
79
79
  "ampersand-collection": "^2.0.2",
80
80
  "bowser": "^2.11.0",
81
81
  "btoa": "^1.2.1",
@@ -92,5 +92,5 @@
92
92
  "//": [
93
93
  "TODO: upgrade jwt-decode when moving to node 18"
94
94
  ],
95
- "version": "2.60.1-next.6"
95
+ "version": "2.60.1-next.7"
96
96
  }
package/src/constants.ts CHANGED
@@ -375,6 +375,7 @@ export const EVENT_TRIGGERS = {
375
375
  MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
376
376
  MEETING_STREAM_PUBLISH_STATE_CHANGED: 'meeting:streamPublishStateChanged',
377
377
 
378
+ MEETING_TRANSCRIPTION_CONNECTED: 'meeting:transcription:connected',
378
379
  MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',
379
380
  MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',
380
381
 
@@ -968,6 +969,7 @@ export const SELF_ROLES = {
968
969
  COHOST: 'COHOST',
969
970
  MODERATOR: 'MODERATOR',
970
971
  ATTENDEE: 'ATTENDEE',
972
+ PRESENTER: 'PRESENTER',
971
973
  };
972
974
 
973
975
  export const MEETING_STATE = {
@@ -1965,6 +1965,9 @@ export default class Meeting extends StatelessWebexPlugin {
1965
1965
  * @memberof Meeting
1966
1966
  */
1967
1967
  private setUpVoiceaListeners() {
1968
+ // @ts-ignore
1969
+ this.webex.internal.voicea.listenToEvents();
1970
+
1968
1971
  // @ts-ignore
1969
1972
  this.webex.internal.voicea.on(
1970
1973
  VOICEAEVENTS.VOICEA_ANNOUNCEMENT,
@@ -1994,6 +1997,8 @@ export default class Meeting extends StatelessWebexPlugin {
1994
1997
  VOICEAEVENTS.HIGHLIGHT_CREATED,
1995
1998
  this.voiceaListenerCallbacks[VOICEAEVENTS.HIGHLIGHT_CREATED]
1996
1999
  );
2000
+
2001
+ this.areVoiceaEventsSetup = true;
1997
2002
  }
1998
2003
 
1999
2004
  /**
@@ -4587,13 +4592,11 @@ export default class Meeting extends StatelessWebexPlugin {
4587
4592
  const {statusCode} = payload;
4588
4593
 
4589
4594
  if (statusCode === 200) {
4590
- const currentCaptionLanguage =
4591
- this.transcription.languageOptions.requestedCaptionLanguage ?? LANGUAGE_ENGLISH;
4592
4595
  this.transcription.languageOptions = {
4593
4596
  ...this.transcription.languageOptions,
4594
- currentCaptionLanguage,
4597
+ currentCaptionLanguage: language,
4595
4598
  };
4596
- resolve(currentCaptionLanguage);
4599
+ resolve(language);
4597
4600
  } else {
4598
4601
  reject(payload);
4599
4602
  }
@@ -4677,10 +4680,12 @@ export default class Meeting extends StatelessWebexPlugin {
4677
4680
  try {
4678
4681
  if (!this.areVoiceaEventsSetup) {
4679
4682
  this.setUpVoiceaListeners();
4680
- this.areVoiceaEventsSetup = true;
4681
4683
  }
4682
- // @ts-ignore
4683
- await this.webex.internal.voicea.toggleTranscribing(true, options?.spokenLanguage);
4684
+
4685
+ if (this.getCurUserType() === 'host') {
4686
+ // @ts-ignore
4687
+ await this.webex.internal.voicea.toggleTranscribing(true, options?.spokenLanguage);
4688
+ }
4684
4689
  } catch (error) {
4685
4690
  LoggerProxy.logger.error(`Meeting:index#startTranscription --> ${error}`);
4686
4691
  Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.RECEIVE_TRANSCRIPTION_FAILURE, {
@@ -4769,6 +4774,7 @@ export default class Meeting extends StatelessWebexPlugin {
4769
4774
  VOICEAEVENTS.HIGHLIGHT_CREATED,
4770
4775
  this.voiceaListenerCallbacks[VOICEAEVENTS.HIGHLIGHT_CREATED]
4771
4776
  );
4777
+
4772
4778
  this.areVoiceaEventsSetup = false;
4773
4779
  this.triggerStopReceivingTranscriptionEvent();
4774
4780
  }
@@ -5014,15 +5020,33 @@ export default class Meeting extends StatelessWebexPlugin {
5014
5020
  .then((join) => {
5015
5021
  // @ts-ignore - config coming from registerPlugin
5016
5022
  if (this.config.enableAutomaticLLM) {
5017
- this.updateLLMConnection().catch((error) => {
5018
- LoggerProxy.logger.error('Meeting:index#join --> Update LLM Connection Failed', error);
5023
+ this.updateLLMConnection()
5024
+ .catch((error) => {
5025
+ LoggerProxy.logger.error(
5026
+ 'Meeting:index#join --> Transcription Socket Connection Failed',
5027
+ error
5028
+ );
5019
5029
 
5020
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
5021
- correlation_id: this.correlationId,
5022
- reason: error?.message,
5023
- stack: error.stack,
5030
+ Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
5031
+ correlation_id: this.correlationId,
5032
+ reason: error?.message,
5033
+ stack: error.stack,
5034
+ });
5035
+ })
5036
+ .then(() => {
5037
+ LoggerProxy.logger.info(
5038
+ 'Meeting:index#join --> Transcription Socket Connection Success'
5039
+ );
5040
+ Trigger.trigger(
5041
+ this,
5042
+ {
5043
+ file: 'meeting/index',
5044
+ function: 'join',
5045
+ },
5046
+ EVENT_TRIGGERS.MEETING_TRANSCRIPTION_CONNECTED,
5047
+ undefined
5048
+ );
5024
5049
  });
5025
- });
5026
5050
  }
5027
5051
 
5028
5052
  return join;
@@ -7673,6 +7697,9 @@ export default class Meeting extends StatelessWebexPlugin {
7673
7697
  if (roles.includes(SELF_ROLES.COHOST)) {
7674
7698
  return 'cohost';
7675
7699
  }
7700
+ if (roles.includes(SELF_ROLES.PRESENTER)) {
7701
+ return 'presenter';
7702
+ }
7676
7703
  if (roles.includes(SELF_ROLES.ATTENDEE)) {
7677
7704
  return 'attendee';
7678
7705
  }