* fix(connection): reload immediately on possible split-brain There isn't an explicit way to know when a split brain scenario has happened. It is assumed it arises when an "item-not-found" connection error is encountered early on in the conference. So, store when a connection has happened so it be calculated how much time has elapsed and if the threshold has not been exceeded then do an immediate reload of the app instead of showing the overlay with a reload timer. * squash: rename isItemNotFoundError -> isShardChangedError
60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
import {
|
|
MEDIA_PERMISSION_PROMPT_VISIBILITY_CHANGED,
|
|
SET_FATAL_ERROR,
|
|
SUSPEND_DETECTED
|
|
} from './actionTypes';
|
|
|
|
/**
|
|
* Signals that the prompt for media permission is visible or not.
|
|
*
|
|
* @param {boolean} isVisible - If the value is true - the prompt for media
|
|
* permission is visible otherwise the value is false/undefined.
|
|
* @param {string} browser - The name of the current browser.
|
|
* @public
|
|
* @returns {{
|
|
* type: MEDIA_PERMISSION_PROMPT_VISIBILITY_CHANGED,
|
|
* browser: {string},
|
|
* isVisible: {boolean}
|
|
* }}
|
|
*/
|
|
export function mediaPermissionPromptVisibilityChanged(isVisible, browser) {
|
|
return {
|
|
type: MEDIA_PERMISSION_PROMPT_VISIBILITY_CHANGED,
|
|
browser,
|
|
isVisible
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Signals that suspend was detected.
|
|
*
|
|
* @public
|
|
* @returns {{
|
|
* type: SUSPEND_DETECTED
|
|
* }}
|
|
*/
|
|
export function suspendDetected() {
|
|
return {
|
|
type: SUSPEND_DETECTED
|
|
};
|
|
}
|
|
|
|
/**
|
|
* The action indicates that an unrecoverable error has occurred and the reload
|
|
* screen will be displayed or hidden.
|
|
*
|
|
* @param {Object} fatalError - A critical error which was not claimed by any
|
|
* feature for error recovery (the recoverable flag was not set). If
|
|
* {@code undefined} then any fatal error currently stored will be discarded.
|
|
* @returns {{
|
|
* type: SET_FATAL_ERROR,
|
|
* fatalError: ?Error
|
|
* }}
|
|
*/
|
|
export function setFatalError(fatalError) {
|
|
return {
|
|
type: SET_FATAL_ERROR,
|
|
fatalError
|
|
};
|
|
}
|