From 27d18a24ff2f3b04a7bf26b9b95c7214f8e5076a Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Tue, 25 Jun 2019 22:10:15 +0200
Subject: [PATCH] Fix clocks update

---
 client/src/components/BaseGame.vue |  9 +++++----
 client/src/views/Game.vue          | 19 +++----------------
 2 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue
index 254741d5..9f4b6df8 100644
--- a/client/src/components/BaseGame.vue
+++ b/client/src/components/BaseGame.vue
@@ -85,13 +85,14 @@ export default {
       this.moves = JSON.parse(JSON.stringify(this.game.moves || []));
       // Post-processing: decorate each move with color + current FEN:
       // (to be able to jump to any position quickly)
+      let vr_tmp = new V(this.game.fenStart); //vr is already at end of game
       this.moves.forEach(move => {
         // NOTE: this is doing manually what play() function below achieve,
         // but in a lighter "fast-forward" way
-        move.color = this.vr.turn;
-        move.notation = this.vr.getNotation(move);
-        this.vr.play(move);
-        move.fen = this.vr.getFen();
+        move.color = vr_tmp.turn;
+        move.notation = vr_tmp.getNotation(move);
+        vr_tmp.play(move);
+        move.fen = vr_tmp.getFen();
       });
       const L = this.moves.length;
       this.cursor = L-1;
diff --git a/client/src/views/Game.vue b/client/src/views/Game.vue
index 9271f487..f8cf2a7a 100644
--- a/client/src/views/Game.vue
+++ b/client/src/views/Game.vue
@@ -66,22 +66,7 @@ export default {
       let countdown = newState[colorIdx] -
         (Date.now() - this.game.initime[colorIdx])/1000;
       const myTurn = (currentTurn == this.game.mycolor);
-
-console.log(this.vr.turn + " " + currentTurn + " " + this.vr.getFen());
-
       let clockUpdate = setInterval(() => {
-
-
-
-
-console.log(countdown);
-        console.log(this.vr.turn +" " + currentTurn + " " + this.vr.getFen());
-
-// TODO: incoherent state because vr is altered in BaseGame to replay game
-        // ==> should use a temporary vr ?
-
-
-
         if (countdown <= 0 || this.vr.turn != currentTurn)
         {
           clearInterval(clockUpdate);
@@ -392,7 +377,9 @@ console.log(countdown);
       // Also update current game object:
       this.game.moves.push(move);
       this.game.fen = move.fen;
-      this.game.clocks[colorIdx] += (!!addTime ? addTime : 0);
+      //TODO: just this.game.clocks[colorIdx] += (!!addTime ? addTime : 0);
+      this.$set(this.game.clocks, colorIdx,
+        this.game.clocks[colorIdx] + (!!addTime ? addTime : 0));
       this.game.initime[nextIdx] = Date.now();
     },
     // TODO: this update function should also work for corr games
-- 
2.44.0