diff --git a/server/handlers/io.js b/server/handlers/io.js index 9bb67c0c..7797c07e 100644 --- a/server/handlers/io.js +++ b/server/handlers/io.js @@ -374,6 +374,13 @@ module.exports = function() { List.left_channel(coll, guid, short_id, in_list, socket, false); }); + socket.on("left_channel", function(msg) { + if(msg.hasOwnProperty("channel") && msg.channel != "" && typeof(msg.channel) == "string") { + coll = msg.channel; + List.left_channel(coll, guid, short_id, in_list, socket, false); + } + }) + socket.on('reconnect_failed', function() { List.left_channel(coll, guid, short_id, in_list, socket, false); diff --git a/server/public/assets/js/channel.js b/server/public/assets/js/channel.js index fa3c2291..17c2a935 100644 --- a/server/public/assets/js/channel.js +++ b/server/public/assets/js/channel.js @@ -536,6 +536,7 @@ var Channel = { var host = window.location.hostname.split("."); window.location.hostname = host[host.length -1]; }*/ + var channel_before_move = chan.toLowerCase(); clearTimeout(timed_remove_check); changing_to_frontpage = true; $.contextMenu( 'destroy', ".playlist-element" ); @@ -579,7 +580,10 @@ var Channel = { //socket.emit("change_channel"); //removeAllListeners(); //socket.removeEventListener(id); - socket.disconnect(); + socket.emit("left_channel", { + channel: channel_before_move + }); + //socket.disconnect(); } else { socket.removeEventListener("chat.all"); socket.removeEventListener("chat");