Fix websocket trying to reconnect after a logout

Этот коммит содержится в:
JoramWilander
2016-03-24 20:12:36 -04:00
родитель 8f5b90fe78
Коммит 6516e9bf68
2 изменённых файлов: 13 добавлений и 7 удалений

Просмотреть файл

@@ -21,6 +21,7 @@ const WEBSOCKET_RETRY_TIME = 3000;
var conn = null; var conn = null;
var connectFailCount = 0; var connectFailCount = 0;
var pastFirstInit = false; var pastFirstInit = false;
var manuallyClosed = false;
export function initialize() { export function initialize() {
if (window.WebSocket && !conn) { if (window.WebSocket && !conn) {
@@ -35,6 +36,8 @@ export function initialize() {
console.log('websocket connecting to ' + connUrl); //eslint-disable-line no-console console.log('websocket connecting to ' + connUrl); //eslint-disable-line no-console
} }
manuallyClosed = false;
conn = new WebSocket(connUrl); conn = new WebSocket(connUrl);
conn.onopen = () => { conn.onopen = () => {
@@ -69,12 +72,14 @@ export function initialize() {
ErrorStore.setConnectionErrorCount(connectFailCount); ErrorStore.setConnectionErrorCount(connectFailCount);
ErrorStore.emitChange(); ErrorStore.emitChange();
setTimeout( if (!manuallyClosed) {
() => { setTimeout(
initialize(); () => {
}, initialize();
WEBSOCKET_RETRY_TIME },
); WEBSOCKET_RETRY_TIME
);
}
}; };
conn.onerror = (evt) => { conn.onerror = (evt) => {
@@ -147,6 +152,7 @@ export function sendMessage(msg) {
} }
export function close() { export function close() {
manuallyClosed = true;
if (conn && conn.readyState === WebSocket.OPEN) { if (conn && conn.readyState === WebSocket.OPEN) {
conn.close(); conn.close();
} }

Просмотреть файл

@@ -55,7 +55,7 @@ export default class SignupTeamComplete extends React.Component {
<div> <div>
<div className='signup-header'> <div className='signup-header'>
<Link to='/'> <Link to='/'>
<span classNameName='fa fa-chevron-left'/> <span className='fa fa-chevron-left'/>
<FormattedMessage id='web.header.back'/> <FormattedMessage id='web.header.back'/>
</Link> </Link>
</div> </div>