Fixes around game observing. TODO: abort/resign/draw + corr
authorBenjamin Auder <benjamin.auder@somewhere>
Tue, 21 Jan 2020 14:27:34 +0000 (15:27 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Tue, 21 Jan 2020 14:27:34 +0000 (15:27 +0100)
client/src/views/Game.vue
server/sockets.js

index 984a66b..09d9df8 100644 (file)
@@ -189,7 +189,7 @@ export default {
           {
             // Minimal game informations:
             id: this.game.id,
           {
             // Minimal game informations:
             id: this.game.id,
-            players: this.game.players.map(p => p.name),
+            players: this.game.players.map(p => { return {name:p.name}; }),
             vid: this.game.vid,
             timeControl: this.game.timeControl,
           };
             vid: this.game.vid,
             timeControl: this.game.timeControl,
           };
@@ -512,7 +512,11 @@ export default {
     gameOver: function(score) {
       this.game.mode = "analyze";
       this.game.score = score;
     gameOver: function(score) {
       this.game.mode = "analyze";
       this.game.score = score;
-      GameStorage.update(this.gameRef.id, { score: score });
+      const myIdx = this.game.players.findIndex(p => {
+        return p.sid == this.st.user.sid || p.uid == this.st.user.id;
+      });
+      if (myIdx >= 0) //OK, I play in this game
+        GameStorage.update(this.gameRef.id, { score: score });
     },
   },
 };
     },
   },
 };
index b51a978..ed7275f 100644 (file)
@@ -91,7 +91,7 @@ module.exports = function(wss) {
               : 0;
             const rid = gameSids[gid][idx];
             clients[rid].sock.send(JSON.stringify(
               : 0;
             const rid = gameSids[gid][idx];
             clients[rid].sock.send(JSON.stringify(
-              {code:"askgame", from: rid}));
+              {code:"askgame", from: sid}));
           });
           break;
         }
           });
           break;
         }