add network time synchronization & fix initial timestamp
This commit is contained in:
parent
8a3e3ca4f2
commit
89f335479b
|
|
@ -276,6 +276,7 @@
|
|||
//console.STAT = console.real_log;
|
||||
</script>
|
||||
<script src="gun/gun.js"></script>
|
||||
<script src="gun/nts.js"></script>
|
||||
<script src="gun/sea.js"></script>
|
||||
<script src="gun/lib/webrtc.js"></script>
|
||||
<script>
|
||||
|
|
|
|||
21
js/chess.js
21
js/chess.js
|
|
@ -29,9 +29,12 @@ let initialBoard = (function (){
|
|||
'rnbqkbnr',
|
||||
],
|
||||
player: 'light',
|
||||
timestamp: new Date().getTime(),
|
||||
});
|
||||
return function (){ return JSON.parse(init); }
|
||||
return function (){
|
||||
const board = JSON.parse(init);
|
||||
board.timestamp = new Date(Gun.state()).getTime();
|
||||
return board;
|
||||
};
|
||||
})();
|
||||
|
||||
function cloneJSON(obj){
|
||||
|
|
@ -305,7 +308,7 @@ function movePiece(priorBoard, side, from, to){
|
|||
let board = cloneJSON(undoBoard);
|
||||
board.prior = undoBoard;
|
||||
|
||||
board.timestamp = new Date().getTime();
|
||||
board.timestamp = new Date(Gun.state()).getTime();
|
||||
|
||||
board.move = {
|
||||
side: normalizeSide(side),
|
||||
|
|
@ -737,7 +740,7 @@ function putMeta(){
|
|||
lightName: lightName,
|
||||
darkName: darkName,
|
||||
moves: countMoves(board),
|
||||
timestamp: board.timestamp || new Date().getTime(),
|
||||
timestamp: board.timestamp || new Date(Gun.state()).getTime(),
|
||||
status: stat,
|
||||
});
|
||||
}
|
||||
|
|
@ -941,7 +944,7 @@ $(function (){
|
|||
|
||||
$('#cb_redo').on('click', function(){
|
||||
const board = stepForward($('#cb_board').data('board'));
|
||||
board.timestamp = new Date().getTime();
|
||||
board.timestamp = new Date(Gun.state()).getTime();
|
||||
putState(board);
|
||||
});
|
||||
|
||||
|
|
@ -1000,7 +1003,7 @@ $(function (){
|
|||
newBoard.prior = board;
|
||||
newBoard.move = { side: board.player, pass: true };
|
||||
newBoard.player = otherSide(board.player);
|
||||
newBoard.timestamp = new Date().getTime();
|
||||
newBoard.timestamp = new Date(Gun.state()).getTime();
|
||||
putState(newBoard);
|
||||
}
|
||||
});
|
||||
|
|
@ -1012,7 +1015,7 @@ $(function (){
|
|||
newBoard.prior = board;
|
||||
newBoard.move = { side: board.player, resign: true };
|
||||
newBoard.player = otherSide(board.player);
|
||||
newBoard.timestamp = new Date().getTime();
|
||||
newBoard.timestamp = new Date(Gun.state()).getTime();
|
||||
putState(newBoard);
|
||||
}
|
||||
});
|
||||
|
|
@ -1053,7 +1056,7 @@ $(function (){
|
|||
opt = $(opt);
|
||||
|
||||
const then = opt.data('then');
|
||||
const now = new Date().getTime();
|
||||
const now = new Date(Gun.state()).getTime();
|
||||
let age_str = '';
|
||||
if (then > now) {
|
||||
age_str = ' (future)';
|
||||
|
|
@ -1096,7 +1099,7 @@ $(function (){
|
|||
|
||||
opt.data('gameId', d.gameId);
|
||||
opt.data('title', lightName + ' vs. ' + darkName + moves + stat);
|
||||
opt.data('then', d.timestamp || new Date().getTime());
|
||||
opt.data('then', d.timestamp || new Date(Gun.state()).getTime());
|
||||
opt.addClass('cb-game-option');
|
||||
opt.appendTo('#cb_select_game');
|
||||
updateTitle(opt);
|
||||
|
|
|
|||
Loading…
Reference in New Issue