fcr-ui-scene 3.8.0-alpha → 3.8.0

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.
Files changed (54) hide show
  1. package/lib/fragments/whiteboard/store.js +1 -1
  2. package/lib/modules/caption/draggable-container/index.js +34 -12
  3. package/lib/modules/caption/store.d.ts +1 -4
  4. package/lib/modules/caption/store.js +10 -18
  5. package/lib/modules/caption/view.js +16 -27
  6. package/lib/modules/chat/store.d.ts +1 -0
  7. package/lib/modules/chat/store.js +2 -2
  8. package/lib/modules/components/caption-menu/index.d.ts +2 -0
  9. package/lib/modules/components/caption-menu/index.js +13 -10
  10. package/lib/modules/components/caption-menu/participants-privilege-control-options.js +5 -19
  11. package/lib/modules/components/caption-menu/translation-setting-options.js +31 -24
  12. package/lib/modules/control-bar/components/carmera/index.js +7 -39
  13. package/lib/modules/control-bar/components/cloud-recording-buttons.js +18 -33
  14. package/lib/modules/control-bar/components/microphone/index.js +3 -43
  15. package/lib/modules/control-bar/components/share-audio/index.d.ts +2 -0
  16. package/lib/modules/control-bar/components/share-audio/index.js +4 -10
  17. package/lib/modules/control-bar/hooks.d.ts +1 -0
  18. package/lib/modules/control-bar/hooks.js +140 -1
  19. package/lib/modules/control-bar/store.d.ts +3 -4
  20. package/lib/modules/control-bar/store.js +37 -30
  21. package/lib/modules/control-bar/type.d.ts +3 -0
  22. package/lib/modules/control-bar/view.js +40 -57
  23. package/lib/modules/dialog/components/confirm/index.js +0 -1
  24. package/lib/modules/dialog/components/dialog-container/index.js +1 -0
  25. package/lib/modules/event-toast/index.js +7 -1
  26. package/lib/modules/layout/store.base.d.ts +1 -1
  27. package/lib/modules/layout/store.electron.d.ts +0 -1
  28. package/lib/modules/layout/store.electron.js +37 -133
  29. package/lib/modules/participant/store.base.js +8 -10
  30. package/lib/modules/secondary-window/store.js +1 -3
  31. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.d.ts +28 -0
  32. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +41 -5
  33. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.d.ts +3 -14
  34. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +45 -24
  35. package/lib/modules/setting/index.js +4 -2
  36. package/lib/modules/setting/store.base.d.ts +5 -3
  37. package/lib/modules/setting/store.base.js +64 -43
  38. package/lib/modules/setting/store.electron.d.ts +1 -1
  39. package/lib/modules/setting/store.electron.js +3 -7
  40. package/lib/modules/setting/view.js +3 -2
  41. package/lib/modules/share-screen/store.electron.js +51 -23
  42. package/lib/modules/subtitles-history/components/list-item.js +4 -7
  43. package/lib/modules/subtitles-history/store.base.d.ts +3 -1
  44. package/lib/modules/subtitles-history/store.base.js +11 -1
  45. package/lib/providers/screen-share/provider.base.d.ts +2 -13
  46. package/lib/providers/screen-share/provider.base.js +5 -12
  47. package/lib/providers/screen-share/provider.electron.d.ts +0 -5
  48. package/lib/providers/screen-share/provider.electron.js +31 -18
  49. package/lib/providers/screen-share/type.d.ts +0 -16
  50. package/lib/providers/stt-provider/stt-provider.d.ts +3 -4
  51. package/lib/providers/stt-provider/stt-provider.js +145 -146
  52. package/lib/providers/stt-provider/type.d.ts +2 -10
  53. package/lib/providers/stt-provider/type.js +3 -3
  54. package/package.json +8 -8
@@ -77,7 +77,7 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
77
77
  var _translationSettingOptions = require("../../modules/components/caption-menu/translation-setting-options");
78
78
  var _interpreter = require("../../shared-data/interpreter");
79
79
  var _FcrUISttProviderImpl;
80
- var _initProto, _init__captionState, _init__transcribingState, _init__openOrStopTranscribingUser, _init__hasEverEnabledTranscribing, _init__languageOptions, _init__sourceLanguage, _init__translateLanguage, _init__transcribingList, _init__captionSentence, _init__preCaptionSentence, _init__isCaptionOpening;
80
+ var _initProto, _init__captionState, _init__transcribingState, _init__openOrStopTranscribingUser, _init__hasEverEnabledTranscribing, _init__languageOptions, _init__sourceLanguage, _init__translateLanguage, _init__transcribingList, _init__captionSentence, _init__isCaptionOpening;
81
81
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
82
82
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
83
83
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -110,7 +110,6 @@ var _G = /*#__PURE__*/new WeakMap();
110
110
  var _H = /*#__PURE__*/new WeakMap();
