From 304852763503be1872cc49ad68aa07e6022a8125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Fri, 23 Mar 2018 17:54:43 +0100 Subject: [PATCH] Fixed issue with client vote/add and such --- server/public/assets/js/functions.js | 14 ++++++++++---- server/public/assets/js/list.js | 2 +- server/public/assets/js/listeners.js | 1 + server/public/assets/js/search.js | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/server/public/assets/js/functions.js b/server/public/assets/js/functions.js index 2c7d36af..41387ec3 100644 --- a/server/public/assets/js/functions.js +++ b/server/public/assets/js/functions.js @@ -278,13 +278,14 @@ function del_ajax(id) { url: "/api/list/" + chan.toLowerCase() + "/" + id, success: function(response) { toast("deletesong"); + get_list_ajax(); }, error: function(response) { if(response.responseJSON.status == 403) { - start_auth(); + toast("listhaspass"); } else if(response.responseJSON.status == 429) { setTimeout(function() { - vote_ajax(id); + del_ajax(id); }, response.getResponseHeader("Retry-After") * 1000); } } @@ -310,9 +311,12 @@ function add_ajax(id, title, duration, playlist, num, full_num, start, end) { url: "/api/list/" + chan.toLowerCase() + "/" + id, success: function(response) { toast("addedsong"); + get_list_ajax(); }, error: function(response) { - if(response.responseJSON.status == 409) { + if(response.responseJSON.status == 403) { + toast("listhaspass"); + } else if(response.responseJSON.status == 409) { vote_ajax(id); } else if(response.responseJSON.status == 429) { setTimeout(function() { @@ -338,10 +342,11 @@ function vote_ajax(id) { url: "/api/list/" + chan.toLowerCase() + "/" + id, success: function(response) { toast("voted"); + get_list_ajax(); }, error: function(response) { if(response.responseJSON.status == 403) { - start_auth(); + toast("listhaspass"); } else if(response.responseJSON.status == 429) { setTimeout(function() { vote_ajax(id); @@ -391,6 +396,7 @@ function setup_youtube_listener(){ function get_list_listener(){ socket.on("get_list", function(){ var add = ""; + socket_connected = true; //if(private_channel) add = Crypt.getCookie("_uI") + "_"; /*var p = Crypt.crypt_pass(Crypt.get_userpass(chan.toLowerCase()), true); if(p == undefined) p = "";*/ diff --git a/server/public/assets/js/list.js b/server/public/assets/js/list.js index 64001dc5..4c550295 100755 --- a/server/public/assets/js/list.js +++ b/server/public/assets/js/list.js @@ -548,7 +548,7 @@ var List = { }, vote: function(id, vote) { - if(client && !socket.connected) { + if(client && !socket_connected) { if(vote != "del") { vote_ajax(id); } else { diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index fa359425..c46c7395 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -5,6 +5,7 @@ var client = false; if(domain.length > 0 && domain[0] == "client") { client = true; } +var socket_connected = false; var hasadmin = 0; var list_html = $("#list-song-html").html(); var unseen = false; diff --git a/server/public/assets/js/search.js b/server/public/assets/js/search.js index 09740844..51a56daf 100755 --- a/server/public/assets/js/search.js +++ b/server/public/assets/js/search.js @@ -463,7 +463,7 @@ var Search = { }, submit: function(id,title,duration, playlist, num, full_num, start, end){ - if(client && !socket.connected) { + if(client && !socket_connected) { add_ajax(id, title, duration, playlist, num, full_num, start, end); return; }