mirror of https://github.com/jitsi/jitsi-meet
feat: Drops external connect optimization. (#12958)
* feat: Drops external connect optimization. A bosh only optimization which is no longer used and does not bring any significant value when measured. * squash: Updates ljm.pull/12962/head jitsi-meet_8340
parent
c641835d0f
commit
8225f5e363
@ -1,3 +0,0 @@ |
||||
module.exports = { |
||||
'extends': '../react/.eslintrc.js' |
||||
}; |
@ -1,86 +0,0 @@ |
||||
/* global config, createConnectionExternally */ |
||||
|
||||
import getRoomName from '../react/features/base/config/getRoomName'; |
||||
import { parseURLParams } from '../react/features/base/util/parseURLParams'; |
||||
|
||||
/** |
||||
* Implements external connect using createConnectionExternally function defined |
||||
* in external_connect.js for Jitsi Meet. Parses the room name and JSON Web |
||||
* Token (JWT) from the URL and executes createConnectionExternally. |
||||
* |
||||
* NOTE: If you are using lib-jitsi-meet without Jitsi Meet, you should use this |
||||
* file as reference only because the implementation is Jitsi Meet-specific. |
||||
* |
||||
* NOTE: For optimal results this file should be included right after |
||||
* external_connect.js. |
||||
*/ |
||||
|
||||
if (typeof createConnectionExternally === 'function') { |
||||
// URL params have higher priority than config params.
|
||||
// Do not use external connect if websocket is enabled.
|
||||
let url |
||||
= parseURLParams(window.location, true, 'hash')[ |
||||
'config.externalConnectUrl'] |
||||
|| config.websocket ? undefined : config.externalConnectUrl; |
||||
const isRecorder |
||||
= parseURLParams(window.location, true, 'hash')['config.iAmRecorder']; |
||||
|
||||
let roomName; |
||||
|
||||
if (url && (roomName = getRoomName()) && !isRecorder) { |
||||
url += `?room=${roomName}`; |
||||
|
||||
const token = parseURLParams(window.location, true, 'search').jwt; |
||||
|
||||
if (token) { |
||||
url += `&token=${token}`; |
||||
} |
||||
|
||||
createConnectionExternally( |
||||
url, |
||||
connectionInfo => { |
||||
// Sets that global variable to be used later by connect method
|
||||
// in connection.js.
|
||||
window.XMPPAttachInfo = { |
||||
status: 'success', |
||||
data: connectionInfo |
||||
}; |
||||
checkForConnectHandlerAndConnect(); |
||||
}, |
||||
errorCallback); |
||||
} else { |
||||
errorCallback(); |
||||
} |
||||
} else { |
||||
errorCallback(); |
||||
} |
||||
|
||||
/** |
||||
* Check if connect from connection.js was executed and executes the handler |
||||
* that is going to finish the connect work. |
||||
* |
||||
* @returns {void} |
||||
*/ |
||||
function checkForConnectHandlerAndConnect() { |
||||
window.APP |
||||
&& window.APP.connect.status === 'ready' |
||||
&& window.APP.connect.handler(); |
||||
} |
||||
|
||||
/** |
||||
* Implements a callback to be invoked if anything goes wrong. |
||||
* |
||||
* @param {Error} error - The specifics of what went wrong. |
||||
* @returns {void} |
||||
*/ |
||||
function errorCallback(error) { |
||||
// The value of error is undefined if external connect is disabled.
|
||||
error && console.warn(error); |
||||
|
||||
// Sets that global variable to be used later by connect method in
|
||||
// connection.js.
|
||||
window.XMPPAttachInfo = { |
||||
status: 'error' |
||||
}; |
||||
checkForConnectHandlerAndConnect(); |
||||
} |
Loading…
Reference in new issue