bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/settings/service.js

68 lines
1.8 KiB
JavaScript
Raw Normal View History

import Users from '/imports/api/users';
import Auth from '/imports/ui/services/auth';
2017-03-21 02:00:04 +08:00
import Settings from '/imports/ui/services/settings';
import {notify} from '/imports/ui/services/notification';
import GuestService from '/imports/ui/components/waiting-users/service';
feat: Initial implementation of Gladia transcriptions to BBB 2.7 (#19091) * Demo changes * Revert "feat(captions): no longer writes in the pad" This reverts commit a76de8c4585c08dadd4f423b3df9299d4b87ce24. * feat(transcriptoin): Add config options for the transcription backend * feat(transcription): Add autodetect option to cc chevron * feat(transcription): Move transcription options into settings modal * feat(transcription): Set transcription options via userdata * fix(transcription): Correct userdata for settings transcription params * feat(transcriptions): options to auto enable caption button * feat(transcriptions): Option to hide old CC pad funcionality * fix(transcription): Fix PR comments * fix(transcription): Refactor updateTranscript to prevent null user and make it more readable * feat(transcription): bbb_transcription_provider can be set via userdata * fix(transcription): Use base10 for parseInt * fix(transcriptions): Fix CC language divider when using webspeech * fix(transcriptions): Use a default pad in the settings instead of hardcoding 'en' We still need to use a language pad such as 'en', but in the future we can better separate these systems. * fix(transcription): Add a special permission for automatic transcription updates to the pad and restore old per user updates permission * feature(transcriptions): Include transcriptions submenu and locales * chore: bump bbb-transcription-controller to v0.2.0 * fix(transcription): Add missing menu files * fix(transcription): Fix transcription provider options in settings.yml * fix: setting password for bbb-transcription-controller * build: add gladia-proxy.log for transcription-controller * fix(transcriptions): Remove transcript splitting and floor logic from akka apps * fix(captions): Show long utterances as split captions, show multiple speaker captions * chore: bump bbb-transcription-controller to 0.2.1 --------- Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
2023-11-30 23:10:36 +08:00
import SpeechService from '/imports/ui/components/audio/captions/speech/service';
import Intl from '/imports/ui/services/locale';
2017-02-16 02:49:40 +08:00
const getUserRoles = () => {
const user = Users.findOne({
userId: Auth.userID,
2017-07-26 22:09:07 +08:00
});
return user?.role;
};
2022-02-26 01:56:03 +08:00
const isPresenter = () => {
const user = Users.findOne({
userId: Auth.userID,
});
return user?.presenter;
2022-02-26 01:56:03 +08:00
};
const showGuestNotification = () => {
const guestPolicy = GuestService.getGuestPolicy();
// Guest notification only makes sense when guest
// entrance is being controlled by moderators
return guestPolicy === 'ASK_MODERATOR';
};
const isKeepPushingLayoutEnabled = () => Meteor.settings.public.layout.showPushLayoutToggle;
const updateSettings = (obj, msgDescriptor) => {
2017-10-11 06:08:51 +08:00
Object.keys(obj).forEach(k => (Settings[k] = obj[k]));
2017-03-29 02:41:48 +08:00
Settings.save();
feat: Initial implementation of Gladia transcriptions to BBB 2.7 (#19091) * Demo changes * Revert "feat(captions): no longer writes in the pad" This reverts commit a76de8c4585c08dadd4f423b3df9299d4b87ce24. * feat(transcriptoin): Add config options for the transcription backend * feat(transcription): Add autodetect option to cc chevron * feat(transcription): Move transcription options into settings modal * feat(transcription): Set transcription options via userdata * fix(transcription): Correct userdata for settings transcription params * feat(transcriptions): options to auto enable caption button * feat(transcriptions): Option to hide old CC pad funcionality * fix(transcription): Fix PR comments * fix(transcription): Refactor updateTranscript to prevent null user and make it more readable * feat(transcription): bbb_transcription_provider can be set via userdata * fix(transcription): Use base10 for parseInt * fix(transcriptions): Fix CC language divider when using webspeech * fix(transcriptions): Use a default pad in the settings instead of hardcoding 'en' We still need to use a language pad such as 'en', but in the future we can better separate these systems. * fix(transcription): Add a special permission for automatic transcription updates to the pad and restore old per user updates permission * feature(transcriptions): Include transcriptions submenu and locales * chore: bump bbb-transcription-controller to v0.2.0 * fix(transcription): Add missing menu files * fix(transcription): Fix transcription provider options in settings.yml * fix: setting password for bbb-transcription-controller * build: add gladia-proxy.log for transcription-controller * fix(transcriptions): Remove transcript splitting and floor logic from akka apps * fix(captions): Show long utterances as split captions, show multiple speaker captions * chore: bump bbb-transcription-controller to 0.2.1 --------- Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
2023-11-30 23:10:36 +08:00
if (obj.transcription) {
const { partialUtterances, minUtteranceLength } = obj.transcription;
SpeechService.setSpeechOptions(partialUtterances, parseInt(minUtteranceLength, 10));
}
if (msgDescriptor) {
// prevents React state update on unmounted component
setTimeout(() => {
Intl.formatMessage(msgDescriptor).then((txt) => {
notify(
txt,
'info',
'settings',
);
});
}, 0);
}
};
const getAvailableLocales = () => fetch('./locale-list').then(locales => locales.json());
2017-04-06 20:36:59 +08:00
2017-02-16 02:49:40 +08:00
export {
getUserRoles,
2022-02-26 01:56:03 +08:00
isPresenter,
showGuestNotification,
2017-03-29 02:41:48 +08:00
updateSettings,
isKeepPushingLayoutEnabled,
2017-04-06 20:36:59 +08:00
getAvailableLocales,
2017-02-16 02:49:40 +08:00
};