Skip to content
Snippets Groups Projects
Commit 7d61b76a authored by Benoit Lavenier's avatar Benoit Lavenier
Browse files

- Identity : display given cert has received, when not member

- Currency > peers not refresh on new block detected - fix #165
parent 407cd058
No related branches found
No related tags found
No related merge requests found
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
"timeWarningExpire": 7776000, "timeWarningExpire": 7776000,
"useLocalStorage": false, "useLocalStorage": false,
"useRelative": true, "useRelative": true,
"initPhase": true, "initPhase": false,
"node": { "node": {
"host": "duniter.le-sou.org", "host": "duniter.le-sou.org",
"port": "9600" "port": "9600"
...@@ -57,10 +57,10 @@ ...@@ -57,10 +57,10 @@
"timeWarningExpire": 7776000, "timeWarningExpire": 7776000,
"useLocalStorage": true, "useLocalStorage": true,
"useRelative": true, "useRelative": true,
"initPhase": true, "initPhase": false,
"node": { "node": {
"host": "192.168.0.28", "host": "192.168.0.28",
"port": "9600" "port": "9604"
}, },
"plugins":{ "plugins":{
"es": { "es": {
......
...@@ -11,27 +11,27 @@ angular.module("cesium.config", []) ...@@ -11,27 +11,27 @@ angular.module("cesium.config", [])
.constant("csConfig", { .constant("csConfig", {
"cacheTimeMs": 60000, "cacheTimeMs": 60000,
"fallbackLanguage": "en", "fallbackLanguage": "en",
"rememberMe": false, "rememberMe": true,
"showUDHistory": false, "showUDHistory": false,
"timeout": 4000, "timeout": 6000,
"timeWarningExpireMembership": 5184000, "timeWarningExpireMembership": 5184000,
"timeWarningExpire": 7776000, "timeWarningExpire": 7776000,
"useLocalStorage": false, "useLocalStorage": true,
"useRelative": true, "useRelative": true,
"initPhase": false, "initPhase": true,
"node": { "node": {
"host": "test-net.duniter.fr", "host": "192.168.0.28",
"port": "9201" "port": "9604"
}, },
"plugins": { "plugins": {
"es": { "es": {
"enable": true, "enable": false,
"host": "data.duniter.fr", "host": "192.168.0.5",
"port": "80" "port": "9203"
} }
}, },
"version": "0.3.13", "version": "0.3.13",
"build": "2016-10-02T06:19:51.847Z", "build": "2016-10-05T06:32:42.629Z",
"newIssueUrl": "https://github.com/duniter/cesium/issues/new?labels=bug" "newIssueUrl": "https://github.com/duniter/cesium/issues/new?labels=bug"
}) })
......
...@@ -104,7 +104,7 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, ...@@ -104,7 +104,7 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils,
$scope.dt = 0; $scope.dt = 0;
$scope.sigQty = 0; $scope.sigQty = 0;
$scope.sigStock = 0; $scope.sigStock = 0;
$scope.time = 0; $scope.medianTime = 0;
$scope.difficulty = 0; $scope.difficulty = 0;
$scope.Nprev = 0; $scope.Nprev = 0;
...@@ -141,11 +141,14 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, ...@@ -141,11 +141,14 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils,
UIUtils.loading.show(); UIUtils.loading.show();
if ($scope.loadingPeers){ if ($scope.loadingPeers){
csNetwork.start($scope.node, false/*waitAllPeers*/) csNetwork.start($scope.node);
.then(function(peers) { // Catch event on new peers
$scope.peers = peers; csNetwork.api.data.on.changed($scope, function(data){
$scope.waitLoadingPeersFinish(); $timeout(function() {
}); console.debug("Updating UI Peers");
$scope.peers = data.peers;
}, 100);
});
$scope.$on('$destroy', function(){ $scope.$on('$destroy', function(){
csNetwork.close(); csNetwork.close();
}); });
...@@ -177,14 +180,14 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, ...@@ -177,14 +180,14 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils,
.then(function(block){ .then(function(block){
M = block.monetaryMass; M = block.monetaryMass;
$scope.N = block.membersCount; $scope.N = block.membersCount;
$scope.time = moment(block.medianTime*1000).format($scope.datePattern); $scope.medianTime = block.medianTime;
$scope.difficulty = block.powMin; $scope.difficulty = block.powMin;
}) })
.catch(function(err){ .catch(function(err){
// Special case for currency init (root block not exists): use fixed values // Special case for currency init (root block not exists): use fixed values
if (err && err.ucode == BMA.errorCodes.NO_CURRENT_BLOCK) { if (err && err.ucode == BMA.errorCodes.NO_CURRENT_BLOCK) {
$scope.N = 0; $scope.N = 0;
$scope.time = Math.trunc(new Date().getTime() / 1000); $scope.medianTime = Math.trunc(new Date().getTime() / 1000);
$scope.difficulty = 0; $scope.difficulty = 0;
return; return;
} }
...@@ -254,14 +257,7 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, ...@@ -254,14 +257,7 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils,
.then(function(){ .then(function(){
// Network // Network
$scope.loadingPeers = true; $scope.loadingPeers = true;
csNetwork.refreshPeers(false) csNetwork.refreshPeers();
.then(function(peers) {
$scope.peers = peers;
$scope.waitLoadingPeersFinish();
})
.catch(function() {
$scope.loadingPeers = false;
});
}); });
}; };
......
...@@ -8,7 +8,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se ...@@ -8,7 +8,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
var var
interval, interval,
//api = new Api(this, "csNetwork-" + id), api = new Api(this, "csNetwork-" + id),
data = { data = {
bma: null, bma: null,
...@@ -121,65 +121,52 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se ...@@ -121,65 +121,52 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
} }
}, },
refreshPeers = function(waitAllPeers) { refreshPeers = function() {
return $q(function(resolve, reject){ if (interval) {
if (interval) { $interval.cancel(interval);
}
interval = $interval(function() {
console.debug('[network] check if finish...');
if (data.newPeers.length) {
data.peers = data.peers.concat(data.newPeers.splice(0));
console.debug('[network] New peers found: sort and ad them to result...');
sortPeers();
api.data.raise.changed(data); // send event to plugins
} else if (data.updatingPeers && !data.searchingPeersOnNetwork) {
console.debug('[network] Finish : all peers found. Stopping new peers check.');
// The peer lookup end, we can make a clean final report
sortPeers();
data.updatingPeers = false;
api.data.raise.changed(data); // send event to plugins
$interval.cancel(interval); $interval.cancel(interval);
} }
}, 1000);
var resolved = false; data.knownPeers = {};
data.peers = [];
interval = $interval(function() { data.searchingPeersOnNetwork = true;
console.debug('[network] check if finish...'); data.updatingPeers = true;
if (data.newPeers.length) { return data.bma.wot.member.uids()
data.peers = data.peers.concat(data.newPeers.splice(0)); .then(function(uids){
console.debug('[network] New peers found: sort and ad them to result...'); data.uidsByPubkeys = uids;
sortPeers(); return data.bma.network.peering.peers({ leaves: true });
if (!waitAllPeers) { })
console.debug('[network] Returning to main process (peers will continue to be updating in background)'); .then(function(res){
if (!resolved) { return $q.all(res.leaves.map(function(leaf) {
resolved = true; return data.bma.network.peering.peers({ leaf: leaf })
resolve(data.peers); .then(function(subres){
} var peer = subres.leaf.value;
} processPeer(peer);
} else if (data.updatingPeers && !data.searchingPeersOnNetwork) {
console.debug('[network] Finish : all peers found. Stopping new peers check.');
// The peer lookup end, we can make a clean final report
sortPeers();
data.updatingPeers = false;
if (!resolved) {
console.debug('[network] refresh peer finished');
resolve(data.peers);
}
$interval.cancel(interval);
}
}, 1000);
data.knownPeers = {};
data.peers = [];
data.searchingPeersOnNetwork = true;
data.updatingPeers = true;
return data.bma.wot.member.uids()
.then(function(uids){
data.uidsByPubkeys = uids;
return data.bma.network.peering.peers({ leaves: true });
})
.then(function(res){
return $q.all(res.leaves.map(function(leaf) {
return data.bma.network.peering.peers({ leaf: leaf })
.then(function(subres){
var peer = subres.leaf.value;
processPeer(peer);
});
}))
.then(function(){
data.searchingPeersOnNetwork = false;
}); });
}) }))
.catch(function(err) { .then(function(){
data.searchingPeersOnNetwork = false; data.searchingPeersOnNetwork = false;
}); });
}); })
.catch(function(err) {
data.searchingPeersOnNetwork = false;
});
}, },
startListeningOnSocket = function() { startListeningOnSocket = function() {
...@@ -263,7 +250,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se ...@@ -263,7 +250,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
; ;
// Register extension points // Register extension points
//api.registerEvent('data', 'load'); api.registerEvent('data', 'changed');
return { return {
id: id, id: id,
...@@ -278,7 +265,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se ...@@ -278,7 +265,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se
refreshPeers: refreshPeers, refreshPeers: refreshPeers,
isBusy: isBusy, isBusy: isBusy,
// api extension // api extension
//api: api api: api
}; };
}; };
......
...@@ -333,7 +333,7 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic ...@@ -333,7 +333,7 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic
angular.merge(data, identity); angular.merge(data, identity);
// Get given certifications // Get given certifications
return loadGivenCertifications(pubkey, identity.temp.givenCertifications, parameters, medianTime) return loadGivenCertifications(pubkey, !identity.temp ? identity.temp : identity.temp.givenCertifications, parameters, medianTime)
.then(function (identity) { .then(function (identity) {
angular.merge(data, identity); angular.merge(data, identity);
}); });
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<ion-item class="item-icon-left"> <ion-item class="item-icon-left">
<i class="icon ion-clock"></i> <i class="icon ion-clock"></i>
<span translate>CURRENCY.VIEW.TIME</span> <span translate>CURRENCY.VIEW.TIME</span>
<span class="item-note dark">{{time}}</span> <span class="item-note dark">{{medianTime | formatDate}}</span>
</ion-item> </ion-item>
<ion-item class="item-icon-left"> <ion-item class="item-icon-left">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment