1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import { loadScript } from '../../base/util';
-
- import JitsiMeetJS from './_';
-
- declare var APP: Object;
-
- const JitsiConnectionErrors = JitsiMeetJS.errors.connection;
-
- /**
- * Determines whether a specific JitsiConnectionErrors instance indicates a
- * fatal JitsiConnection error.
- *
- * FIXME Figure out the category of errors defined by the fucntion and describe
- * that category. I've currently named the category fatal because it appears to
- * be used in the cases of unrecoverable errors that necessitate a reload.
- *
- * @param {string} error - The JitsiConnectionErrors instance to
- * categorize/classify.
- * @returns {boolean} True if the specified JitsiConnectionErrors instance
- * indicates a fatal JitsiConnection error; otherwise, false.
- */
- export function isFatalJitsiConnectionError(error: string) {
- return (
- error === JitsiConnectionErrors.CONNECTION_DROPPED_ERROR
- || error === JitsiConnectionErrors.OTHER_ERROR
- || error === JitsiConnectionErrors.SERVER_ERROR);
- }
-
- /**
- * Loads config.js file from remote server.
- *
- * @param {string} host - Host where config.js is hosted.
- * @param {string} path='/config.js' - Relative pah to config.js file.
- * @returns {Promise<Object>}
- */
- export function loadConfig(host: string, path: string = '/config.js') {
- // Returns config.js file from global scope. We can't use the version that's
- // being used for the React Native app because the old/current Web app uses
- // config from the global scope.
- if (typeof APP !== 'undefined') {
- return Promise.resolve(window.config);
- }
-
- return loadScript(new URL(path, host).toString())
- .then(() => {
- const config = window.config;
-
- // We don't want to pollute global scope.
- window.config = undefined;
-
- if (typeof config !== 'object') {
- throw new Error('window.config is not an object');
- }
-
- return config;
- })
- .catch(err => {
- console.error(`Failed to load ${path} from ${host}`, err);
-
- throw err;
- });
- }
|