diff --git a/js/controllers/header.js b/js/controllers/header.js
index 7d3d3d692..803c3cec6 100644
--- a/js/controllers/header.js
+++ b/js/controllers/header.js
@@ -30,16 +30,14 @@ angular.module('copayApp.controllers').controller('HeaderController',
};
var latestVersion = data[0].name.replace('v', '').split('.').map(toInt);
var currentVersion = copay.version.split('.').map(toInt);
+ var title = 'Copay '+data[0].name+' available.';
+ var content;
if (currentVersion[0] < latestVersion[0]) {
- $scope.updateVersion = {
- class: 'error',
- version: data[0].name
- };
+ content = 'It\'s important that you update your wallet at https://copay.io';
+ notification.version(title, content, true);
} else if (currentVersion[0] == latestVersion[0] && currentVersion[1] < latestVersion[1]) {
- $scope.updateVersion = {
- class: 'info',
- version: data[0].name
- };
+ var content = 'Please update your wallet at https://copay.io';
+ notification.version(title, content, false);
}
});
@@ -49,14 +47,16 @@ angular.module('copayApp.controllers').controller('HeaderController',
$rootScope.txAlertCount = 0;
$rootScope.insightError = 0;
+
$rootScope.$watch('insightError', function(status) {
if (status === -1) {
- notification.success('Networking restored', 'Connection to insight restored');
- $rootScope.insightError = 0;
+ notification.success('Networking restored', 'Connection to Insight re-established');
+ //$rootScope.insightError = 0;
+ } else if (status !== 0) {
+ notification.error('Networking problem', 'Connection to Insight lost, reconnecting (attempt number '+status+')');
}
});
-
// Init socket handlers (with no wallet yet)
controllerUtils.setSocketHandlers();
diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js
index cbc293a1f..c823a2843 100644
--- a/js/services/controllerUtils.js
+++ b/js/services/controllerUtils.js
@@ -69,13 +69,6 @@ angular.module('copayApp.services')
$rootScope.txAlertCount = 0;
$rootScope.insightError = 0;
$rootScope.isCollapsed = true;
- $rootScope.$watch('insightError', function(status) {
- if (status === -1) {
- notification.success('Networking restored', 'Connection to Insight re-established');
- $rootScope.insightError = 0;
- }
- });
-
$rootScope.$watch('txAlertCount', function(txAlertCount) {
if (txAlertCount && txAlertCount > 0) {
notification.info('New Transaction', ($rootScope.txAlertCount == 1) ? 'You have a pending transaction proposal' : 'You have ' + $rootScope.txAlertCount + ' pending transaction proposals', txAlertCount);
diff --git a/js/services/notifications.js b/js/services/notifications.js
index e8f9bda2c..4c3c00e4b 100644
--- a/js/services/notifications.js
+++ b/js/services/notifications.js
@@ -16,6 +16,10 @@ factory('notification', ['$timeout',
duration: 5000,
enabled: true
},
+ version: {
+ duration: 60000,
+ enabled: true
+ },
warning: {
duration: 5000,
enabled: true
@@ -135,6 +139,10 @@ factory('notification', ['$timeout',
return this.awesomeNotify('funds', 'bitcoin', title, content, userData);
},
+ version: function(title, content, severe) {
+ return this.awesomeNotify('version', severe ? 'alert' : 'flag', title, content);
+ },
+
error: function(title, content, userData) {
return this.awesomeNotify('error', 'x', title, content, userData);
},
diff --git a/test/unit/controllers/controllersSpec.js b/test/unit/controllers/controllersSpec.js
index fc6da0350..8525dc782 100644
--- a/test/unit/controllers/controllersSpec.js
+++ b/test/unit/controllers/controllersSpec.js
@@ -261,13 +261,14 @@ describe("Unit: Controllers", function() {
$httpBackend.flush();
});
- it('should check version ', function() {
+ it('should check version ', inject(function($injector) {
+ notification = $injector.get('notification');
+ var spy = sinon.spy(notification, 'version');
$httpBackend.expectGET(GH);
scope.$apply();
$httpBackend.flush();
- expect(scope.updateVersion.class).equal('error');
- expect(scope.updateVersion.version).equal('v100.1.6');
- });
+ spy.calledOnce.should.equal(true);
+ }));
it('should check blockChainStatus', function() {
$httpBackend.expectGET(GH);