Fixed websocket to properly logout when logged out from another tab (#4546)

This commit is contained in:
Harrison Healey
2016-11-14 13:48:28 -05:00
committed by GitHub
parent db0314053e
commit 814d2fc88d
2 changed files with 8 additions and 8 deletions

View File

@@ -461,21 +461,23 @@ export function emitRemoteUserTypingEvent(channelId, userId, postParentId) {
});
}
export function emitUserLoggedOutEvent(redirectTo) {
const rURL = (redirectTo && typeof redirectTo === 'string') ? redirectTo : '/';
export function emitUserLoggedOutEvent(redirectTo = '/', shouldSignalLogout = true) {
Client.logout(
() => {
BrowserStore.signalLogout();
if (shouldSignalLogout) {
BrowserStore.signalLogout();
}
BrowserStore.clear();
ErrorStore.clearLastError();
PreferenceStore.clear();
UserStore.clear();
TeamStore.clear();
newLocalizationSelected(global.window.mm_config.DefaultClientLocale);
browserHistory.push(rURL);
browserHistory.push(redirectTo);
},
() => {
browserHistory.push(rURL);
browserHistory.push(redirectTo);
}
);
}

View File

@@ -14,8 +14,6 @@ import {loadEmoji} from 'actions/emoji_actions.jsx';
import * as Utils from 'utils/utils.jsx';
import Constants from 'utils/constants.jsx';
import {browserHistory} from 'react-router/es6';
const BACKSPACE_CHAR = 8;
import $ from 'jquery';
@@ -41,7 +39,7 @@ export default class LoggedIn extends React.Component {
}
console.log('detected logout from a different tab'); //eslint-disable-line no-console
browserHistory.push('/');
GlobalActions.emitUserLoggedOutEvent('/', false);
}
if (e.originalEvent.key === '__login__' && e.originalEvent.storageArea === localStorage && e.originalEvent.newValue) {