111
111
  var _I = /*#__PURE__*/new WeakMap();
112
112
  var _J = /*#__PURE__*/new WeakMap();
113
- var _K = /*#__PURE__*/new WeakMap();
114
113
  var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function () {
115
114
  function FcrUISttProviderImpl(_ref) {
116
115
  var _this = this;
@@ -130,6 +129,7 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
130
129
  (0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
131
130
  (0, _defineProperty2["default"])(this, "_disposer", []);
132
131
  (0, _defineProperty2["default"])(this, "_sentenceMap", new Map());
132
+ (0, _defineProperty2["default"])(this, "_effectiveTranslateLanguage", null);
133
133
  (0, _defineProperty2["default"])(this, "_privilegeObserver", {
134
134
  onSecurityInfoUpdated: function onSecurityInfoUpdated(roomId, event) {
135
135
  var securityInfo = event.securityInfo,
@@ -207,7 +207,12 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
207
207
  _this._captionState = captionState;
208
208
  _this._isCaptionOpening = false;
209
209
  _this._captionSentence = null;
210
- _this._preCaptionSentence = null;
210
+ if (captionState && !_this.transcribingState) {
211
+ if (_this._privilegeProvider.hasSetSourceLanguagePermission()) {
212
+ _this._updateSourceLanguage(_this._sourceLanguage);
213
+ }
214
+ _this.subscribeTranslateLanguage(_this._translateLanguage);
215
+ }
211
216
  },
212
217
  onTranscribingStateUpdated: function onTranscribingStateUpdated(roomId, state, operatorUser) {
213
218
  (0, _mobx.runInAction)(function () {
@@ -218,6 +223,12 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
218
223
  _this._openOrStopTranscribingUser = null;
219
224
  _this._logger.error('onTranscribingStateUpdated: operatorUser is null');
220
225
  }
226
+ if (_this._transcribingState && !_this.transcribingState) {
227
+ if (_this._privilegeProvider.hasSetSourceLanguagePermission()) {
228
+ _this._updateSourceLanguage(_this._sourceLanguage);
229
+ }
230
+ _this.subscribeTranslateLanguage(_this._translateLanguage);
231
+ }
221
232
  });
222
233
  },
223
234
  onSourceLanguageUpdated: function onSourceLanguageUpdated(roomId, operatorUser) {
@@ -251,12 +262,11 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
251
262
  _classPrivateFieldInitSpec(this, _C, _init__openOrStopTranscribingUser(this));
252
263
  _classPrivateFieldInitSpec(this, _D, _init__hasEverEnabledTranscribing(this));
253
264
  _classPrivateFieldInitSpec(this, _E, _init__languageOptions(this));
254
- _classPrivateFieldInitSpec(this, _F, _init__sourceLanguage(this));
255
- _classPrivateFieldInitSpec(this, _G, _init__translateLanguage(this));
265
+ _classPrivateFieldInitSpec(this, _F, _init__sourceLanguage(this, _type2.FcrLanguage.ZH));
266
+ _classPrivateFieldInitSpec(this, _G, _init__translateLanguage(this, null));
256
267
  _classPrivateFieldInitSpec(this, _H, _init__transcribingList(this, []));
257
268
  _classPrivateFieldInitSpec(this, _I, _init__captionSentence(this, null));
258
- _classPrivateFieldInitSpec(this, _J, _init__preCaptionSentence(this, null));
259
- _classPrivateFieldInitSpec(this, _K, _init__isCaptionOpening(this, false));
269
+ _classPrivateFieldInitSpec(this, _J, _init__isCaptionOpening(this, false));
260
270
  (0, _defineProperty2["default"])(this, "_handleSourceLanguageUpdated", function () {
261
271
  _this._observable.notifyObservers('onSourceLanguageUpdated', _this._sourceLanguage);
262
272
  });
@@ -292,8 +302,10 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
292
302
  };
293
303
  this._cacheMaxLimit = 500;
294
304
  }
295
- this._sourceLanguage = this._sttControl.getSourceLanguage() || _type2.FcrLanguage.ZH;
296
- this._translateLanguage = null;
305
+ var _sourceLanguage = this._sttControl.getSourceLanguage();
306
+ if (_sourceLanguage) {
307
+ this._sourceLanguage = _sourceLanguage;
308
+ }
297
309
  this._disposer.push((0, _mobx.reaction)(function () {
298
310
  return _this.sourceLanguage;
299
311
  }, this._handleSourceLanguageUpdated), (0, _mobx.reaction)(function () {
@@ -375,21 +387,13 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
375
387
  _classPrivateFieldSet(_I, this, v);
376
388
  }
377
389
  }, {
378
- key: "_preCaptionSentence",
390
+ key: "_isCaptionOpening",
379
391
  get: function get() {
380
392
  return _classPrivateFieldGet(_J, this);
381
393
  },
382
394
  set: function set(v) {
383
395
  _classPrivateFieldSet(_J, this, v);
384
396
  }
385
- }, {
386
- key: "_isCaptionOpening",
387
- get: function get() {
388
- return _classPrivateFieldGet(_K, this);
389
- },
390
- set: function set(v) {
391
- _classPrivateFieldSet(_K, this, v);
392
- }
393
397
  }, {
394
398
  key: "captionState",
395
399
  get: function get() {
@@ -445,11 +449,6 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
445
449
  get: function get() {
446
450
  return this._captionSentence;
447
451
  }
448
- }, {
449
- key: "preCaptionSentence",
450
- get: function get() {
451
- return this._preCaptionSentence;
452
- }
453
452
  }, {
454
453
  key: "release",
455
454
  value: function release() {
@@ -473,8 +472,8 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
473
472
  _context.next = 1;
474
473
  return this._roomSessionControl.startRoomSession({
475
474
  sessionKey: _type4.FcrUISessionKey.REQUEST_OPEN_TRANSCRIBING,
476
- duration: 11,
477
- // 和其他端保持一致为11秒
475
+ duration: _type3.FcrUISttConstants.REQUEST_OPEN_TRANSCRIBING_DURATION,
476
+ // 主持人有10s倒计时,这个时间不影响主持人
478
477
  payload: {}
479
478
  }, [_type2.FcrPrivilegeUserRole.HOST]);
480
479
  case 1:
@@ -528,20 +527,27 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
528
527
  // 响应发起请求的用户
529
528
  // 在此期间其他用户可能也发起过请求, 但是因为只会 reject 收到的第一个 session 的请求
530
529
  // 所以还需要调用 startRoomSession 通知其他发起请求的用户请求被拒绝
531
- this._roomSessionControl.rejectRoomSession({
532
- sessionId: session.sessionId,
533
- sessionKey: _type4.FcrUISessionKey.REJECT_OPEN_TRANSCRIBING,
534
- senderId: session.senderId,
535
- duration: 1,
536
- payload: {},
537
- timestamp: Date.now(),
538
- interval: 0
539
- }, {}),
530
+ // this._roomSessionControl.rejectRoomSession(
531
+ // {
532
+ // sessionId: session.sessionId,
533
+ // sessionKey: FcrUISessionKey.REJECT_OPEN_TRANSCRIBING,
534
+ // senderId: session.senderId,
535
+ // duration: 1,
536
+ // payload: {},
537
+ // timestamp: Date.now(),
538
+ // interval: 0,
539
+ // },
540
+ // {},
541
+ // ),
542
+
540
543
  // 通知所有用户请求被拒绝, 主持人和其他发起请求的用户需要在收到该通知后, 需要自行判断自己身份、是否发起过请求来决定是否需要处理此通知
541
544
  this._roomSessionControl.startRoomSession({
542
545
  sessionKey: _type4.FcrUISessionKey.REJECT_OPEN_TRANSCRIBING,
543
546
  duration: 1,
544
- payload: {}
547
+ payload: {
548
+ rejected_userId: session.senderId,
549
+ rejected_sessionId: session.sessionId
550
+ }
545
551
  })]));
546
552
  case 1:
547
553
  case "end":
@@ -648,12 +654,20 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
648
654
  }, {
649
655
  key: "updateSourceLanguage",
650
656
  value: function () {
651
- var _updateSourceLanguage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(language) {
657
+ var _updateSourceLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(language) {
652
658
  var _this2 = this;
653
- var reason1, dialogId;
654
- return _regenerator["default"].wrap(function (_context8) {
655
- while (1) switch (_context8.prev = _context8.next) {
659
+ var isSTTEnabled, reason1, dialogId;
660
+ return _regenerator["default"].wrap(function (_context7) {
661
+ while (1) switch (_context7.prev = _context7.next) {
656
662
  case 0:
663
+ isSTTEnabled = this.captionState || this.transcribingState;
664
+ if (isSTTEnabled) {
665
+ _context7.next = 1;
666
+ break;
667
+ }
668
+ this._sourceLanguage = language;
669
+ return _context7.abrupt("return");
670
+ case 1:
657
671
  reason1 = _translationSettingOptions.SourceLanguageMapGenerateI18nKey[language];
658
672
  dialogId = this._dialogProvider.openConfirmDialog({
659
673
  title: (0, _i18n.transI18n)('fmt_ai_subtitles_window_label_change_language'),
@@ -662,42 +676,10 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
662
676
  }),
663
677
  alignCenter: true,
664
678
  closable: false,
665
- onOk: function () {
666
- var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
667
- var previous, _t;
668
- return _regenerator["default"].wrap(function (_context7) {
669
- while (1) switch (_context7.prev = _context7.next) {
670
- case 0:
671
- _this2._dialogProvider.closeConfirmDialog(dialogId);
672
- previous = _this2._sourceLanguage;
673
- if (!(language === previous)) {
674
- _context7.next = 1;
675
- break;
676
- }
677
- _this2._logger.warn('updateSourceLanguage: language is the same as previous, no need to update');
678
- return _context7.abrupt("return");
679
- case 1:
680
- _context7.prev = 1;
681
- _context7.next = 2;
682
- return _this2._sttControl.updateSourceLanguage(language);
683
- case 2:
684
- _context7.next = 4;
685
- break;
686
- case 3:
687
- _context7.prev = 3;
688
- _t = _context7["catch"](1);
689
- throw _t;
690
- case 4:
691
- case "end":
692
- return _context7.stop();
693
- }
694
- }, _callee7, null, [[1, 3]]);
695
- }));
696
- function onOk() {
697
- return _onOk.apply(this, arguments);
698
- }
699
- return onOk;
700
- }(),
679
+ onOk: function onOk() {
680
+ _this2._dialogProvider.closeConfirmDialog(dialogId);
681
+ _this2._updateSourceLanguage(language);
682
+ },
701
683
  onCancel: function onCancel() {
702
684
  _this2._dialogProvider.closeConfirmDialog(dialogId);
703
685
  },
@@ -705,41 +687,50 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
705
687
  okText: (0, _i18n.transI18n)('fmt_ai_subtitles_window_button_modify'),
706
688
  width: 320
707
689
  });
708
- case 1:
690
+ case 2:
709
691
  case "end":
710
- return _context8.stop();
692
+ return _context7.stop();
711
693
  }
712
- }, _callee8, this);
694
+ }, _callee7, this);
713
695
  }));
