diff --git a/www/assets/js/callbacks.js b/www/assets/js/callbacks.js
index b2f36ec1..2c2201b5 100644
--- a/www/assets/js/callbacks.js
+++ b/www/assets/js/callbacks.js
@@ -835,7 +835,6 @@ Callbacks = {
}
}
-/*
$.getScript(IO_URL+"/socket.io/socket.io.js", function() {
try {
socket = io.connect(IO_URL);
@@ -847,9 +846,3 @@ $.getScript(IO_URL+"/socket.io/socket.io.js", function() {
Callbacks.disconnect();
}
});
-*/
-
-socket = new NotWebsocket();
-for(var key in Callbacks) {
- socket.on(key, Callbacks[key]);
-}
diff --git a/www/assets/js/client.js b/www/assets/js/client.js
index d44cc27c..dcf7af82 100644
--- a/www/assets/js/client.js
+++ b/www/assets/js/client.js
@@ -71,7 +71,8 @@ var USEROPTS = {
modhat : parseBool(getOrDefault("cytube_modhat", false)),
blink_title : parseBool(getOrDefault("cytube_blink_title", false)),
sync_accuracy : parseFloat(getOrDefault("cytube_sync_accuracy", 2)) || 2,
- chatbtn : parseBool(getOrDefault("cytube_chatbtn", false))
+ chatbtn : parseBool(getOrDefault("cytube_chatbtn", false)),
+ altsocket : parseBool(getOrDefault("cytube_altsocket", false))
};
applyOpts();
$("#optlink").click(showUserOpts);
diff --git a/www/assets/js/functions.js b/www/assets/js/functions.js
index 47890980..7b41dd17 100644
--- a/www/assets/js/functions.js
+++ b/www/assets/js/functions.js
@@ -1070,6 +1070,13 @@ function showUserOpts() {
sendbtn.prop("checked", USEROPTS.chatbtn);
addOption("Send Button", sendbtncontainer);
+ var altsocketcontainer = $("").addClass("checkbox")
+ .text("Use alternative socket connection");
+ var altsocket = $("").attr("type", "checkbox")
+ .appendTo(altsocketcontainer);
+ altsocket.prop("checked", USEROPTS.altsocket);
+ addOption("Alternate Socket", altsocketcontainer);
+
var profile = $("").attr("target", "_blank")
.addClass("btn")
.attr("href", "./account.html")
@@ -1100,6 +1107,7 @@ function showUserOpts() {
USEROPTS.show_timestamps = showts.prop("checked");
USEROPTS.blink_title = blink.prop("checked");
USEROPTS.chatbtn = sendbtn.prop("checked");
+ USEROPTS.altsocket = altsocket.prop("checked");
if(RANK >= Rank.Moderator) {
USEROPTS.modhat = modhat.prop("checked");
}
@@ -1179,6 +1187,26 @@ function applyOpts() {
}
});
}
+
+ if(USEROPTS.altsocket) {
+ socket.disconnect();
+ socket = new NotWebsocket();
+ for(var key in Callbacks) {
+ socket.on(key, Callbacks[key]);
+ }
+ }
+ // Switch from NotWebsocket => Socket.io
+ else if(socket && typeof socket.poll !== "undefined") {
+ try {
+ socket = io.connect(IO_URL);
+ for(var key in Callbacks) {
+ socket.on(key, Callbacks[key]);
+ }
+ }
+ catch(e) {
+ Callbacks.disconnect();
+ }
+ }
}
function idToURL(data) {
diff --git a/www/assets/js/notwebsocket.js b/www/assets/js/notwebsocket.js
index fcdf7677..a5e67ee1 100644
--- a/www/assets/js/notwebsocket.js
+++ b/www/assets/js/notwebsocket.js
@@ -2,7 +2,6 @@ var NotWebsocket = function() {
this.connected = false;
this.polltmr = false;
$.getJSON(WEB_URL + "/nws/connect", function(data) {
- console.log(data);
this.hash = data;
this.connected = true;
this.recv(["connect", undefined]);