|
|
@ -105,6 +105,7 @@ define([
|
|
|
|
// bind abort to onLeaving
|
|
|
|
// bind abort to onLeaving
|
|
|
|
var abort = function (socket, realtime) {
|
|
|
|
var abort = function (socket, realtime) {
|
|
|
|
realtime.abort();
|
|
|
|
realtime.abort();
|
|
|
|
|
|
|
|
realtime.toolbar.failed();
|
|
|
|
try { socket._socket.close(); } catch (e) { warn(e); }
|
|
|
|
try { socket._socket.close(); } catch (e) { warn(e); }
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
@ -293,6 +294,11 @@ define([
|
|
|
|
if (recoverableErrorCount >= MAX_RECOVERABLE_ERRORS) {
|
|
|
|
if (recoverableErrorCount >= MAX_RECOVERABLE_ERRORS) {
|
|
|
|
warn("Giving up!");
|
|
|
|
warn("Giving up!");
|
|
|
|
abort(socket, realtime);
|
|
|
|
abort(socket, realtime);
|
|
|
|
|
|
|
|
if (config.onAbort) {
|
|
|
|
|
|
|
|
config.onAbort({
|
|
|
|
|
|
|
|
socket
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
if (socketChecker) { clearInterval(socketChecker); }
|
|
|
|
if (socketChecker) { clearInterval(socketChecker); }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|