714
696
  function updateSourceLanguage(_x3) {
715
- return _updateSourceLanguage.apply(this, arguments);
697
+ return _updateSourceLanguage2.apply(this, arguments);
716
698
  }
717
699
  return updateSourceLanguage;
718
700
  }()
719
701
  }, {
720
702
  key: "subscribeTranslateLanguage",
721
703
  value: function () {
722
- var _subscribeTranslateLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(language) {
723
- return _regenerator["default"].wrap(function (_context9) {
724
- while (1) switch (_context9.prev = _context9.next) {
704
+ var _subscribeTranslateLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(language) {
705
+ var isSTTEnabled;
706
+ return _regenerator["default"].wrap(function (_context8) {
707
+ while (1) switch (_context8.prev = _context8.next) {
725
708
  case 0:
709
+ isSTTEnabled = this.captionState || this.transcribingState;
710
+ if (isSTTEnabled) {
711
+ _context8.next = 1;
712
+ break;
713
+ }
714
+ this._translateLanguage = language;
715
+ return _context8.abrupt("return");
716
+ case 1:
726
717
  if (!language) {
727
- _context9.next = 2;
718
+ _context8.next = 3;
728
719
  break;
729
720
  }
730
- _context9.next = 1;
721
+ _context8.next = 2;
731
722
  return this._subscribeTranslateLanguage(language);
732
- case 1:
733
- _context9.next = 3;
734
- break;
735
723
  case 2:
736
- _context9.next = 3;
737
- return this._unsubscribeTranslateLanguage();
724
+ _context8.next = 4;
725
+ break;
738
726
  case 3:
727
+ _context8.next = 4;
728
+ return this._unsubscribeTranslateLanguage();
729
+ case 4:
739
730
  case "end":
740
- return _context9.stop();
731
+ return _context8.stop();
741
732
  }
742
- }, _callee9, this);
733
+ }, _callee8, this);
743
734
  }));
744
735
  function subscribeTranslateLanguage(_x4) {
745
736
  return _subscribeTranslateLanguage2.apply(this, arguments);
@@ -751,11 +742,6 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
751
742
  value: function clearCaptionSentence() {
752
743
  this._captionSentence = null;
753
744
  }
754
- }, {
755
- key: "clearPreCaptionSentence",
756
- value: function clearPreCaptionSentence() {
757
- this._preCaptionSentence = null;
758
- }
759
745
  }, {
760
746
  key: "allowStartTranscribe",
761
747
  value: function allowStartTranscribe(enable) {
@@ -790,6 +776,25 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
790
776
  value: function removeObserver(observer) {
791
777
  this._observable.removeObserver(observer);
792
778
  }
779
+ }, {
780
+ key: "_updateSourceLanguage",
781
+ value: function _updateSourceLanguage(language) {
782
+ if (!this._privilegeProvider.hasSetSourceLanguagePermission()) {
783
+ this._logger.error('updateSourceLanguage: no permission to update source language');
784
+ return;
785
+ }
786
+ var previous = this._sourceLanguage;
787
+ if (language === previous) {
788
+ this._logger.warn('updateSourceLanguage: language is the same as previous, no need to update');
789
+ return;
790
+ }
791
+ try {
792
+ this._sttControl.updateSourceLanguage(language);
793
+ } catch (error) {
794
+ this._sourceLanguage = this._sttControl.getSourceLanguage() || _type2.FcrLanguage.ZH;
795
+ throw error;
796
+ }
797
+ }
793
798
  }, {
794
799
  key: "_getTranslation",
795
800
  value: function _getTranslation(translation, owner, timestamp) {
@@ -819,9 +824,6 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
819
824
  return;
820
825
  }
821
826
  var translation = this._translateLanguage ? event.translations.get(this._translateLanguage) : undefined;
822
- if (!translation && this._translateLanguage) {
823
- return;
824
- }
825
827
  var id = event.transcript.id;
826
828
  var sentence = this._sentenceMap.get(id);
827
829
  if (sentence === undefined) {
@@ -855,28 +857,24 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
855
857
  }
856
858
  }
857
859
  if (this.captionState) {
858
- var _this$_preCaptionSent;
859
- if (this._captionSentence && ((_this$_preCaptionSent = this._preCaptionSentence) === null || _this$_preCaptionSent === void 0 ? void 0 : _this$_preCaptionSent.id) !== this._captionSentence.id) {
860
- this._preCaptionSentence = this._captionSentence;
861
- }
862
860
  this._captionSentence = sentence;
863
861
  }
864
862
  }
865
863
  }, {
866
864
  key: "_subscribeTranslateLanguage",
867
865
  value: function () {
868
- var _subscribeTranslateLanguage3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0(language) {
869
- var previous, now, sentence, _t2;
870
- return _regenerator["default"].wrap(function (_context0) {
871
- while (1) switch (_context0.prev = _context0.next) {
866
+ var _subscribeTranslateLanguage3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(language) {
867
+ var previous, now, sentence, _t;
868
+ return _regenerator["default"].wrap(function (_context9) {
869
+ while (1) switch (_context9.prev = _context9.next) {
872
870
  case 0:
873
- previous = this._translateLanguage;
871
+ previous = this._effectiveTranslateLanguage;
874
872
  if (!(language === previous)) {
875
- _context0.next = 1;
873
+ _context9.next = 1;
876
874
  break;
877
875
  }
878
876
  this._logger.warn('subscribeTranslateLanguage: language is the same as previous, no need to update');
879
- return _context0.abrupt("return");
877
+ return _context9.abrupt("return");
880
878
  case 1:
881
879
  this._translateLanguage = language;
882
880
  now = Date.now();
@@ -887,23 +885,24 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
887
885
  startTs: now
888
886
  };
889
887
  this._transcribingList.push(sentence);
890
- _context0.prev = 2;
891
- _context0.next = 3;
888
+ _context9.prev = 2;
889
+ _context9.next = 3;
892
890
  return this._sttControl.subscribeTranscribingLanguage(language);
893
891
  case 3:
894
- _context0.next = 5;
892
+ this._effectiveTranslateLanguage = language;
893
+ _context9.next = 5;
895
894
  break;
896
895
  case 4:
897
- _context0.prev = 4;
898
- _t2 = _context0["catch"](2);
896
+ _context9.prev = 4;
897
+ _t = _context9["catch"](2);
899
898
  // 订阅失败, 恢复之前的值
900
899
  this._translateLanguage = previous;
901
- throw _t2;
900
+ throw _t;
902
901
  case 5:
903
902
  case "end":
904
- return _context0.stop();
903
+ return _context9.stop();
905
904
  }
906
- }, _callee0, this, [[2, 4]]);
905
+ }, _callee9, this, [[2, 4]]);
907
906
  }));
908
907
  function _subscribeTranslateLanguage(_x5) {
909
908
  return _subscribeTranslateLanguage3.apply(this, arguments);
@@ -913,18 +912,18 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
913
912
  }, {
914
913
  key: "_unsubscribeTranslateLanguage",
915
914
  value: function () {
916
- var _unsubscribeTranslateLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
917
- var previous, now, sentence, _t3;
918
- return _regenerator["default"].wrap(function (_context1) {
919
- while (1) switch (_context1.prev = _context1.next) {
915
+ var _unsubscribeTranslateLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
916
+ var previous, now, sentence, _t2;
917
+ return _regenerator["default"].wrap(function (_context0) {
918
+ while (1) switch (_context0.prev = _context0.next) {
920
919
  case 0:
921
- previous = this._translateLanguage;
920
+ previous = this._effectiveTranslateLanguage;
922
921
  if (previous) {
923
- _context1.next = 1;
922
+ _context0.next = 1;
924
923
  break;
925
924
  }
926
925
  this._logger.warn('unsubscribeTranslateLanguage: language is already null, no need to unsubscribe');
927
- return _context1.abrupt("return");
926
+ return _context0.abrupt("return");
928
927
  case 1:
929
928
  this._translateLanguage = null;
930
929
  now = Date.now();
@@ -935,23 +934,24 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
935
934
  startTs: now
936
935
  };
937
936
  this._transcribingList.push(sentence);
938
- _context1.prev = 2;
939
- _context1.next = 3;
937
+ _context0.prev = 2;
938
+ _context0.next = 3;
940
939
  return this._sttControl.unsubscribeTranscribingLanguage();
941
940
  case 3:
942
- _context1.next = 5;
941
+ this._effectiveTranslateLanguage = null;
942
+ _context0.next = 5;
943
943
  break;
944
944
  case 4:
945
- _context1.prev = 4;
946
- _t3 = _context1["catch"](2);
945
+ _context0.prev = 4;
946
+ _t2 = _context0["catch"](2);
947
947
  // 取消订阅失败, 恢复之前的值
948
948
  this._translateLanguage = previous;
949
- throw _t3;
949
+ throw _t2;
950
950
  case 5:
951
951
  case "end":
952
- return _context1.stop();
952
+ return _context0.stop();
953
953
  }
954
- }, _callee1, this, [[2, 4]]);
954
+ }, _callee0, this, [[2, 4]]);
955
955
  }));
956
956
  function _unsubscribeTranslateLanguage() {
957
957
  return _unsubscribeTranslateLanguage2.apply(this, arguments);
@@ -961,17 +961,17 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
961
961
  }, {
962
962
  key: "_markHasEverEnabledTranscribing",
963
963
  value: (function () {
964
- var _markHasEverEnabledTranscribing2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
965
- return _regenerator["default"].wrap(function (_context10) {
966
- while (1) switch (_context10.prev = _context10.next) {
964
+ var _markHasEverEnabledTranscribing2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
965
+ return _regenerator["default"].wrap(function (_context1) {
966
+ while (1) switch (_context1.prev = _context1.next) {
967
967
  case 0:
968
968
  if (!(this._roomControl.getRoomPropertiesByKeyPath('stt.transcribingChanged') === true)) {
969
- _context10.next = 1;
969
+ _context1.next = 1;
970
970
  break;
971
971
  }
972
- return _context10.abrupt("return");
972
+ return _context1.abrupt("return");
973
973
  case 1:
974
- _context10.next = 2;
974
+ _context1.next = 2;
975
975
  return this._roomControl.updateRoomProperties({
976
976
  'stt.transcribingChanged': true
977
977
  });
@@ -979,9 +979,9 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
979
979
  this._hasEverEnabledTranscribing = true;
980
980
  case 3:
981
981
  case "end":
982
- return _context10.stop();
982
+ return _context1.stop();
983
983
  }
984
- }, _callee10, this);
984
+ }, _callee1, this);
985
985
  }));
986
986
  function _markHasEverEnabledTranscribing() {
987
987
  return _markHasEverEnabledTranscribing2.apply(this, arguments);
@@ -991,8 +991,8 @@ var FcrUISttProviderImpl = exports.FcrUISttProviderImpl = /*#__PURE__*/function
991
991
  }]);
