If multiple JitsiMeetView instances are created (not necessarily existing at once), it's possible to hit a TypeError when reading the React Component props of the currently mounted App. Anyway, in certain places we're already protecting against that out of abundance of caution so it makes no sense to not protect everywhere.
56 lines
1.9 KiB
JavaScript
56 lines
1.9 KiB
JavaScript
// @flow
|
|
|
|
import { getAppProp } from '../app';
|
|
import { toState } from '../base/redux';
|
|
|
|
declare var APP: Object;
|
|
declare var config: Object;
|
|
|
|
export * from './roomnameGenerator';
|
|
|
|
/**
|
|
* Determines whether the {@code WelcomePage} is enabled by the app itself
|
|
* (e.g. programmatically via the Jitsi Meet SDK for Android and iOS). Not to be
|
|
* confused with {@link isWelcomePageUserEnabled}.
|
|
*
|
|
* @param {Function|Object} stateful - The redux state or {@link getState}
|
|
* function.
|
|
* @returns {boolean} If the {@code WelcomePage} is enabled by the app, then
|
|
* {@code true}; otherwise, {@code false}.
|
|
*/
|
|
export function isWelcomePageAppEnabled(stateful: Function | Object) {
|
|
let b;
|
|
|
|
if (navigator.product === 'ReactNative') {
|
|
// We introduced the welcomePageEnabled prop on App in Jitsi Meet SDK
|
|
// for Android and iOS. There isn't a strong reason not to introduce it
|
|
// on Web but there're a few considerations to be taken before I go
|
|
// there among which:
|
|
// - Enabling/disabling the Welcome page on Web historically
|
|
// automatically redirects to a random room and that does not make sense
|
|
// on mobile (right now).
|
|
b = Boolean(getAppProp(stateful, 'welcomePageEnabled'));
|
|
} else {
|
|
b = true;
|
|
}
|
|
|
|
return b;
|
|
}
|
|
|
|
/**
|
|
* Determines whether the {@code WelcomePage} is enabled by the user either
|
|
* herself or through her deployment config(uration). Not to be confused with
|
|
* {@link isWelcomePageAppEnabled}.
|
|
*
|
|
* @param {Function|Object} stateful - The redux state or {@link getState}
|
|
* function.
|
|
* @returns {boolean} If the {@code WelcomePage} is enabled by the user, then
|
|
* {@code true}; otherwise, {@code false}.
|
|
*/
|
|
export function isWelcomePageUserEnabled(stateful: Function | Object) {
|
|
return (
|
|
typeof APP === 'undefined'
|
|
? true
|
|
: toState(stateful)['features/base/config'].enableWelcomePage);
|
|
}
|