X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=c943ff53097d2fc8661bb368520e19487c8a933e;hb=0c4c389681ffae83130e9b0b70fe51ebbaf5e5e9;hp=2141cf96618e6c28578bf0ab5542af5834568d1d;hpb=b5aa30b5b421412dcf836d1c9f07cdc61c19c064;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 2141cf96..c943ff53 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 = () => { @@ -407,6 +407,15 @@ export default { processChat: function(chat) { this.send("newchat", { data: chat }); }, + getOppsid: function(c) { + let oppsid = c.from.sid; //may not be defined if corr + offline opp + if (!oppsid) { + oppsid = Object.keys(this.people).find( + sid => this.people[sid].id == c.from.id + ); + } + return oppsid; + }, // Messaging center: socketMessageListener: function(msg) { if (!this.conn) return; @@ -797,7 +806,9 @@ export default { }; this.launchGame(c); } else { - this.send("refusechallenge", { data: c.id, target: c.from.sid }); + const oppsid = this.getOppsid(c); + if (oppsid) + this.send("refusechallenge", { data: c.id, target: oppsid }); } this.send("deletechallenge", { data: c.id }); }, @@ -857,13 +868,8 @@ export default { vid: c.vid, cadence: c.cadence }; - let oppsid = c.from.sid; //may not be defined if corr + offline opp - if (!oppsid) { - oppsid = Object.keys(this.people).find( - sid => this.people[sid].id == c.from.id - ); - } const notifyNewgame = () => { + const oppsid = this.getOppsid(c); if (oppsid) //opponent is online this.send("startgame", { data: gameInfo, target: oppsid });