diff options
author | Joram Wilander <jwawilander@gmail.com> | 2015-12-15 08:58:51 -0500 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2015-12-15 08:58:51 -0500 |
commit | 385046946296b26555af373bbfc5f6ea96593cd2 (patch) | |
tree | 3607477167b8f4746a1df8c557e137fd6f329c5a /web/react/stores/browser_store.jsx | |
parent | f6ca77b5d104e892ba6dc1a53a93c2ea2c49af73 (diff) | |
parent | b94d025da44aeebd9651f46cfc4fe367cdd56a87 (diff) | |
download | chat-385046946296b26555af373bbfc5f6ea96593cd2.tar.gz chat-385046946296b26555af373bbfc5f6ea96593cd2.tar.bz2 chat-385046946296b26555af373bbfc5f6ea96593cd2.zip |
Merge pull request #1730 from mattermost/PLT-1404
PLT-1404 signal login to other tabs
Diffstat (limited to 'web/react/stores/browser_store.jsx')
-rw-r--r-- | web/react/stores/browser_store.jsx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/web/react/stores/browser_store.jsx b/web/react/stores/browser_store.jsx index ff6ae45ea..3417faaaf 100644 --- a/web/react/stores/browser_store.jsx +++ b/web/react/stores/browser_store.jsx @@ -29,6 +29,8 @@ class BrowserStoreClass { this.checkedLocalStorageSupported = ''; this.signalLogout = this.signalLogout.bind(this); this.isSignallingLogout = this.isSignallingLogout.bind(this); + this.signalLogin = this.signalLogin.bind(this); + this.isSignallingLogin = this.isSignallingLogin.bind(this); var currentVersion = sessionStorage.getItem('storage_version'); if (currentVersion !== global.window.mm_config.Version) { @@ -129,6 +131,21 @@ class BrowserStoreClass { return logoutId === sessionStorage.getItem('__logout__'); } + signalLogin() { + if (this.isLocalStorageSupported()) { + // PLT-1285 store an identifier in session storage so we can catch if the logout came from this tab on IE11 + const loginId = generateId(); + + sessionStorage.setItem('__login__', loginId); + localStorage.setItem('__login__', loginId); + localStorage.removeItem('__login__'); + } + } + + isSignallingLogin(loginId) { + return loginId === sessionStorage.getItem('__login__'); + } + /** * Preforms the given action on each item that has the given prefix * Signature for action is action(key, value) |