summaryrefslogtreecommitdiffstats
path: root/webapp/action_creators
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2016-03-24 20:12:36 -0400
committerJoramWilander <jwawilander@gmail.com>2016-03-24 20:12:36 -0400
commit6516e9bf6801f7c9ec247b2397503a834c93d790 (patch)
treee008feb1f2441ab720c7ba64ebabdcbf61b89eba /webapp/action_creators
parent8f5b90fe7858de03ac055b38ab7aaec5f54fa107 (diff)
downloadchat-6516e9bf6801f7c9ec247b2397503a834c93d790.tar.gz
chat-6516e9bf6801f7c9ec247b2397503a834c93d790.tar.bz2
chat-6516e9bf6801f7c9ec247b2397503a834c93d790.zip
Fix websocket trying to reconnect after a logout
Diffstat (limited to 'webapp/action_creators')
-rw-r--r--webapp/action_creators/websocket_actions.jsx18
1 files changed, 12 insertions, 6 deletions
diff --git a/webapp/action_creators/websocket_actions.jsx b/webapp/action_creators/websocket_actions.jsx
index 611d53bf7..009bb9e96 100644
--- a/webapp/action_creators/websocket_actions.jsx
+++ b/webapp/action_creators/websocket_actions.jsx
@@ -21,6 +21,7 @@ const WEBSOCKET_RETRY_TIME = 3000;
var conn = null;
var connectFailCount = 0;
var pastFirstInit = false;
+var manuallyClosed = false;
export function initialize() {
if (window.WebSocket && !conn) {
@@ -35,6 +36,8 @@ export function initialize() {
console.log('websocket connecting to ' + connUrl); //eslint-disable-line no-console
}
+ manuallyClosed = false;
+
conn = new WebSocket(connUrl);
conn.onopen = () => {
@@ -69,12 +72,14 @@ export function initialize() {
ErrorStore.setConnectionErrorCount(connectFailCount);
ErrorStore.emitChange();
- setTimeout(
- () => {
- initialize();
- },
- WEBSOCKET_RETRY_TIME
- );
+ if (!manuallyClosed) {
+ setTimeout(
+ () => {
+ initialize();
+ },
+ WEBSOCKET_RETRY_TIME
+ );
+ }
};
conn.onerror = (evt) => {
@@ -147,6 +152,7 @@ export function sendMessage(msg) {
}
export function close() {
+ manuallyClosed = true;
if (conn && conn.readyState === WebSocket.OPEN) {
conn.close();
}