Improve clientside socket.io connection error reporting
This commit is contained in:
parent
a360cd8808
commit
7faf2829b2
|
|
@ -236,7 +236,7 @@ html(lang="en")
|
||||||
#pmbar
|
#pmbar
|
||||||
include footer
|
include footer
|
||||||
mixin footer()
|
mixin footer()
|
||||||
script(src=sioSource)
|
script(id="socketio-js", src=sioSource)
|
||||||
script(src="/js/data.js")
|
script(src="/js/data.js")
|
||||||
script(src="/js/util.js")
|
script(src="/js/util.js")
|
||||||
script(src="/js/player.js")
|
script(src="/js/player.js")
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,8 @@ Callbacks = {
|
||||||
|
|
||||||
/* fired when socket connection completes */
|
/* fired when socket connection completes */
|
||||||
connect: function() {
|
connect: function() {
|
||||||
socket.emit("initChannelCallbacks");
|
SOCKETIO_CONNECT_ERROR_COUNT = 0;
|
||||||
|
$("#socketio-connect-error").remove();
|
||||||
socket.emit("joinChannel", {
|
socket.emit("joinChannel", {
|
||||||
name: CHANNEL.name
|
name: CHANNEL.name
|
||||||
});
|
});
|
||||||
|
|
@ -1050,14 +1051,32 @@ setupCallbacks = function() {
|
||||||
});
|
});
|
||||||
})(key);
|
})(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
socket.on("connect_error", function (error) {
|
||||||
|
SOCKETIO_CONNECT_ERROR_COUNT++;
|
||||||
|
if (SOCKETIO_CONNECT_ERROR_COUNT >= 3 &&
|
||||||
|
$("#socketio-connect-error").length === 0) {
|
||||||
|
var message = "Failed to connect to the server. Try clearing your " +
|
||||||
|
"cache and refreshing the page.";
|
||||||
|
makeAlert("Error", message, "alert-danger")
|
||||||
|
.attr("id", "socketio-connect-error")
|
||||||
|
.appendTo($("#announcements"));
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
if (typeof io === "undefined") {
|
if (typeof io === "undefined") {
|
||||||
makeAlert("Uh oh!", "It appears the socket.io connection " +
|
var script = document.getElementById("socketio-js");
|
||||||
"has failed. If this error persists, a firewall or " +
|
var source = "unknown";
|
||||||
"antivirus is likely blocking the connection, or the " +
|
if (script) {
|
||||||
"server is down.", "alert-danger")
|
source = script.src;
|
||||||
|
}
|
||||||
|
|
||||||
|
var message = "The socket.io library could not be loaded from <code>" +
|
||||||
|
source + "</code>. Ensure that it is not being blocked " +
|
||||||
|
"by a script blocking extension or firewall and try again.";
|
||||||
|
makeAlert("Error", message, "alert-danger")
|
||||||
.appendTo($("#announcements"));
|
.appendTo($("#announcements"));
|
||||||
Callbacks.disconnect();
|
Callbacks.disconnect();
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ var PL_WAIT_SCROLL = false;
|
||||||
var FILTER_FROM = 0;
|
var FILTER_FROM = 0;
|
||||||
var FILTER_TO = 0;
|
var FILTER_TO = 0;
|
||||||
var NO_STORAGE = typeof localStorage == "undefined" || localStorage === null;
|
var NO_STORAGE = typeof localStorage == "undefined" || localStorage === null;
|
||||||
|
var SOCKETIO_CONNECT_ERROR_COUNT = 0;
|
||||||
|
|
||||||
function getOpt(k) {
|
function getOpt(k) {
|
||||||
var v = NO_STORAGE ? readCookie(k) : localStorage.getItem(k);
|
var v = NO_STORAGE ? readCookie(k) : localStorage.getItem(k);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue