Fixes issue with conference starting before the UI is ready + enableWelcomePage config support.

This commit is contained in:
yanas 2016-01-11 14:26:04 -06:00
parent 632b56b069
commit bbb144f1bd
2 changed files with 28 additions and 15 deletions

30
app.js
View File

@ -76,22 +76,24 @@ const APP = {
};
function init() {
APP.UI.start();
APP.conference.init({roomName: buildRoomName()}).then(function () {
APP.UI.initConference();
var isUIReady = APP.UI.start();
if (isUIReady) {
APP.conference.init({roomName: buildRoomName()}).then(function () {
APP.UI.initConference();
APP.UI.addListener(UIEvents.LANG_CHANGED, function (language) {
APP.translation.setLanguage(language);
APP.settings.setLanguage(language);
APP.UI.addListener(UIEvents.LANG_CHANGED, function (language) {
APP.translation.setLanguage(language);
APP.settings.setLanguage(language);
});
APP.desktopsharing.init(JitsiMeetJS.isDesktopSharingEnabled());
APP.statistics.start();
APP.connectionquality.init();
APP.keyboardshortcut.init();
}).catch(function (err) {
console.error(err);
});
APP.desktopsharing.init(JitsiMeetJS.isDesktopSharingEnabled());
APP.statistics.start();
APP.connectionquality.init();
APP.keyboardshortcut.init();
}).catch(function (err) {
console.error(err);
});
}
}
/**

View File

@ -223,6 +223,12 @@ function bindEvents() {
$(window).resize(onResize);
}
/**
* Starts the UI module and initializes all related components.
*
* @returns {boolean} true if the UI is ready and the conference should be
* esablished, false - otherwise (for example in the case of welcome page)
*/
UI.start = function () {
document.title = interfaceConfig.APP_NAME;
var setupWelcomePage = null;
@ -234,7 +240,9 @@ UI.start = function () {
setupWelcomePage = require("./welcome_page/WelcomePage");
setupWelcomePage();
return;
// Return false to indicate that the UI hasn't been fully started and
// conference ready. We're still waiting for input from the user.
return false;
}
$("#welcome_page").hide();
@ -318,6 +326,9 @@ UI.start = function () {
SettingsMenu.init(eventEmitter);
}
// Return true to indicate that the UI has been fully started and
// conference ready.
return true;
};