diff options
author | Corey Hulen <corey@hulen.com> | 2016-06-29 04:16:20 -0800 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-06-29 08:16:20 -0400 |
commit | b63f61fe7d022bf1569993afbd9441ee7db2feca (patch) | |
tree | ae8cb0adf048d69adf400be62788a45c7030b746 /webapp/actions | |
parent | 6c5a8be6bfe1d6b9d8f71a6b0dc4d8cf93a03aab (diff) | |
download | chat-b63f61fe7d022bf1569993afbd9441ee7db2feca.tar.gz chat-b63f61fe7d022bf1569993afbd9441ee7db2feca.tar.bz2 chat-b63f61fe7d022bf1569993afbd9441ee7db2feca.zip |
PLT-3440 (#3440)
Diffstat (limited to 'webapp/actions')
-rw-r--r-- | webapp/actions/websocket_actions.jsx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index 11d7bbe18..fba5632ca 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -21,7 +21,8 @@ const SocketEvents = Constants.SocketEvents; import {browserHistory} from 'react-router/es6'; const MAX_WEBSOCKET_FAILS = 7; -const WEBSOCKET_RETRY_TIME = 3000; +const MIN_WEBSOCKET_RETRY_TIME = 3000; // 3 sec +const MAX_WEBSOCKET_RETRY_TIME = 300000; // 5 mins var conn = null; var connectFailCount = 0; @@ -74,8 +75,16 @@ export function initialize() { connectFailCount = connectFailCount + 1; + var retryTime = MIN_WEBSOCKET_RETRY_TIME; + if (connectFailCount > MAX_WEBSOCKET_FAILS) { ErrorStore.storeLastError({message: Utils.localizeMessage('channel_loader.socketError', 'Please check connection, Mattermost unreachable. If issue persists, ask administrator to check WebSocket port.')}); + + // If we've failed a bunch of connections then start backing off + retryTime = MIN_WEBSOCKET_RETRY_TIME * connectFailCount * connectFailCount; + if (retryTime > MAX_WEBSOCKET_RETRY_TIME) { + retryTime = MAX_WEBSOCKET_RETRY_TIME; + } } ErrorStore.setConnectionErrorCount(connectFailCount); @@ -85,7 +94,7 @@ export function initialize() { () => { initialize(); }, - WEBSOCKET_RETRY_TIME + retryTime ); }; |