992
992
  }();
993
993
  _FcrUISttProviderImpl = FcrUISttProviderImpl;
994
- var _applyDecs$e = _applyDecs(_FcrUISttProviderImpl, [[_mobx.observable, 1, "_captionState"], [_mobx.observable, 1, "_transcribingState"], [_mobx.observable, 1, "_openOrStopTranscribingUser"], [_mobx.observable, 1, "_hasEverEnabledTranscribing"], [_mobx.observable, 1, "_languageOptions"], [_mobx.observable, 1, "_sourceLanguage"], [_mobx.observable, 1, "_translateLanguage"], [_mobx.observable, 1, "_transcribingList"], [_mobx.observable, 1, "_captionSentence"], [_mobx.observable, 1, "_preCaptionSentence"], [_mobx.observable, 1, "_isCaptionOpening"], [_imports.bound, 2, "acceptOpenTranscribing"], [_imports.bound, 2, "rejectOpenTranscribing"], [_imports.bound, 2, "startCaption"], [_imports.bound, 2, "stopCaption"], [_imports.bound, 2, "startTranscribing"], [_imports.bound, 2, "stopTranscribing"], [_imports.bound, 2, "updateSourceLanguage"], [_imports.bound, 2, "subscribeTranslateLanguage"], [_imports.bound, 2, "clearCaptionSentence"], [_imports.bound, 2, "clearPreCaptionSentence"], [_imports.bound, 2, "allowStartTranscribe"], [_imports.bound, 2, "allowStartCaption"], [_imports.bound, 2, "allowSetSourceLanguage"], [_imports.bound, 2, "_handleSttEventReceived"]], []).e;
995
- var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 12);
994
+ var _applyDecs$e = _applyDecs(_FcrUISttProviderImpl, [[_mobx.observable, 1, "_captionState"], [_mobx.observable, 1, "_transcribingState"], [_mobx.observable, 1, "_openOrStopTranscribingUser"], [_mobx.observable, 1, "_hasEverEnabledTranscribing"], [_mobx.observable, 1, "_languageOptions"], [_mobx.observable, 1, "_sourceLanguage"], [_mobx.observable, 1, "_translateLanguage"], [_mobx.observable, 1, "_transcribingList"], [_mobx.observable, 1, "_captionSentence"], [_mobx.observable, 1, "_isCaptionOpening"], [_imports.bound, 2, "acceptOpenTranscribing"], [_imports.bound, 2, "rejectOpenTranscribing"], [_imports.bound, 2, "startCaption"], [_imports.bound, 2, "stopCaption"], [_imports.bound, 2, "startTranscribing"], [_imports.bound, 2, "stopTranscribing"], [_imports.bound, 2, "updateSourceLanguage"], [_imports.bound, 2, "subscribeTranslateLanguage"], [_imports.bound, 2, "clearCaptionSentence"], [_imports.bound, 2, "allowStartTranscribe"], [_imports.bound, 2, "allowStartCaption"], [_imports.bound, 2, "allowSetSourceLanguage"], [_imports.bound, 2, "_handleSttEventReceived"]], []).e;
995
+ var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 11);
996
996
  _init__captionState = _applyDecs$e2[0];
