Merge remote-tracking branch 'upstream/v2.0.x-release' into issue-5256
This commit is contained in:
commit
7121a4c897
@ -1,6 +1,6 @@
|
||||
bbb.mainshell.locale.version =
|
||||
bbb.mainshell.statusProgress.connecting =
|
||||
bbb.mainshell.statusProgress.loading =
|
||||
bbb.mainshell.statusProgress.connecting = ከአገልጋዩ ጋር በመገናኘት ላይ
|
||||
bbb.mainshell.statusProgress.loading = በመጫን ላይ
|
||||
bbb.mainshell.statusProgress.cannotConnectServer =
|
||||
bbb.mainshell.copyrightLabel2 =
|
||||
bbb.mainshell.logBtn.toolTip =
|
||||
@ -50,7 +50,7 @@ bbb.micSettings.nextButton =
|
||||
bbb.micSettings.nextButton.toolTip =
|
||||
bbb.micSettings.join =
|
||||
bbb.micSettings.join.toolTip =
|
||||
bbb.micSettings.cancel =
|
||||
bbb.micSettings.cancel = ሰርዝ
|
||||
bbb.micSettings.connectingtoecho =
|
||||
bbb.micSettings.connectingtoecho.error =
|
||||
bbb.micSettings.cancel.toolTip =
|
||||
@ -97,14 +97,14 @@ bbb.webrtcWarning.connection.reestablished =
|
||||
bbb.inactivityWarning.title =
|
||||
bbb.inactivityWarning.message =
|
||||
bbb.shuttingDown.message =
|
||||
bbb.inactivityWarning.cancel =
|
||||
bbb.mainToolbar.helpBtn =
|
||||
bbb.mainToolbar.logoutBtn =
|
||||
bbb.mainToolbar.logoutBtn.toolTip =
|
||||
bbb.inactivityWarning.cancel = ሰርዝ
|
||||
bbb.mainToolbar.helpBtn = እገዛ
|
||||
bbb.mainToolbar.logoutBtn = ውጣ
|
||||
bbb.mainToolbar.logoutBtn.toolTip = ውጣ
|
||||
bbb.mainToolbar.idleLogoutBtn =
|
||||
bbb.mainToolbar.langSelector =
|
||||
bbb.mainToolbar.settingsBtn =
|
||||
bbb.mainToolbar.settingsBtn.toolTip =
|
||||
bbb.mainToolbar.langSelector = ቋንቋ ይምረጡ
|
||||
bbb.mainToolbar.settingsBtn = ቅንብሮች
|
||||
bbb.mainToolbar.settingsBtn.toolTip = ቅንብሮችን ክፈት
|
||||
bbb.mainToolbar.shortcutBtn =
|
||||
bbb.mainToolbar.shortcutBtn.toolTip =
|
||||
bbb.mainToolbar.recordBtn.toolTip.start =
|
||||
@ -138,7 +138,7 @@ bbb.guests.askModerator =
|
||||
bbb.guests.Management =
|
||||
bbb.clientstatus.title =
|
||||
bbb.clientstatus.notification =
|
||||
bbb.clientstatus.close =
|
||||
bbb.clientstatus.close = ይዝጉ
|
||||
bbb.clientstatus.tunneling.title =
|
||||
bbb.clientstatus.tunneling.message =
|
||||
bbb.clientstatus.browser.title =
|
||||
@ -155,9 +155,9 @@ bbb.clientstatus.java.title =
|
||||
bbb.clientstatus.java.notdetected =
|
||||
bbb.clientstatus.java.notinstalled =
|
||||
bbb.clientstatus.java.oldversion =
|
||||
bbb.window.minimizeBtn.toolTip =
|
||||
bbb.window.minimizeBtn.toolTip = አሳንስ
|
||||
bbb.window.maximizeRestoreBtn.toolTip =
|
||||
bbb.window.closeBtn.toolTip =
|
||||
bbb.window.closeBtn.toolTip = ይዝጉ
|
||||
bbb.videoDock.titleBar =
|
||||
bbb.presentation.titleBar =
|
||||
bbb.chat.titleBar =
|
||||
@ -166,7 +166,7 @@ bbb.users.titleBar =
|
||||
bbb.users.quickLink.label =
|
||||
bbb.users.minimizeBtn.accessibilityName =
|
||||
bbb.users.maximizeRestoreBtn.accessibilityName =
|
||||
bbb.users.settings.buttonTooltip =
|
||||
bbb.users.settings.buttonTooltip = ቅንብሮች
|
||||
bbb.users.settings.audioSettings =
|
||||
bbb.users.settings.webcamSettings =
|
||||
bbb.users.settings.muteAll =
|
||||
@ -179,16 +179,16 @@ bbb.users.roomLocked.text =
|
||||
bbb.users.pushToTalk.toolTip =
|
||||
bbb.users.pushToMute.toolTip =
|
||||
bbb.users.muteMeBtnTxt.talk =
|
||||
bbb.users.muteMeBtnTxt.mute =
|
||||
bbb.users.muteMeBtnTxt.muted =
|
||||
bbb.users.muteMeBtnTxt.mute = ድምጸ-ከል ያድርጉ
|
||||
bbb.users.muteMeBtnTxt.muted = ድምጸ-ከል ተደርጓል
|
||||
bbb.users.usersGrid.contextmenu.exportusers =
|
||||
bbb.users.usersGrid.accessibilityName =
|
||||
bbb.users.usersGrid.nameItemRenderer =
|
||||
bbb.users.usersGrid.nameItemRenderer.youIdentifier =
|
||||
bbb.users.usersGrid.statusItemRenderer =
|
||||
bbb.users.usersGrid.nameItemRenderer = ስም
|
||||
bbb.users.usersGrid.nameItemRenderer.youIdentifier = አንተ
|
||||
bbb.users.usersGrid.statusItemRenderer = ሁኔታ
|
||||
bbb.users.usersGrid.statusItemRenderer.changePresenter =
|
||||
bbb.users.usersGrid.statusItemRenderer.presenter =
|
||||
bbb.users.usersGrid.statusItemRenderer.moderator =
|
||||
bbb.users.usersGrid.statusItemRenderer.moderator = አወያይ
|
||||
bbb.users.usersGrid.statusItemRenderer.voiceOnlyUser =
|
||||
bbb.users.usersGrid.statusItemRenderer.raiseHand =
|
||||
bbb.users.usersGrid.statusItemRenderer.applause =
|
||||
@ -204,14 +204,14 @@ bbb.users.usersGrid.statusItemRenderer.neutral =
|
||||
bbb.users.usersGrid.statusItemRenderer.happy =
|
||||
bbb.users.usersGrid.statusItemRenderer.sad =
|
||||
bbb.users.usersGrid.statusItemRenderer.clearStatus =
|
||||
bbb.users.usersGrid.statusItemRenderer.viewer =
|
||||
bbb.users.usersGrid.statusItemRenderer.viewer = ተመልካች
|
||||
bbb.users.usersGrid.statusItemRenderer.streamIcon.toolTip =
|
||||
bbb.users.usersGrid.statusItemRenderer.presIcon.toolTip =
|
||||
bbb.users.usersGrid.mediaItemRenderer =
|
||||
bbb.users.usersGrid.mediaItemRenderer.talking =
|
||||
bbb.users.usersGrid.mediaItemRenderer.webcam =
|
||||
bbb.users.usersGrid.mediaItemRenderer.webcamBtn =
|
||||
bbb.users.usersGrid.mediaItemRenderer.pushToTalk =
|
||||
bbb.users.usersGrid.mediaItemRenderer.pushToTalk = ድምጸ-ከል አንሳ {0}
|
||||
bbb.users.usersGrid.mediaItemRenderer.pushToMute =
|
||||
bbb.users.usersGrid.mediaItemRenderer.pushToLock =
|
||||
bbb.users.usersGrid.mediaItemRenderer.pushToUnlock =
|
||||
@ -284,10 +284,10 @@ bbb.fileupload.selectBtn.toolTip =
|
||||
bbb.fileupload.uploadBtn =
|
||||
bbb.fileupload.uploadBtn.toolTip =
|
||||
bbb.fileupload.deleteBtn.toolTip =
|
||||
bbb.fileupload.showBtn =
|
||||
bbb.fileupload.showBtn = አሳይ
|
||||
bbb.fileupload.retry =
|
||||
bbb.fileupload.showBtn.toolTip =
|
||||
bbb.fileupload.close.tooltip =
|
||||
bbb.fileupload.close.tooltip = ይዝጉ
|
||||
bbb.fileupload.close.accessibilityName =
|
||||
bbb.fileupload.genThumbText =
|
||||
bbb.fileupload.progBarLbl =
|
||||
@ -295,7 +295,7 @@ bbb.fileupload.fileFormatHint =
|
||||
bbb.fileupload.letUserDownload =
|
||||
bbb.fileupload.letUserDownload.tooltip =
|
||||
bbb.filedownload.title =
|
||||
bbb.filedownload.close.tooltip =
|
||||
bbb.filedownload.close.tooltip = ይዝጉ
|
||||
bbb.filedownload.close.accessibilityName =
|
||||
bbb.filedownload.fileLbl =
|
||||
bbb.filedownload.downloadBtn =
|
||||
@ -367,7 +367,7 @@ bbb.video.publish.hint.cameraDenied =
|
||||
bbb.video.publish.hint.cameraIsBeingUsed =
|
||||
bbb.video.publish.hint.publishing =
|
||||
bbb.video.publish.closeBtn.accessName =
|
||||
bbb.video.publish.closeBtn.label =
|
||||
bbb.video.publish.closeBtn.label = ሰርዝ
|
||||
bbb.video.publish.titleBar =
|
||||
bbb.video.streamClose.toolTip =
|
||||
bbb.video.message.browserhttp =
|
||||
@ -379,11 +379,11 @@ bbb.screensharePublish.restart.label =
|
||||
bbb.screensharePublish.maximizeRestoreBtn.toolTip =
|
||||
bbb.screensharePublish.closeBtn.toolTip =
|
||||
bbb.screensharePublish.closeBtn.accessibilityName =
|
||||
bbb.screensharePublish.minimizeBtn.toolTip =
|
||||
bbb.screensharePublish.minimizeBtn.toolTip = አሳንስ
|
||||
bbb.screensharePublish.minimizeBtn.accessibilityName =
|
||||
bbb.screensharePublish.maximizeRestoreBtn.accessibilityName =
|
||||
bbb.screensharePublish.commonHelpText.text =
|
||||
bbb.screensharePublish.helpButton.toolTip =
|
||||
bbb.screensharePublish.helpButton.toolTip = እገዛ
|
||||
bbb.screensharePublish.helpButton.accessibilityName =
|
||||
bbb.screensharePublish.helpText.PCIE1 =
|
||||
bbb.screensharePublish.helpText.PCIE2 =
|
||||
@ -422,7 +422,7 @@ bbb.screensharePublish.jwsCrashed.label =
|
||||
bbb.screensharePublish.commonErrorMessage.label =
|
||||
bbb.screensharePublish.tunnelingErrorMessage.one =
|
||||
bbb.screensharePublish.tunnelingErrorMessage.two =
|
||||
bbb.screensharePublish.cancelButton.label =
|
||||
bbb.screensharePublish.cancelButton.label = ሰርዝ
|
||||
bbb.screensharePublish.startButton.label =
|
||||
bbb.screensharePublish.stopButton.label =
|
||||
bbb.screensharePublish.stopButton.toolTip =
|
||||
@ -464,7 +464,7 @@ bbb.layout.combo.custom =
|
||||
bbb.layout.combo.customName =
|
||||
bbb.layout.combo.remote =
|
||||
bbb.layout.window.name =
|
||||
bbb.layout.window.close.tooltip =
|
||||
bbb.layout.window.close.tooltip = ይዝጉ
|
||||
bbb.layout.window.close.accessibilityName =
|
||||
bbb.layout.save.complete =
|
||||
bbb.layout.save.ioerror =
|
||||
@ -517,9 +517,9 @@ bbb.logout.refresh.message =
|
||||
bbb.logout.refresh.label =
|
||||
bbb.logout.feedback.hint =
|
||||
bbb.logout.feedback.label =
|
||||
bbb.settings.title =
|
||||
bbb.settings.title = ቅንብሮች
|
||||
bbb.settings.ok =
|
||||
bbb.settings.cancel =
|
||||
bbb.settings.cancel = ሰርዝ
|
||||
bbb.settings.btn.toolTip =
|
||||
bbb.logout.confirm.title =
|
||||
bbb.logout.confirm.message =
|
||||
@ -542,7 +542,7 @@ bbb.notes.saveBtn.toolTip =
|
||||
bbb.sharedNotes.title =
|
||||
bbb.sharedNotes.quickLink.label =
|
||||
bbb.sharedNotes.createNoteWindow.label =
|
||||
bbb.sharedNotes.createNoteWindow.close.tooltip =
|
||||
bbb.sharedNotes.createNoteWindow.close.tooltip = ይዝጉ
|
||||
bbb.sharedNotes.createNoteWindow.close.accessibilityName =
|
||||
bbb.sharedNotes.typing.single =
|
||||
bbb.sharedNotes.typing.double =
|
||||
@ -762,7 +762,7 @@ bbb.shortcutkey.caption.takeOwnership.function =
|
||||
bbb.polling.startButton.tooltip =
|
||||
bbb.polling.startButton.label =
|
||||
bbb.polling.publishButton.label =
|
||||
bbb.polling.closeButton.label =
|
||||
bbb.polling.closeButton.label = ይዝጉ
|
||||
bbb.polling.customPollOption.label =
|
||||
bbb.polling.pollModal.title =
|
||||
bbb.polling.pollModal.hint =
|
||||
@ -810,7 +810,7 @@ bbb.users.settings.roomIsMuted =
|
||||
|
||||
bbb.lockSettings.save =
|
||||
bbb.lockSettings.save.tooltip =
|
||||
bbb.lockSettings.cancel =
|
||||
bbb.lockSettings.cancel = ሰርዝ
|
||||
bbb.lockSettings.cancel.toolTip =
|
||||
|
||||
bbb.lockSettings.hint =
|
||||
@ -845,7 +845,7 @@ bbb.users.breakout.notAssigned =
|
||||
bbb.users.breakout.dragAndDropToolTip =
|
||||
bbb.users.breakout.start =
|
||||
bbb.users.breakout.invite =
|
||||
bbb.users.breakout.close =
|
||||
bbb.users.breakout.close = ይዝጉ
|
||||
bbb.users.breakout.closeAllRooms =
|
||||
bbb.users.breakout.insufficientUsers =
|
||||
bbb.users.breakout.confirm =
|
||||
@ -853,7 +853,7 @@ bbb.users.breakout.invited =
|
||||
bbb.users.breakout.accept =
|
||||
bbb.users.breakout.joinSession =
|
||||
bbb.users.breakout.joinSession.accessibilityName =
|
||||
bbb.users.breakout.joinSession.close.tooltip =
|
||||
bbb.users.breakout.joinSession.close.tooltip = ይዝጉ
|
||||
bbb.users.breakout.joinSession.close.accessibilityName =
|
||||
bbb.users.breakout.youareinroom =
|
||||
bbb.users.roomsGrid.room =
|
||||
@ -865,7 +865,7 @@ bbb.users.roomsGrid.noUsers =
|
||||
|
||||
bbb.langSelector.default=
|
||||
|
||||
bbb.alert.cancel =
|
||||
bbb.alert.cancel = ሰርዝ
|
||||
bbb.alert.ok =
|
||||
bbb.alert.no =
|
||||
bbb.alert.yes =
|
||||
|
@ -290,7 +290,7 @@ stop_bigbluebutton () {
|
||||
echo "Stopping BigBlueButton"
|
||||
if command -v systemctl >/dev/null; then
|
||||
if [ -f /usr/lib/systemd/system/bbb-html5.service ]; then
|
||||
HTML5="mongod bbb-html5 bbb-webrtc-sfu kurento-media-server-6.0"
|
||||
HTML5="mongod bbb-html5 bbb-webrtc-sfu kurento-media-server"
|
||||
fi
|
||||
if [ -f /usr/lib/systemd/system/bbb-webhooks.service ]; then
|
||||
WEBHOOKS=bbb-webhooks
|
||||
@ -346,7 +346,7 @@ start_bigbluebutton () {
|
||||
echo "Starting BigBlueButton"
|
||||
if command -v systemctl >/dev/null; then
|
||||
if [ -f /usr/lib/systemd/system/bbb-html5.service ]; then
|
||||
HTML5="mongod bbb-html5 bbb-webrtc-sfu kurento-media-server-6.0"
|
||||
HTML5="mongod bbb-html5 bbb-webrtc-sfu kurento-media-server"
|
||||
fi
|
||||
if [ -f /usr/lib/systemd/system/bbb-webhooks.service ]; then
|
||||
WEBHOOKS=bbb-webhooks
|
||||
@ -486,7 +486,7 @@ display_bigbluebutton_status () {
|
||||
units="red5 $TOMCAT_SERVICE nginx freeswitch $REDIS_SERVICE bbb-apps-akka bbb-transcode-akka bbb-fsesl-akka"
|
||||
|
||||
if [ -f /usr/lib/systemd/system/bbb-html5.service ]; then
|
||||
units="$units mongod bbb-html5 bbb-webrtc-sfu kurento-media-server-6.0"
|
||||
units="$units mongod bbb-html5 bbb-webrtc-sfu kurento-media-server"
|
||||
fi
|
||||
|
||||
for unit in $units; do
|
||||
@ -1476,6 +1476,13 @@ check_state() {
|
||||
echo "#"
|
||||
fi
|
||||
|
||||
if bbb-conf --status | grep -q inactive; then
|
||||
echo "# Error: Detected some processes have not started correctly"
|
||||
echo "#"
|
||||
echo "# $(bbb-conf --status | grep inactive)"
|
||||
echo "#"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
5
bigbluebutton-html5/imports/startup/client/auth.js
Normal file → Executable file
5
bigbluebutton-html5/imports/startup/client/auth.js
Normal file → Executable file
@ -1,4 +1,5 @@
|
||||
import Auth from '/imports/ui/services/auth';
|
||||
import { setCustomLogoUrl } from '/imports/ui/components/user-list/service';
|
||||
import { log } from '/imports/ui/services/api';
|
||||
|
||||
// disconnected and trying to open a new connection
|
||||
@ -19,9 +20,11 @@ export function joinRouteHandler(nextState, replace, callback) {
|
||||
.then(response => response.json())
|
||||
.then((data) => {
|
||||
const {
|
||||
meetingID, internalUserID, authToken, logoutUrl,
|
||||
meetingID, internalUserID, authToken, logoutUrl, customLogoURL,
|
||||
} = data.response;
|
||||
|
||||
setCustomLogoUrl(customLogoURL);
|
||||
|
||||
Auth.set(meetingID, internalUserID, authToken, logoutUrl, sessionToken);
|
||||
replace({ pathname: '/' });
|
||||
callback();
|
||||
|
12
bigbluebutton-html5/imports/ui/components/tooltip/component.jsx
Normal file → Executable file
12
bigbluebutton-html5/imports/ui/components/tooltip/component.jsx
Normal file → Executable file
@ -18,6 +18,14 @@ const defaultProps = {
|
||||
};
|
||||
|
||||
class Tooltip extends Component {
|
||||
static wait(show, event) {
|
||||
const tooltipTarget = event.target;
|
||||
const expandedEl = tooltipTarget.parentElement.querySelector('[aria-expanded="true"]');
|
||||
const isTarget = expandedEl === tooltipTarget;
|
||||
if (expandedEl && !isTarget) return;
|
||||
show();
|
||||
}
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
@ -40,12 +48,11 @@ class Tooltip extends Component {
|
||||
delay: this.delay,
|
||||
onShow: this.onShow,
|
||||
onHide: this.onHide,
|
||||
wait: Tooltip.wait,
|
||||
touchHold: true,
|
||||
};
|
||||
|
||||
this.tooltip = Tippy(`#${this.tippySelectorId}`, options);
|
||||
}
|
||||
|
||||
onShow() {
|
||||
document.addEventListener('keyup', this.handleEscapeHide);
|
||||
}
|
||||
@ -56,7 +63,6 @@ class Tooltip extends Component {
|
||||
|
||||
handleEscapeHide(e) {
|
||||
if (e.keyCode !== ESCAPE) return;
|
||||
|
||||
this.tooltip.tooltips[0].hide();
|
||||
}
|
||||
|
||||
|
68
bigbluebutton-html5/imports/ui/components/user-list/component.jsx
Normal file → Executable file
68
bigbluebutton-html5/imports/ui/components/user-list/component.jsx
Normal file → Executable file
@ -2,9 +2,9 @@ import React, { Component } from 'react';
|
||||
import { injectIntl } from 'react-intl';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withRouter } from 'react-router';
|
||||
|
||||
import injectWbResizeEvent from '/imports/ui/components/presentation/resize-wrapper/component';
|
||||
import { styles } from './styles';
|
||||
import CustomLogo from './custom-logo/component';
|
||||
import UserContent from './user-list-content/component';
|
||||
|
||||
const propTypes = {
|
||||
@ -28,7 +28,7 @@ const propTypes = {
|
||||
changeRole: PropTypes.func.isRequired,
|
||||
roving: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
const SHOW_BRANDING = Meteor.settings.public.app.branding.displayBrandingArea;
|
||||
const defaultProps = {
|
||||
compact: false,
|
||||
isBreakoutRoom: false,
|
||||
@ -52,26 +52,56 @@ class UserList extends Component {
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
intl,
|
||||
openChats,
|
||||
users,
|
||||
compact,
|
||||
currentUser,
|
||||
isBreakoutRoom,
|
||||
setEmojiStatus,
|
||||
assignPresenter,
|
||||
removeUser,
|
||||
toggleVoice,
|
||||
changeRole,
|
||||
meeting,
|
||||
getAvailableActions,
|
||||
normalizeEmojiName,
|
||||
isMeetingLocked,
|
||||
isPublicChat,
|
||||
roving,
|
||||
CustomLogoUrl,
|
||||
} = this.props;
|
||||
|
||||
return (
|
||||
<div className={styles.userList}>
|
||||
{
|
||||
SHOW_BRANDING
|
||||
&& !this.props.compact
|
||||
&& CustomLogoUrl
|
||||
? <CustomLogo CustomLogoUrl={CustomLogoUrl} /> : null
|
||||
}
|
||||
{<UserContent
|
||||
intl={this.props.intl}
|
||||
openChats={this.props.openChats}
|
||||
users={this.props.users}
|
||||
compact={this.props.compact}
|
||||
currentUser={this.props.currentUser}
|
||||
isBreakoutRoom={this.props.isBreakoutRoom}
|
||||
setEmojiStatus={this.props.setEmojiStatus}
|
||||
assignPresenter={this.props.assignPresenter}
|
||||
removeUser={this.props.removeUser}
|
||||
toggleVoice={this.props.toggleVoice}
|
||||
changeRole={this.props.changeRole}
|
||||
meeting={this.props.meeting}
|
||||
getAvailableActions={this.props.getAvailableActions}
|
||||
normalizeEmojiName={this.props.normalizeEmojiName}
|
||||
isMeetingLocked={this.props.isMeetingLocked}
|
||||
isPublicChat={this.props.isPublicChat}
|
||||
roving={this.props.roving}
|
||||
{...{
|
||||
intl,
|
||||
openChats,
|
||||
users,
|
||||
compact,
|
||||
currentUser,
|
||||
isBreakoutRoom,
|
||||
setEmojiStatus,
|
||||
assignPresenter,
|
||||
removeUser,
|
||||
toggleVoice,
|
||||
changeRole,
|
||||
meeting,
|
||||
getAvailableActions,
|
||||
normalizeEmojiName,
|
||||
isMeetingLocked,
|
||||
isPublicChat,
|
||||
roving,
|
||||
}
|
||||
}
|
||||
/>}
|
||||
</div>
|
||||
);
|
||||
|
36
bigbluebutton-html5/imports/ui/components/user-list/container.jsx
Normal file → Executable file
36
bigbluebutton-html5/imports/ui/components/user-list/container.jsx
Normal file → Executable file
@ -41,25 +41,30 @@ const UserListContainer = (props) => {
|
||||
toggleVoice,
|
||||
changeRole,
|
||||
roving,
|
||||
CustomLogoUrl,
|
||||
} = props;
|
||||
|
||||
return (
|
||||
<UserList
|
||||
users={users}
|
||||
meeting={meeting}
|
||||
currentUser={currentUser}
|
||||
openChats={openChats}
|
||||
isBreakoutRoom={isBreakoutRoom}
|
||||
setEmojiStatus={setEmojiStatus}
|
||||
assignPresenter={assignPresenter}
|
||||
removeUser={removeUser}
|
||||
toggleVoice={toggleVoice}
|
||||
changeRole={changeRole}
|
||||
getAvailableActions={getAvailableActions}
|
||||
normalizeEmojiName={normalizeEmojiName}
|
||||
isMeetingLocked={isMeetingLocked}
|
||||
isPublicChat={isPublicChat}
|
||||
roving={roving}
|
||||
{...{
|
||||
users,
|
||||
currentUser,
|
||||
openChats,
|
||||
isBreakoutRoom,
|
||||
meeting,
|
||||
getAvailableActions,
|
||||
normalizeEmojiName,
|
||||
isMeetingLocked,
|
||||
isPublicChat,
|
||||
setEmojiStatus,
|
||||
assignPresenter,
|
||||
removeUser,
|
||||
toggleVoice,
|
||||
changeRole,
|
||||
roving,
|
||||
CustomLogoUrl,
|
||||
}
|
||||
}
|
||||
/>
|
||||
);
|
||||
};
|
||||
@ -82,4 +87,5 @@ export default withTracker(({ params }) => ({
|
||||
toggleVoice: Service.toggleVoice,
|
||||
changeRole: Service.changeRole,
|
||||
roving: Service.roving,
|
||||
CustomLogoUrl: Service.getCustomLogoUrl(),
|
||||
}))(UserListContainer);
|
||||
|
@ -0,0 +1,14 @@
|
||||
|
||||
import React from 'react';
|
||||
import { styles } from './styles';
|
||||
|
||||
const CustomLogo = props => (
|
||||
<div>
|
||||
<div className={styles.branding}>
|
||||
<img src={props.CustomLogoUrl} alt="custom branding logo" />
|
||||
</div>
|
||||
<div className={styles.separator} />
|
||||
</div>
|
||||
);
|
||||
|
||||
export default CustomLogo;
|
17
bigbluebutton-html5/imports/ui/components/user-list/custom-logo/styles.scss
Executable file
17
bigbluebutton-html5/imports/ui/components/user-list/custom-logo/styles.scss
Executable file
@ -0,0 +1,17 @@
|
||||
@import "/imports/ui/stylesheets/variables/_all";
|
||||
|
||||
.separator {
|
||||
height: 1px;
|
||||
background-color: $color-gray-lighter;
|
||||
margin-top: $line-height-computed * .5;
|
||||
margin-bottom: $line-height-computed * .5;
|
||||
}
|
||||
|
||||
.branding {
|
||||
padding: 0 $sm-padding-x;
|
||||
width: 100%;
|
||||
& > img {
|
||||
max-height: 2rem;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
8
bigbluebutton-html5/imports/ui/components/user-list/service.js
Normal file → Executable file
8
bigbluebutton-html5/imports/ui/components/user-list/service.js
Normal file → Executable file
@ -27,6 +27,12 @@ const mapOpenChats = (chat) => {
|
||||
: chat.toUserId;
|
||||
};
|
||||
|
||||
const CUSTOM_LOGO_URL_KEY = 'CustomLogoUrl';
|
||||
|
||||
export const setCustomLogoUrl = path => Storage.setItem(CUSTOM_LOGO_URL_KEY, path);
|
||||
|
||||
const getCustomLogoUrl = () => Storage.getItem(CUSTOM_LOGO_URL_KEY);
|
||||
|
||||
const sortUsersByName = (a, b) => {
|
||||
if (a.name.toLowerCase() < b.name.toLowerCase()) {
|
||||
return -1;
|
||||
@ -363,4 +369,6 @@ export default {
|
||||
isMeetingLocked,
|
||||
isPublicChat,
|
||||
roving,
|
||||
setCustomLogoUrl,
|
||||
getCustomLogoUrl,
|
||||
};
|
||||
|
@ -266,17 +266,6 @@ class VideoProvider extends Component {
|
||||
options.remoteVideo = tag;
|
||||
}
|
||||
|
||||
this.cameraTimeouts[id] = setTimeout(() => {
|
||||
log('error', `Camera share has not suceeded in ${CAMERA_SHARE_FAILED_WAIT_TIME}`);
|
||||
if (this.props.userId == id) {
|
||||
this.notifyError(intl.formatMessage(intlMessages.sharingError));
|
||||
this.unshareWebcam();
|
||||
} else {
|
||||
this.stop(id);
|
||||
this.initWebRTC(id, shareWebcam, videoOptions, tag);
|
||||
}
|
||||
}, CAMERA_SHARE_FAILED_WAIT_TIME);
|
||||
|
||||
const webRtcPeer = new peerObj(options, function (error) {
|
||||
if (error) {
|
||||
log('error', ' WebRTC peerObj create error');
|
||||
@ -290,9 +279,9 @@ class VideoProvider extends Component {
|
||||
that.destroyWebRTCPeer(id);
|
||||
|
||||
if (shareWebcam) {
|
||||
that.unshareWebcam();
|
||||
VideoService.exitVideo();
|
||||
VideoService.exitedVideo();
|
||||
that.unshareWebcam();
|
||||
}
|
||||
return log('error', error);
|
||||
}
|
||||
@ -313,6 +302,18 @@ class VideoProvider extends Component {
|
||||
return log('error', error);
|
||||
}
|
||||
|
||||
that.cameraTimeouts[id] = setTimeout(() => {
|
||||
log('error', `Camera share has not suceeded in ${CAMERA_SHARE_FAILED_WAIT_TIME}`);
|
||||
if (that.props.userId == id) {
|
||||
that.notifyError(intl.formatMessage(intlMessages.sharingError));
|
||||
that.unshareWebcam();
|
||||
VideoService.exitedVideo();
|
||||
} else {
|
||||
that.stop(id);
|
||||
that.initWebRTC(id, shareWebcam, videoOptions, tag);
|
||||
}
|
||||
}, CAMERA_SHARE_FAILED_WAIT_TIME);
|
||||
|
||||
console.log(`Invoking SDP offer callback function ${location.host}`);
|
||||
const message = {
|
||||
type: 'video',
|
||||
@ -396,6 +397,7 @@ class VideoProvider extends Component {
|
||||
|
||||
if (message.cameraId == userId) {
|
||||
this.unshareWebcam();
|
||||
VideoService.exitedVideo();
|
||||
this.notifyError(intl.formatMessage(intlMessages.sharingError));
|
||||
} else {
|
||||
this.stop(message.cameraId);
|
||||
|
@ -63,6 +63,7 @@ const JoinVideoOptions = ({
|
||||
intl.formatMessage(intlMessages.videoMenuDisabled)
|
||||
: intl.formatMessage(intlMessages.videoMenu)
|
||||
}
|
||||
className={styles.button}
|
||||
onClick={() => null}
|
||||
hideLabel
|
||||
aria-label={intl.formatMessage(intlMessages.videoMenuDesc)}
|
||||
|
@ -1,19 +1,13 @@
|
||||
@import "/imports/ui/stylesheets/variables/_all";
|
||||
|
||||
.container {
|
||||
|
||||
span:first-child{
|
||||
box-shadow: 0 2px 5px 0 rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.button {
|
||||
|
||||
&:focus {
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
span:first-child {
|
||||
box-shadow: 0 2px 5px 0 rgb(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.imageSize {
|
||||
|
@ -47,6 +47,9 @@
|
||||
"layout": false
|
||||
}
|
||||
},
|
||||
"branding": {
|
||||
"displayBrandingArea": false
|
||||
},
|
||||
"allowHTML5Moderator": true,
|
||||
"allowModeratorToUnmuteAudio": true,
|
||||
"httpsConnection": false,
|
||||
|
3
bigbluebutton-html5/private/config/settings-production.json
Normal file → Executable file
3
bigbluebutton-html5/private/config/settings-production.json
Normal file → Executable file
@ -47,6 +47,9 @@
|
||||
"layout": false
|
||||
}
|
||||
},
|
||||
"branding": {
|
||||
"displayBrandingArea": false
|
||||
},
|
||||
"allowHTML5Moderator": true,
|
||||
"allowModeratorToUnmuteAudio": true,
|
||||
"httpsConnection": true,
|
||||
|
@ -17,5 +17,5 @@ to-audio: "to-audio-sfu"
|
||||
to-akka: "to-akka-apps-redis-channel"
|
||||
|
||||
log:
|
||||
filename: '/var/log/bigbluebutton/bbb-webrtc-sfu/bbb-webrtc-sfu.log'
|
||||
filename: '/var/log/bbb-webrtc-sfu/bbb-webrtc-sfu.log'
|
||||
level: 'verbose'
|
||||
|
@ -327,7 +327,7 @@ module.exports = class MediaServer extends EventEmitter {
|
||||
|
||||
_handleError(error) {
|
||||
// Checking if the error needs to be wrapped into a JS Error instance
|
||||
if(!isError(error)) {
|
||||
if(!this.isError(error)) {
|
||||
error = new Error(error);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user