// obj: chat, move, fen, clocks, score[Msg], initime, ...
update: function(gameId, obj) {
- // live
dbOperation((err, db) => {
let objectStore = db
.transaction("games", "readwrite")
.objectStore("games");
objectStore.get(gameId).onsuccess = function(event) {
// Ignoring error silently: shouldn't happen now. TODO?
- if (event.target.result) {
+ if (!!event.target.result) {
let game = event.target.result;
// Hidden tabs are delayed, to prevent multi-updates:
if (obj.moveIdx < game.moves.length) return;
Object.keys(obj).forEach(k => {
if (k == "move") game.moves.push(obj[k]);
else if (k == "chat") game.chats.push(obj[k]);
+ else if (k == "chatRead") game.chatRead = Date.now();
else if (k == "delchat") game.chats = [];
+ else if (k == "playerName")
+ game.players[obj[k].idx].name = obj[k].name;
else game[k] = obj[k];
});
objectStore.put(game); //save updated data