997
997
  _init__transcribingState = _applyDecs$e2[1];
998
998
  _init__openOrStopTranscribingUser = _applyDecs$e2[2];
@@ -1002,7 +1002,6 @@ _init__sourceLanguage = _applyDecs$e2[5];
1002
1002
  _init__translateLanguage = _applyDecs$e2[6];
1003
1003
  _init__transcribingList = _applyDecs$e2[7];
1004
1004
  _init__captionSentence = _applyDecs$e2[8];
1005
- _init__preCaptionSentence = _applyDecs$e2[9];
1006
- _init__isCaptionOpening = _applyDecs$e2[10];
1007
- _initProto = _applyDecs$e2[11];
1005
+ _init__isCaptionOpening = _applyDecs$e2[9];
1006
+ _initProto = _applyDecs$e2[10];
1008
1007
  _applyDecs$e;
@@ -12,7 +12,7 @@ export type FcrUISttSentence = {
12
12
  /** 开始时间 */
13
13
  startTs: number;
14
14
  };
15
- export declare const FcrUiSttConstants: {
15
+ export declare const FcrUISttConstants: {
16
16
  readonly REQUEST_OPEN_TRANSCRIBING_DURATION: number;
17
17
  };
18
18
  /** 转写动作类型 */
@@ -82,10 +82,6 @@ export interface FcrUISttProvider {
82
82
  * 当前最新的一句字幕
83
83
  */
84
84
  get captionSentence(): FcrUISttSentence | null;
85
- /**
86
- * 上一句字幕
87
- */
88
- get preCaptionSentence(): FcrUISttSentence | null;
89
85
  /**
90
86
  * 请求开启转写
91
87
  * 和权限相关, 只在用户没有开启转写的权限时, 调用该接口触发申请开启权限的流程
@@ -102,7 +98,7 @@ export interface FcrUISttProvider {
102
98
  * 拒绝开启转写 - 当其他用户请求开启转写时, 主持人(有允许其他人开启转写权限的用户)可以调用该接口通知其他人请求被拒绝
103
99
  * session - 请求的 session
104
100
  */
105
- rejectOpenTranscribing(session: FcrRoomSession): Promise<[void, string]>;
101
+ rejectOpenTranscribing(session: FcrRoomSession): Promise<[string]>;
106
102
  /**
107
103
  * 开启字幕 - 默认输入语言为中文
108
104
  */
@@ -131,10 +127,6 @@ export interface FcrUISttProvider {
131
127
  * 清空当前字幕
132
128
  */
133
129
  clearCaptionSentence(): void;
134
- /**
135
- * 清空上一句字幕
136
- */
137
- clearPreCaptionSentence(): void;
138
130
  /**
139
131
  * 设置是否允许参会人开启/停止实时转写
140
132
  */
@@ -4,9 +4,9 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.FcrUiSttConstants = exports.FcrUISttActionType = void 0;
8
- var FcrUiSttConstants = exports.FcrUiSttConstants = {
9
- REQUEST_OPEN_TRANSCRIBING_DURATION: 15 * 1000 // 申请开启转写的请求有效期,单位毫秒
7
+ exports.FcrUISttConstants = exports.FcrUISttActionType = void 0;
8
+ var FcrUISttConstants = exports.FcrUISttConstants = {
9
+ REQUEST_OPEN_TRANSCRIBING_DURATION: 20 * 1000 // 申请开启转写的请求有效期,单位毫秒
10
10
  };
11
11
 
12
12
  /** 转写动作类型 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcr-ui-scene",
3
- "version": "3.8.0-alpha",
3
+ "version": "3.8.0",
4
4
  "main": "lib/index.js",
5
5
  "repository": "ssh://git@git.agoralab.co/aduc/fcr-ui-scene-desktop.git",
6
6
  "author": "agora.io",
@@ -26,14 +26,13 @@
26
26
  "@react-spring/web": "^9.7.3",
27
27
  "@use-gesture/react": "^10.3.1",
28
28
  "agora-electron-sdk": "4.3.2-build.163-rc.3",
29
- "agora-foundation": "3.8.0-alpha",
30
- "agora-ui-foundation": "3.8.0-alpha",
29
+ "agora-foundation": "3.8.0",
30
+ "agora-ui-foundation": "3.8.0",
31
31
  "classnames": "^2.5.1",
32
32
  "core-js": "^3.33.3",
33
33
  "dayjs": "^1.10.4",
34
34
  "electron-screenshots": "^0.5.26",
35
- "fcr-core": "3.8.0-alpha",
36
- "fcr-ui-widget-sdk": "^3.8.0-alpha",
35
+ "fcr-core": "3.8.0",
37
36
  "js-md5": "^0.8.3",
38
37
  "jszip": "^3.10.1",
39
38
  "lodash": "^4.17.21",
@@ -49,7 +48,8 @@
49
48
  "react-virtualized": "^9.22.5",
50
49
  "tinycolor2": "^1.6.0",
51
50
  "winston": "^3.16.0",
52
- "winston-daily-rotate-file": "^4.7.1"
51
+ "winston-daily-rotate-file": "^4.7.1",
52
+ "fcr-ui-widget-sdk": "3.8.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@babel/core": "^7.23.5",
@@ -64,7 +64,7 @@
64
64
  "@types/react-dom": "^17.0.11",
65
65
  "@types/react-virtualized": "^9.21.30",
66
66
  "@types/tinycolor2": "^1.4.6",
67
- "agora-toolchain": "3.8.0-alpha",
67
+ "agora-toolchain": "3.8.0",
68
68
  "core-js": "^3.33.3",
69
69
  "electron": "22.3.27",
70
70
  "husky": "^9.0.11",
@@ -76,4 +76,4 @@
76
76
  "lint-staged": {
77
77
  "*.{ts,tsx,html,css}": "prettier --write"
78
78
  }
79
- }
79
+ }