Break out NWS into a user option

This commit is contained in:
calzoneman 2013-06-04 15:41:34 -04:00
parent ddc1c56986
commit cfc866400c
4 changed files with 30 additions and 9 deletions

View file

@ -835,7 +835,6 @@ Callbacks = {
} }
} }
/*
$.getScript(IO_URL+"/socket.io/socket.io.js", function() { $.getScript(IO_URL+"/socket.io/socket.io.js", function() {
try { try {
socket = io.connect(IO_URL); socket = io.connect(IO_URL);
@ -847,9 +846,3 @@ $.getScript(IO_URL+"/socket.io/socket.io.js", function() {
Callbacks.disconnect(); Callbacks.disconnect();
} }
}); });
*/
socket = new NotWebsocket();
for(var key in Callbacks) {
socket.on(key, Callbacks[key]);
}

View file

@ -71,7 +71,8 @@ var USEROPTS = {
modhat : parseBool(getOrDefault("cytube_modhat", false)), modhat : parseBool(getOrDefault("cytube_modhat", false)),
blink_title : parseBool(getOrDefault("cytube_blink_title", false)), blink_title : parseBool(getOrDefault("cytube_blink_title", false)),
sync_accuracy : parseFloat(getOrDefault("cytube_sync_accuracy", 2)) || 2, 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(); applyOpts();
$("#optlink").click(showUserOpts); $("#optlink").click(showUserOpts);

View file

@ -1070,6 +1070,13 @@ function showUserOpts() {
sendbtn.prop("checked", USEROPTS.chatbtn); sendbtn.prop("checked", USEROPTS.chatbtn);
addOption("Send Button", sendbtncontainer); addOption("Send Button", sendbtncontainer);
var altsocketcontainer = $("<label/>").addClass("checkbox")
.text("Use alternative socket connection");
var altsocket = $("<input/>").attr("type", "checkbox")
.appendTo(altsocketcontainer);
altsocket.prop("checked", USEROPTS.altsocket);
addOption("Alternate Socket", altsocketcontainer);
var profile = $("<a/>").attr("target", "_blank") var profile = $("<a/>").attr("target", "_blank")
.addClass("btn") .addClass("btn")
.attr("href", "./account.html") .attr("href", "./account.html")
@ -1100,6 +1107,7 @@ function showUserOpts() {
USEROPTS.show_timestamps = showts.prop("checked"); USEROPTS.show_timestamps = showts.prop("checked");
USEROPTS.blink_title = blink.prop("checked"); USEROPTS.blink_title = blink.prop("checked");
USEROPTS.chatbtn = sendbtn.prop("checked"); USEROPTS.chatbtn = sendbtn.prop("checked");
USEROPTS.altsocket = altsocket.prop("checked");
if(RANK >= Rank.Moderator) { if(RANK >= Rank.Moderator) {
USEROPTS.modhat = modhat.prop("checked"); 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) { function idToURL(data) {

View file

@ -2,7 +2,6 @@ var NotWebsocket = function() {
this.connected = false; this.connected = false;
this.polltmr = false; this.polltmr = false;
$.getJSON(WEB_URL + "/nws/connect", function(data) { $.getJSON(WEB_URL + "/nws/connect", function(data) {
console.log(data);
this.hash = data; this.hash = data;
this.connected = true; this.connected = true;
this.recv(["connect", undefined]); this.recv(["connect", undefined]);