123456789101112131415161718192021222324252627 |
- // @flow
-
- import { StateListenerRegistry } from '../base/redux';
-
- import { setFatalError } from './actions';
-
- declare var APP: Object;
-
- /**
- * State listener which emits the {@code fatalErrorOccurred} action which works
- * as a catch all for critical errors which have not been claimed by any other
- * feature for error recovery (the recoverable flag is not set).
- */
- StateListenerRegistry.register(
- /* selector */ state => {
- const { error: conferenceError } = state['features/base/conference'];
- const { error: configError } = state['features/base/config'];
- const { error: connectionError } = state['features/base/connection'];
-
- return configError || connectionError || conferenceError;
- },
- /* listener */ (error, { dispatch }) => {
- error
- && typeof error.recoverable === 'undefined'
- && dispatch(setFatalError(error));
- }
- );
|