diff --git a/public/js/controllers.js b/public/js/controllers.js index 50d570a..799ef61 100644 --- a/public/js/controllers.js +++ b/public/js/controllers.js @@ -74,7 +74,16 @@ function StatsCtrl($scope, $filter, socket, _, toastr) { break; case "update": - $scope.nodes[findIndex({id: data.id})].stats = data.stats; + var index = findIndex({id: data.id}); + + if(data.stats.block.number > $scope.nodes[index].stats.block.number) { + data.stats.block.firstarrived = (data.stats.block.number > $scope.bestBlock ? data.stats.block.received : $scope.lastBlock); + } else { + data.stats.block.firstarrived = $scope.nodes[index].stats.block.firstarrived; + } + + $scope.nodes[index].stats = data.stats; + break; case "info": diff --git a/views/index.jade b/views/index.jade index 2d57d49..ef885a7 100644 --- a/views/index.jade +++ b/views/index.jade @@ -140,5 +140,5 @@ block content //- div.small Difficulty: {{node.stats.block.difficulty | gasFilter}} | Gas used: {{node.stats.block.gasUsed | gasFilter}} | Min gas price: {{node.stats.block.minGasPrice | gasFilter}} | Gas limit: {{node.stats.block.gasLimit | gasFilter}} td(style="padding-left: 18px;") {{node.stats.block.transactions.length || 0}} td(class="{{ node.stats.block.timestamp | timeClass }}") {{node.stats.block.received | blockTimeFilter }} - td(class="{{ node.stats.block.received | propagationTimeClass : lastBlock }}") {{node.stats.block.received | blockPropagationFilter : lastBlock}} + td(class="{{ node.stats.block.received | propagationTimeClass : node.stats.block.firstarrived }}") {{node.stats.block.received | blockPropagationFilter : node.stats.block.firstarrived}} td(class="{{ node.stats.uptime | upTimeClass }}") {{ node.stats.uptime | upTimeFilter }}