Waits for the focus to join first.
This commit is contained in:
parent
6afcfb2598
commit
613e18952b
85
app.js
85
app.js
|
@ -182,11 +182,9 @@ function maybeDoJoin() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function generateRoomName() {
|
||||||
function doJoin() {
|
|
||||||
var roomnode = null;
|
var roomnode = null;
|
||||||
var path = window.location.pathname;
|
var path = window.location.pathname;
|
||||||
var roomjid;
|
|
||||||
|
|
||||||
// determinde the room node from the url
|
// determinde the room node from the url
|
||||||
// TODO: just the roomnode or the whole bare jid?
|
// TODO: just the roomnode or the whole bare jid?
|
||||||
|
@ -214,7 +212,41 @@ function doJoin() {
|
||||||
}
|
}
|
||||||
|
|
||||||
roomName = roomnode + '@' + config.hosts.muc;
|
roomName = roomnode + '@' + config.hosts.muc;
|
||||||
|
}
|
||||||
|
|
||||||
|
function doJoin() {
|
||||||
|
if (!roomName) {
|
||||||
|
generateRoomName();
|
||||||
|
}
|
||||||
|
|
||||||
|
var elem = $iq({to: config.hosts.focus, type: 'set'});
|
||||||
|
elem.c('conference', {
|
||||||
|
xmlns: 'http://jitsi.org/protocol/focus',
|
||||||
|
room: roomName
|
||||||
|
});
|
||||||
|
elem.up();
|
||||||
|
connection.sendIQ(elem,
|
||||||
|
function (result) {
|
||||||
|
console.info("Focus replied ", result);
|
||||||
|
if ('true' === $(result).find('conference').attr('ready')) {
|
||||||
|
doJoinAfterFocus();
|
||||||
|
} else {
|
||||||
|
console.info("Waiting for the focus...");
|
||||||
|
window.setTimeout(
|
||||||
|
function () {
|
||||||
|
doJoin();
|
||||||
|
}, 3000);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
function (error) {
|
||||||
|
console.warn(error);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function doJoinAfterFocus() {
|
||||||
|
|
||||||
|
var roomjid;
|
||||||
roomjid = roomName;
|
roomjid = roomName;
|
||||||
|
|
||||||
if (config.useNicks) {
|
if (config.useNicks) {
|
||||||
|
@ -676,53 +708,6 @@ $(document).bind('joined.muc', function (event, jid, info) {
|
||||||
document.createTextNode(Strophe.getResourceFromJid(jid) + ' (me)')
|
document.createTextNode(Strophe.getResourceFromJid(jid) + ' (me)')
|
||||||
);
|
);
|
||||||
|
|
||||||
if (connection.emuc.isModerator())
|
|
||||||
{
|
|
||||||
Toolbar.showSipCallButton(true);
|
|
||||||
Toolbar.showRecordingButton(true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Toolbar.showSipCallButton(false);
|
|
||||||
Toolbar.showRecordingButton(false);
|
|
||||||
}
|
|
||||||
/* if (Object.keys(connection.emuc.members).length < 1) {
|
|
||||||
focus = new ColibriFocus(connection, config.hosts.bridge);
|
|
||||||
if (nickname !== null) {
|
|
||||||
focus.setEndpointDisplayName(connection.emuc.myroomjid,
|
|
||||||
nickname);
|
|
||||||
}
|
|
||||||
Toolbar.showSipCallButton(true);
|
|
||||||
Toolbar.showRecordingButton(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!focus)
|
|
||||||
{
|
|
||||||
Toolbar.showSipCallButton(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (focus && config.etherpad_base) {
|
|
||||||
Etherpad.init();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
var elem = $iq({to: config.hosts.focus, type: 'set'});
|
|
||||||
elem.c('conference', {
|
|
||||||
xmlns: 'http://jitsi.org/protocol/focus',
|
|
||||||
room: roomUrl.substr(roomUrl.lastIndexOf("/") + 1)
|
|
||||||
});
|
|
||||||
elem.up();
|
|
||||||
|
|
||||||
connection.sendIQ(elem,
|
|
||||||
function (result) {
|
|
||||||
console.info("Focus replied ", result);
|
|
||||||
},
|
|
||||||
function (error) {
|
|
||||||
console.warn(error);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
VideoLayout.showFocusIndicator();
|
|
||||||
|
|
||||||
// Add myself to the contact list.
|
// Add myself to the contact list.
|
||||||
ContactList.addContact(jid);
|
ContactList.addContact(jid);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue