diff --git a/app/components/network_indicator/network_indicator.js b/app/components/network_indicator/network_indicator.js index bef1d5bdc..b513d43a0 100644 --- a/app/components/network_indicator/network_indicator.js +++ b/app/components/network_indicator/network_indicator.js @@ -81,6 +81,10 @@ export default class NetworkIndicator extends PureComponent { this.mounted = true; AppState.addEventListener('change', this.handleAppStateChange); + + // Attempt to connect when this component mounts + // if the websocket is already connected it does not try and connect again + this.connect(); } componentDidUpdate(prevProps) { diff --git a/app/mattermost.js b/app/mattermost.js index 1eb47941c..ffef181ef 100644 --- a/app/mattermost.js +++ b/app/mattermost.js @@ -20,9 +20,11 @@ import {Provider} from 'react-redux'; import semver from 'semver'; import {Client4} from 'mattermost-redux/client'; -import {General} from 'mattermost-redux/constants'; import {setAppState, setServerVersion} from 'mattermost-redux/actions/general'; import {loadMe, logout} from 'mattermost-redux/actions/users'; +import {close as closeWebSocket} from 'mattermost-redux/actions/websocket'; +import {General} from 'mattermost-redux/constants'; + import {handleLoginIdChanged} from 'app/actions/views/login'; import {handleServerUrlChanged} from 'app/actions/views/select_server'; import EventEmitter from 'mattermost-redux/utils/event_emitter'; @@ -141,6 +143,7 @@ const handleLogout = () => { // the Client online flag to true cause the network handler // is not available at this point Client4.setOnline(true); + store.dispatch(closeWebSocket(false)); app.setAppStarted(true); app.clearNativeCache();