X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fsockets.js;h=7de7abb94638189e3d0cc0c7f306e96d9f5ab2cb;hb=0234201fb338fc239d6f613c677fa932c7c3697c;hp=d96b69676dca3d1c993eca7a9d0bc7c6771cbe5e;hpb=cafe016679ee9c14bf7bf0a37104ade7f74aff89;p=vchess.git diff --git a/server/sockets.js b/server/sockets.js index d96b6967..7de7abb9 100644 --- a/server/sockets.js +++ b/server/sockets.js @@ -165,7 +165,7 @@ module.exports = function(wss) { // but the requested resource can be from any tmpId (except current!) case "askidentity": case "asklastate": - case "askchallenge": + case "askchallenges": case "askgame": case "askfullgame": { const pg = obj.page || page; //required for askidentity and askgame @@ -201,23 +201,20 @@ module.exports = function(wss) { // Notify all room: mostly game events case "newchat": case "newchallenge": - case "deletechallenge": + case "deletechallenge_s": case "newgame": case "resign": case "abort": case "drawoffer": case "rematchoffer": case "draw": - if (!!obj.oppsid) - // "newgame" message from Hall: do not target players - notifyAllBut(page, "newgame", {data: obj.data}, [sid, obj.oppsid]); - else notifyRoom(page, obj.code, {data: obj.data}); + notifyRoom(page, obj.code, {data: obj.data}); break; case "rnewgame": - // A rematch game started: players are already informed + // A rematch game started: + // NOTE: no need to explicitely notify Hall: the game will be sent notifyAllBut(page, "newgame", {data: obj.data}, [sid]); - notifyAllBut("/", "newgame", {data: obj.data}, [sid, obj.oppsid]); notifyRoom("/mygames", "newgame", {data: obj.data}); break; @@ -272,7 +269,7 @@ module.exports = function(wss) { case "notifynewgame": if (!!clients["/mygames"]) { obj.targets.forEach(t => { - const k = t.sid || idToSid[t.uid]; + const k = t.sid || idToSid[t.id]; if (!!clients["/mygames"][k]) { Object.keys(clients["/mygames"][k]).forEach(x => { send( @@ -297,7 +294,7 @@ module.exports = function(wss) { // Passing, relaying something: from isn't needed, // but target is fully identified (sid + tmpId) - case "challenge": + case "challenges": case "fullgame": case "game": case "identity":