diff --git a/www/js/controllers/network-controllers.js b/www/js/controllers/network-controllers.js index 3791e34d733ed1255acd32ffe262b739accb7558..904c650cdb527bad923a0d2c14fcdb6022da8e5c 100644 --- a/www/js/controllers/network-controllers.js +++ b/www/js/controllers/network-controllers.js @@ -119,6 +119,8 @@ function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover, $scope.display='members'; $scope.screen = UIUtils.screen; $scope.nbMembersPeers = 0; + $scope.esPeersOnly = false; + csCurrency.all() .then(function (currencies) { @@ -134,7 +136,7 @@ function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover, BMA.instance(currency.peer.host, currency.peer.port) : BMA; if ($scope.loadingPeers){ - csNetwork.start($scope.node); + csNetwork.start($scope.node, $scope.esPeersOnly); // Catch event on new peers var refreshing = false; diff --git a/www/js/controllers/settings-controllers.js b/www/js/controllers/settings-controllers.js index f1640a53ea14d77931e6ec453c2ea52ef7f25cc0..8f2e0e1b3c805eac636226c1ffc36e1881ddef48 100644 --- a/www/js/controllers/settings-controllers.js +++ b/www/js/controllers/settings-controllers.js @@ -160,6 +160,7 @@ function SettingsController($scope, $q, $ionicPopup, $timeout, $translate, csHtt return; } var parts = node.split(':'); + parts[1] = parts[1] ? parts[1] : 80; resolve({ host: parts[0], port: parts[1] diff --git a/www/js/services/network-services.js b/www/js/services/network-services.js index 137b3a35ee5619445679083588eae7a541a5939c..02ac424ffccf99e94e90c4faf64bfe7d7def391e 100644 --- a/www/js/services/network-services.js +++ b/www/js/services/network-services.js @@ -18,7 +18,8 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se mainBuid: null, uidsByPubkeys: null, updatingPeers: true, - searchingPeersOnNetwork: false + searchingPeersOnNetwork: false, + esPeersOnly: false }, resetData = function() { @@ -205,6 +206,7 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se var mainBlock = _.max(buids, function(obj) { return obj.count; }); + _.forEach(data.peers, function(peer){ peer.hasMainConsensusBlock = peer.buid == mainBlock.buid; peer.hasConsensusBlock = !peer.hasMainConsensusBlock && currents[peer.buid] > 1; @@ -212,6 +214,10 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se data.peers = _.uniq(data.peers, false, function(peer) { return peer.pubkey; }); + if(data.esPeersOnly) { + var regex = /^BASIC_MERKLED_API/; + data.peers = _.filter(data.peers, function(peer){return regex.test(peer.endpoints);}) + }; data.peers = _.sortBy(data.peers, function(peer) { var score = 1; score += (100000000 * (peer.online ? 1 : 0)); @@ -276,7 +282,8 @@ angular.module('cesium.network.services', ['ngResource', 'ngApi', 'cesium.bma.se }); }, - start = function(bma) { + start = function(bma, filterOn) { + data.esPeersOnly = filterOn; return $q(function(resolve, reject) { close(); data.bma = bma ? bma : BMA; diff --git a/www/plugins/es/js/controllers/settings-controllers.js b/www/plugins/es/js/controllers/settings-controllers.js index 06b475e4ade9b624c01585b26e8811739bc4d5fb..cf1e748291f8e0bee5559296469c5ef8ba7e5f20 100644 --- a/www/plugins/es/js/controllers/settings-controllers.js +++ b/www/plugins/es/js/controllers/settings-controllers.js @@ -135,6 +135,7 @@ function ESPluginSettingsController ($scope, $q, $translate, $ionicPopup, UIUti return; } var parts = node.split(':'); + parts[1] = parts[1] ? parts[1] : 80; resolve({ host: parts[0], port: parts[1]