X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=5cbe0c86464a3e339854f49cba8fb6cc28fec1c3;hb=1511c610b30e524a95c45c8fa263275ec3013101;hp=83de5a4435a6ae1774d36a83fff392ced73a9d57;hpb=f91bc5b050b8d5c5da07f6623881669037867216;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 83de5a44..5cbe0c86 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -254,7 +254,7 @@ export default { let names = {}; response.challenges.forEach(c => { if (c.uid != this.st.user.id) names[c.uid] = ""; - else if (!!c.target && c.target != this.st.user.id) + else if (c.target && c.target != this.st.user.id) names[c.target] = ""; }); const addChallenges = () => { @@ -476,7 +476,10 @@ export default { // Disconnect means no more tmpIds: if (data.code == "disconnect") { // Remove the live challenge sent by this player: - ArrayFun.remove(this.challenges, c => c.from.sid == data.from); + ArrayFun.remove( + this.challenges, + c => c.type == "live" && c.from.sid == data.from + ); } else { // Remove the matching live game if now unreachable const gid = data.page.match(/[a-zA-Z0-9]+$/)[0]; @@ -807,8 +810,10 @@ export default { this.launchGame(c); } else { const oppsid = this.getOppsid(c); - if (oppSid) + if (oppsid) this.send("refusechallenge", { data: c.id, target: oppsid }); + if (c.type == "corr") + ajax("/challenges", "DELETE", { id: c.id }); } this.send("deletechallenge", { data: c.id }); }, @@ -847,9 +852,8 @@ export default { } else { // My challenge - if (c.type == "corr") { + if (c.type == "corr") ajax("/challenges", "DELETE", { id: c.id }); - } this.send("deletechallenge", { data: c.id }); } // In all cases, the challenge is consumed: