* VRFS-1653 - fixing another startup problem for websocket connections

This commit is contained in:
Seth Call 2014-06-19 14:52:08 -05:00
parent 3d1c4f2488
commit 762af63b09
1 changed files with 11 additions and 5 deletions

View File

@ -99,8 +99,8 @@
heartbeatAckCheckInterval = null;
}
if (!server.reconnecting && !server.noReconnect) {
server.reconnecting = true;
if (!server.connecting && !server.noReconnect) {
server.connecting = true;
var result = activeElementEvent('beforeDisconnect');
@ -170,9 +170,7 @@
function loggedIn(header, payload) {
server.reconnecting = false;
if (!connectTimeout) {
if (connectTimeout) {
clearTimeout(connectTimeout);
connectTimeout = null;
}
@ -187,6 +185,12 @@
$.cookie('client_id', payload.client_id);
}
// this has to be after context.jamclient.OnLoggedIn, because it hangs in scenarios
// where there is no device on startup for the current profile.
// So, in that case, it's possible that a reconnect loop will attempt, but we *do not want*
// it to go through unless we've passed through .OnLoggedIn
server.connecting = false;
heartbeatMS = payload.heartbeat_interval * 1000;
connection_expire_time = payload.connection_expire_time * 1000;
logger.info("jamkazam.js.loggedIn(): clientId=" + app.clientId + ", heartbeat=" + payload.heartbeat_interval + "s, expire_time=" + payload.connection_expire_time + 's');
@ -469,12 +473,14 @@
logger.debug("connecting websocket: " + uri);
server.connecting = true;
server.socket = new context.WebSocket(uri);
server.socket.onopen = server.onOpen;
server.socket.onmessage = server.onMessage;
server.socket.onclose = server.onClose;
connectTimeout = setTimeout(function () {
logger.debug("connection timeout fired")
connectTimeout = null;
if(connectDeferred.state() === 'pending') {