From 20b995442488f321cebad064d2488fdcf4c62899 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 29 Dec 2016 15:48:46 -0500 Subject: [PATCH] Fix console errors when logging out (#4915) --- webapp/actions/global_actions.jsx | 4 ++++ webapp/actions/websocket_actions.jsx | 18 +++++++----------- .../admin_console/admin_navbar_dropdown.jsx | 2 +- webapp/components/select_team/select_team.jsx | 2 +- webapp/components/sidebar_header_dropdown.jsx | 2 +- webapp/components/sidebar_right_menu.jsx | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index d3fc2cd293..5ee1e16a5e 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -15,6 +15,8 @@ import SearchStore from 'stores/search_store.jsx'; import {handleNewPost, loadPosts, loadPostsBefore, loadPostsAfter} from 'actions/post_actions.jsx'; import {loadProfilesAndTeamMembersForDMSidebar} from 'actions/user_actions.jsx'; import {loadChannelsForCurrentUser} from 'actions/channel_actions.jsx'; +import {stopPeriodicStatusUpdates} from 'actions/status_actions.jsx'; +import * as WebsocketActions from 'actions/websocket_actions.jsx'; import Constants from 'utils/constants.jsx'; const ActionTypes = Constants.ActionTypes; @@ -480,6 +482,8 @@ export function emitUserLoggedOutEvent(redirectTo = '/', shouldSignalLogout = tr UserStore.clear(); TeamStore.clear(); newLocalizationSelected(global.window.mm_config.DefaultClientLocale); + stopPeriodicStatusUpdates(); + WebsocketActions.close(); browserHistory.push(redirectTo); }, () => { diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index d03025efbf..9a52eb05c8 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -59,7 +59,6 @@ export function initialize() { WebSocketClient.setEventCallback(handleEvent); WebSocketClient.setFirstConnectCallback(handleFirstConnect); - WebSocketClient.setReconnectCallback(handleReconnect); WebSocketClient.setCloseCallback(handleClose); WebSocketClient.initialize(connUrl); } @@ -71,21 +70,18 @@ export function close() { export function reconnect() { close(); initialize(); - handleReconnect(); -} -function handleFirstConnect() { + if (Client.teamId) { + loadChannelsForCurrentUser(); + loadPosts(ChannelStore.getCurrentId()); + StatusActions.loadStatusesForChannelAndSidebar(); + } + ErrorStore.clearLastError(); ErrorStore.emitChange(); } -function handleReconnect() { - if (Client.teamId) { - loadChannelsForCurrentUser(); - loadPosts(ChannelStore.getCurrentId()); - } - - StatusActions.loadStatusesForChannelAndSidebar(); +function handleFirstConnect() { ErrorStore.clearLastError(); ErrorStore.emitChange(); } diff --git a/webapp/components/admin_console/admin_navbar_dropdown.jsx b/webapp/components/admin_console/admin_navbar_dropdown.jsx index 07e32e658e..d4e144c4f8 100644 --- a/webapp/components/admin_console/admin_navbar_dropdown.jsx +++ b/webapp/components/admin_console/admin_navbar_dropdown.jsx @@ -137,7 +137,7 @@ export default class AdminNavbarDropdown extends React.Component {
  • GlobalActions.emitUserLoggedOutEvent()} > GlobalActions.emitUserLoggedOutEvent()} > diff --git a/webapp/components/sidebar_header_dropdown.jsx b/webapp/components/sidebar_header_dropdown.jsx index cfa4d2f807..ad0a6e4c6a 100644 --- a/webapp/components/sidebar_header_dropdown.jsx +++ b/webapp/components/sidebar_header_dropdown.jsx @@ -477,7 +477,7 @@ export default class SidebarHeaderDropdown extends React.Component {
  • GlobalActions.emitUserLoggedOutEvent()} > GlobalActions.emitUserLoggedOutEvent()} >