feat(config.js): add 'websocket' config option
Config.js will allow to specify both BOSH and Websocket URLs. In such case the web app will prefer Websocket over BOSH. The reason is that it appears to be more stable and a bit fast on web, while on mobile websocket is dropped fast(killed by the OS) on network changes.
This commit is contained in:
parent
31d9fb12c8
commit
b25db3ce2e
|
@ -30,6 +30,9 @@ var config = {
|
||||||
// BOSH URL. FIXME: use XEP-0156 to discover it.
|
// BOSH URL. FIXME: use XEP-0156 to discover it.
|
||||||
bosh: '//jitsi-meet.example.com/http-bind',
|
bosh: '//jitsi-meet.example.com/http-bind',
|
||||||
|
|
||||||
|
// Websocket URL
|
||||||
|
// websocket: 'wss://jitsi-meet.example.com/xmpp-websocket',
|
||||||
|
|
||||||
// The name of client node advertised in XEP-0115 'c' stanza
|
// The name of client node advertised in XEP-0115 'c' stanza
|
||||||
clientNode: 'http://jitsi.org/jitsimeet',
|
clientNode: 'http://jitsi.org/jitsimeet',
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,15 @@ function connect(id, password, roomName) {
|
||||||
const connectionConfig = Object.assign({}, config);
|
const connectionConfig = Object.assign({}, config);
|
||||||
const { issuer, jwt } = APP.store.getState()['features/base/jwt'];
|
const { issuer, jwt } = APP.store.getState()['features/base/jwt'];
|
||||||
|
|
||||||
connectionConfig.bosh += `?room=${roomName}`;
|
// Use Websocket URL for the web app if configured. Note that there is no 'isWeb' check, because there's assumption
|
||||||
|
// that this code executes only on web browsers/electron. This needs to be changed when mobile and web are unified.
|
||||||
|
let serviceUrl = connectionConfig.websocket || connectionConfig.bosh;
|
||||||
|
|
||||||
|
serviceUrl += `?room=${roomName}`;
|
||||||
|
|
||||||
|
// FIXME Remove deprecated 'bosh' option assignment at some point(LJM will be accepting only 'serviceUrl' option
|
||||||
|
// in future). It's included for the time being for Jitsi Meet and lib-jitsi-meet versions interoperability.
|
||||||
|
connectionConfig.serviceUrl = connectionConfig.bosh = serviceUrl;
|
||||||
|
|
||||||
const connection
|
const connection
|
||||||
= new JitsiMeetJS.JitsiConnection(
|
= new JitsiMeetJS.JitsiConnection(
|
||||||
|
|
|
@ -312,7 +312,8 @@ function _constructOptions(state) {
|
||||||
|
|
||||||
room && (bosh += `?room=${getBackendSafeRoomName(room)}`);
|
room && (bosh += `?room=${getBackendSafeRoomName(room)}`);
|
||||||
|
|
||||||
options.bosh = bosh;
|
// FIXME Remove deprecated 'bosh' option assignment at some point.
|
||||||
|
options.serviceUrl = options.bosh = bosh;
|
||||||
}
|
}
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
|
|
Loading…
Reference in New Issue