summaryrefslogtreecommitdiffstats
path: root/web/react/stores
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2015-12-15 08:58:51 -0500
committerJoram Wilander <jwawilander@gmail.com>2015-12-15 08:58:51 -0500
commit385046946296b26555af373bbfc5f6ea96593cd2 (patch)
tree3607477167b8f4746a1df8c557e137fd6f329c5a /web/react/stores
parentf6ca77b5d104e892ba6dc1a53a93c2ea2c49af73 (diff)
parentb94d025da44aeebd9651f46cfc4fe367cdd56a87 (diff)
downloadchat-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')
-rw-r--r--web/react/stores/browser_store.jsx17
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)