diff --git a/app/config.json b/app/config.json index 0cf86cf4dabe2d4f1c489e44408075278f362350..5faac09adf145143f845aadf1e66726ae883d660 100644 --- a/app/config.json +++ b/app/config.json @@ -33,7 +33,7 @@ "timeWarningExpire": 7776000, "useLocalStorage": false, "useRelative": true, - "initPhase": true, + "initPhase": false, "node": { "host": "duniter.le-sou.org", "port": "9600" @@ -57,10 +57,10 @@ "timeWarningExpire": 7776000, "useLocalStorage": true, "useRelative": true, - "initPhase": true, + "initPhase": false, "node": { "host": "192.168.0.28", - "port": "9600" + "port": "9604" }, "plugins":{ "es": { diff --git a/www/js/config.js b/www/js/config.js index 7c374d8c252f429a9bf0bcd47c12b4b89349b039..6101ab27fa314dce497d4ed332afaae57e09b13c 100644 --- a/www/js/config.js +++ b/www/js/config.js @@ -11,27 +11,27 @@ angular.module("cesium.config", []) .constant("csConfig", { "cacheTimeMs": 60000, "fallbackLanguage": "en", - "rememberMe": false, + "rememberMe": true, "showUDHistory": false, - "timeout": 4000, + "timeout": 6000, "timeWarningExpireMembership": 5184000, "timeWarningExpire": 7776000, - "useLocalStorage": false, + "useLocalStorage": true, "useRelative": true, - "initPhase": false, + "initPhase": true, "node": { - "host": "test-net.duniter.fr", - "port": "9201" + "host": "192.168.0.28", + "port": "9604" }, "plugins": { "es": { - "enable": true, - "host": "data.duniter.fr", - "port": "80" + "enable": false, + "host": "192.168.0.5", + "port": "9203" } }, "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" }) diff --git a/www/js/controllers/currency-controllers.js b/www/js/controllers/currency-controllers.js index 4e63e269ea15630df1a5f198bf129f5559f22738..8d7ef0c8165c704fd847afb816dc2b8c1f1d8219 100644 --- a/www/js/controllers/currency-controllers.js +++ b/www/js/controllers/currency-controllers.js @@ -104,7 +104,7 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, $scope.dt = 0; $scope.sigQty = 0; $scope.sigStock = 0; - $scope.time = 0; + $scope.medianTime = 0; $scope.difficulty = 0; $scope.Nprev = 0; @@ -141,11 +141,14 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, UIUtils.loading.show(); if ($scope.loadingPeers){ - csNetwork.start($scope.node, false/*waitAllPeers*/) - .then(function(peers) { - $scope.peers = peers; - $scope.waitLoadingPeersFinish(); - }); + csNetwork.start($scope.node); + // Catch event on new peers + csNetwork.api.data.on.changed($scope, function(data){ + $timeout(function() { + console.debug("Updating UI Peers"); + $scope.peers = data.peers; + }, 100); + }); $scope.$on('$destroy', function(){ csNetwork.close(); }); @@ -177,14 +180,14 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, .then(function(block){ M = block.monetaryMass; $scope.N = block.membersCount; - $scope.time = moment(block.medianTime*1000).format($scope.datePattern); + $scope.medianTime = block.medianTime; $scope.difficulty = block.powMin; }) .catch(function(err){ // Special case for currency init (root block not exists): use fixed values if (err && err.ucode == BMA.errorCodes.NO_CURRENT_BLOCK) { $scope.N = 0; - $scope.time = Math.trunc(new Date().getTime() / 1000); + $scope.medianTime = Math.trunc(new Date().getTime() / 1000); $scope.difficulty = 0; return; } @@ -254,14 +257,7 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, .then(function(){ // Network $scope.loadingPeers = true; - csNetwork.refreshPeers(false) - .then(function(peers) { - $scope.peers = peers; - $scope.waitLoadingPeersFinish(); - }) - .catch(function() { - $scope.loadingPeers = false; - }); + csNetwork.refreshPeers(); }); }; diff --git a/www/js/services/network-services.js b/www/js/services/network-services.js index c768c06f7277671b421112bf98ee9180ae8ae90e..8222cd87fe5d9b4a5e639a4a03983e129235771b 100644 --- a/www/js/services/network-services.js +++ b/www/js/services/network-services.js @@ -8,7 +8,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se var interval, - //api = new Api(this, "csNetwork-" + id), + api = new Api(this, "csNetwork-" + id), data = { bma: null, @@ -121,65 +121,52 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se } }, - refreshPeers = function(waitAllPeers) { - return $q(function(resolve, reject){ - if (interval) { + refreshPeers = function() { + 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); } + }, 1000); - var resolved = false; - - 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(); - if (!waitAllPeers) { - console.debug('[network] Returning to main process (peers will continue to be updating in background)'); - if (!resolved) { - resolved = true; - resolve(data.peers); - } - } - } 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; + 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); }); - }) - .catch(function(err) { - data.searchingPeersOnNetwork = false; - }); - }); + })) + .then(function(){ + data.searchingPeersOnNetwork = false; + }); + }) + .catch(function(err) { + data.searchingPeersOnNetwork = false; + }); }, startListeningOnSocket = function() { @@ -263,7 +250,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se ; // Register extension points - //api.registerEvent('data', 'load'); + api.registerEvent('data', 'changed'); return { id: id, @@ -278,7 +265,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se refreshPeers: refreshPeers, isBusy: isBusy, // api extension - //api: api + api: api }; }; diff --git a/www/js/services/wot-services.js b/www/js/services/wot-services.js index a601d69105fb32408c3cddb1b6a17d8cd75671d2..eaefa81ff49bf954595b5d45901c1cd4749d8d23 100644 --- a/www/js/services/wot-services.js +++ b/www/js/services/wot-services.js @@ -333,7 +333,7 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic angular.merge(data, identity); // 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) { angular.merge(data, identity); }); diff --git a/www/templates/currency/tabs/view_parameters.html b/www/templates/currency/tabs/view_parameters.html index b03cc179bf61ac3134a7e8d72c4682024025e2af..b8d88cc209f308e741ec669f875a6f8e0c821909 100644 --- a/www/templates/currency/tabs/view_parameters.html +++ b/www/templates/currency/tabs/view_parameters.html @@ -71,7 +71,7 @@ <ion-item class="item-icon-left"> <i class="icon ion-clock"></i> <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 class="item-icon-left">