From 6ff7e4ea4b23a50a65d295aae163fb96f21cdcff Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 2 Aug 2017 08:44:25 -0400 Subject: Change refresh on version change to be after explicit click (#7090) --- webapp/actions/global_actions.jsx | 13 +++++++++++++ webapp/components/admin_console/admin_console.jsx | 3 +++ .../admin_console/system_users/system_users.jsx | 3 ++- webapp/root.jsx | 20 +------------------- webapp/yarn.lock | 2 +- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/webapp/actions/global_actions.jsx b/webapp/actions/global_actions.jsx index ce14661f6..f464483cf 100644 --- a/webapp/actions/global_actions.jsx +++ b/webapp/actions/global_actions.jsx @@ -67,6 +67,7 @@ export function emitChannelClickEvent(channel) { // Mark previous and next channel as read ChannelStore.resetCounts([chan.id, oldChannelId]); + reloadIfServerVersionChanged(); }); // Subtract mentions for the team @@ -593,3 +594,15 @@ export function emitPopoverMentionKeyClick(isRHS, mentionKey) { mentionKey }); } + +let serverVersion = ''; + +export function reloadIfServerVersionChanged() { + const newServerVersion = Client4.getServerVersion(); + if (serverVersion && serverVersion !== newServerVersion) { + console.log('Detected version update refreshing the page'); //eslint-disable-line no-console + window.location.reload(true); + } + + serverVersion = newServerVersion; +} diff --git a/webapp/components/admin_console/admin_console.jsx b/webapp/components/admin_console/admin_console.jsx index 99256d7d4..17670d6ab 100644 --- a/webapp/components/admin_console/admin_console.jsx +++ b/webapp/components/admin_console/admin_console.jsx @@ -8,6 +8,8 @@ import 'bootstrap'; import AnnouncementBar from 'components/announcement_bar'; import AdminSidebar from './admin_sidebar.jsx'; +import {reloadIfServerVersionChanged} from 'actions/global_actions.jsx'; + export default class AdminConsole extends React.Component { static propTypes = { @@ -32,6 +34,7 @@ export default class AdminConsole extends React.Component { componentWillMount() { this.props.actions.getConfig(); + reloadIfServerVersionChanged(); } render() { diff --git a/webapp/components/admin_console/system_users/system_users.jsx b/webapp/components/admin_console/system_users/system_users.jsx index 4fbdc26d8..db8400217 100644 --- a/webapp/components/admin_console/system_users/system_users.jsx +++ b/webapp/components/admin_console/system_users/system_users.jsx @@ -16,6 +16,7 @@ import AnalyticsStore from 'stores/analytics_store.jsx'; import TeamStore from 'stores/team_store.jsx'; import UserStore from 'stores/user_store.jsx'; +import {reloadIfServerVersionChanged} from 'actions/global_actions.jsx'; import {getStandardAnalytics} from 'actions/admin_actions.jsx'; import {Constants, StatTypes, UserSearchOptions} from 'utils/constants.jsx'; import * as Utils from 'utils/utils.jsx'; @@ -102,7 +103,7 @@ export default class SystemUsers extends React.Component { UserStore.addWithoutTeamChangeListener(this.updateUsersFromStore); this.loadDataForTeam(this.state.teamId); - this.props.actions.getTeams(0, 1000); + this.props.actions.getTeams(0, 1000).then(reloadIfServerVersionChanged); } componentWillUpdate(nextProps, nextState) { diff --git a/webapp/root.jsx b/webapp/root.jsx index b41654286..635c8e93b 100644 --- a/webapp/root.jsx +++ b/webapp/root.jsx @@ -24,11 +24,9 @@ import 'katex/dist/katex.min.css'; import store from 'stores/redux_store.jsx'; const dispatch = store.dispatch; const getState = store.getState; -import EventEmitter from 'mattermost-redux/utils/event_emitter'; import {viewChannel} from 'mattermost-redux/actions/channels'; -import {getClientConfig, getLicenseConfig, setUrl, setServerVersion as setServerVersionRedux} from 'mattermost-redux/actions/general'; -import {General} from 'mattermost-redux/constants'; +import {getClientConfig, getLicenseConfig, setUrl} from 'mattermost-redux/actions/general'; // Import the root of our routing tree import rRoot from 'routes/route_root.jsx'; @@ -127,22 +125,6 @@ function renderRootComponent() { document.getElementById('root')); } -let serverVersion = ''; - -EventEmitter.on(General.CONFIG_CHANGED, setServerVersion); - -function setServerVersion(newServerVersion) { - if (serverVersion && serverVersion !== newServerVersion) { - console.log('Detected version update refreshing the page'); //eslint-disable-line no-console - window.location.reload(true); - } - - if (serverVersion !== newServerVersion) { - serverVersion = newServerVersion; - setServerVersionRedux(newServerVersion)(dispatch, getState); - } -} - global.window.setup_root = () => { // Do the pre-render setup and call renderRootComponent when done preRenderSetup(renderRootComponent); diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 13d9c630c..6458814e3 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -5004,7 +5004,7 @@ math-expression-evaluator@^1.2.14: mattermost-redux@mattermost/mattermost-redux#master: version "0.0.1" - resolved "https://codeload.github.com/mattermost/mattermost-redux/tar.gz/d3a8c94d59a687a957ca8808fbe1b9cb76077bce" + resolved "https://codeload.github.com/mattermost/mattermost-redux/tar.gz/b70727e1add55a9b173afc74cada1a32bf7db122" dependencies: deep-equal "1.0.1" harmony-reflect "1.5.1" -- cgit v1.2.3-1-g7c22