From 370dfa942a4d7cd079abbaeb78c8b6366e5e6f4f Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 23 Apr 2015 23:50:22 -0300 Subject: [PATCH 01/15] add $apply --- src/js/controllers/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index d2b241eda..d9a75b5cb 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -531,6 +531,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r $rootScope.$on('Local/Offline', function(event) { $log.debug('Offline event'); self.isOffline = true; + $timeout(function(){ + $rootScope.$apply(); + }); }); $rootScope.$on('Local/BackupDone', function(event) { From 1c2432316a7c28c6b0c5eab203d2d2cb63b0d623 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 23 Apr 2015 23:51:21 -0300 Subject: [PATCH 02/15] Revert "Revert "WIP: Bug/notif2"" This reverts commit cd867d0171e3614073b83220cabae98ccbb82976. Conflicts: src/css/main.css --- public/index.html | 3 -- public/views/history.html | 1 - public/views/includes/clientError.html | 11 ---- public/views/includes/offline.html | 11 ---- public/views/walletHome.html | 74 +++++++++++++++----------- src/css/main.css | 4 +- src/js/controllers/index.js | 23 +++++--- 7 files changed, 60 insertions(+), 67 deletions(-) diff --git a/public/index.html b/public/index.html index 4d55c0075..99add2264 100644 --- a/public/index.html +++ b/public/index.html @@ -26,9 +26,6 @@
-
-
-
diff --git a/public/views/history.html b/public/views/history.html index a9ea5e970..e69de29bb 100644 --- a/public/views/history.html +++ b/public/views/history.html @@ -1 +0,0 @@ -
diff --git a/public/views/includes/clientError.html b/public/views/includes/clientError.html index de193f2cf..e69de29bb 100644 --- a/public/views/includes/clientError.html +++ b/public/views/includes/clientError.html @@ -1,11 +0,0 @@ -
-
-
- -
-
-

Wallet Service Error

-
{{index.clientError.message || index.clientError}}
-
-
-
diff --git a/public/views/includes/offline.html b/public/views/includes/offline.html index 9e64e0cf3..e69de29bb 100644 --- a/public/views/includes/offline.html +++ b/public/views/includes/offline.html @@ -1,11 +0,0 @@ -
-
-
- -
-
-

{{'Could not connect to Wallet Service'|translate}}

-
{{'Trying to reconnnect...'|translate}}
-
-
-
diff --git a/public/views/walletHome.html b/public/views/walletHome.html index a05dad2e8..45c9fb79d 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -1,6 +1,43 @@
+ +
+
+ You do not have any wallet +
+ +
+ +
+
+
+
+
+
+
+
+ Reconnecting to Wallet Server... +
+ +
+
+
+
+
+
+
+
+ Updating Wallet... + Scanning Wallet funds... + Recreating Wallet... +
+ +
+
-
@@ -27,7 +64,7 @@ ...
-
+
{{index.walletName | limitTo: 1}}
@@ -50,23 +87,8 @@
-
-
-
-
-
-
-
-
- Updating Wallet... - Updating Status... - Updating Wallet... - Updating Wallet... - Scanning Wallet funds... - Recreating Wallet... -
-
+
@@ -174,7 +196,7 @@
@@ -317,7 +339,7 @@ Cancel
- @@ -343,7 +365,7 @@ history Could not fetch transaction history -
[Tap to retry] +
Tap to retry
No transactions yet @@ -401,15 +423,5 @@ history
- - -
-
- You do not have any wallet -
- -
- -
diff --git a/src/css/main.css b/src/css/main.css index 0ce815506..a5161fe31 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -1108,12 +1108,12 @@ input.ng-invalid-match, input.ng-invalid-match:focus { .onGoingProcess { background: #213140; text-align: center; - max-width: 14.5rem; + max-width: 16.5rem; max-height: 3.5rem; top:auto; left:0; right:0; - bottom:90px; + bottom:170px; margin: auto; border-radius: 3px; color: #fff; diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index d9a75b5cb..5fbce2b62 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -72,7 +72,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.alternativeBalanceAvailable = false; self.totalBalanceAlternative = null; self.notAuthorized = false; - self.clientError = null; self.txHistory = []; self.txHistoryPaging = false; @@ -411,17 +410,27 @@ angular.module('copayApp.controllers').controller('indexController', function($r }; + self.clientError = function (err) { + if (isCordova) { + navigator.notification.confirm( + err, + function() {}, + 'Wallet Server Error', ['OK'] + ); + } else { + alert(err); + } + }; self.recreate = function(cb) { var fc = profileService.focusedClient; self.setOngoingProcess('recreating', true); - self.clientError = null; fc.recreateWallet(function(err) { self.notAuthorized = false; self.setOngoingProcess('recreating', false); if (err) { - self.clientError = 'Could not recreate wallet:' + err; + self.clientError('Could not recreate wallet:' + err); $rootScope.$apply(); return; } @@ -458,7 +467,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r if (err) { if (self.walletId == walletId) self.setOngoingProcess('scanning', false); - self.clientError = 'Could not scan wallet:' + err; + self.clientError = ('Could not scan wallet:' + err); $rootScope.$apply(); } }); @@ -522,7 +531,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r $rootScope.$on(eventName, function(event) { $log.debug('### Online event'); self.isOffline = false; - self.clientError = null; self.updateAll(); self.updateTxHistory(); }); @@ -547,7 +555,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); $rootScope.$on('Local/BWSNotFound', function(event) { - self.clientError = 'Could not access to Bitcore Wallet Service: Service not found'; + self.clientError('Could not access to Bitcore Wallet Service: Service not found'); $rootScope.$apply(); }); @@ -560,7 +568,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r } else if (err.code === 'ETIMEDOUT') { $log.debug('Time out:', err); } else { - self.clientError = err; + self.clientError(err && err.message ? 'Error at Bitcore Wallet Service:' + err.message : err); } $rootScope.$apply(); }); @@ -630,7 +638,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r $timeout(function() { self.hasProfile = true; self.noFocusedWallet = true; - self.clientError = null; self.isComplete = null; self.walletName = null; go.addWallet(); From 6ce46fd0ca9d9502422be5c8652ede9ea99a4264 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 24 Apr 2015 00:34:52 -0300 Subject: [PATCH 03/15] fix notif for offline --- public/views/walletHome.html | 170 ++++++++++++++++++----------------- 1 file changed, 86 insertions(+), 84 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index 45c9fb79d..7b20a418f 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -37,102 +37,104 @@ index.onGoingProcessName == 'openingWallet'
-
-
-
-
- Could not update Wallet -
Tap to retry -
+
+
+
+
+
+ Could not update Wallet +
Tap to retry +
-
- Scan status finished with error -
Tap to retry -
+
+ Scan status finished with error +
Tap to retry +
-
- {{index.totalBalanceStr}} -
- {{index.totalBalanceAlternative}} {{index.alternativeIsoCode}} -
-
-
- -
-
- ... -
-
-
-
-
{{index.walletName | limitTo: 1}}
- -
-

- {{index.m}} of {{index.n}} -

-
- Multisignature wallet - Personal Wallet - - Testnet -
+
+ {{index.totalBalanceStr}} +
+ {{index.totalBalanceAlternative}} {{index.alternativeIsoCode}}
- -
-
- - - WARNING: Wallet not registered - -
-
- This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information. -
-
- - Recreate - +
+
+ ...
+
- -
-

Spend proposals

-
-
- -
- Total Locked Balance: - {{index.lockedBalance}} {{index.unitName}} - {{index.lockedBalanceAlternative}} - {{index.alternativeIsoCode}} -
- -
-

No pending spend proposals at the moment.

-
+
+
{{index.walletName | limitTo: 1}}
- -
-

Unsent transactions

-
+ +
+

+ {{index.m}} of {{index.n}} +

+
+ Multisignature wallet + Personal Wallet + - Testnet
+
+ + +
+
+ + + WARNING: Wallet not registered + +
+
+ This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information. +
+
+ + Recreate + +
+
+ +
+

Spend proposals

+
+
+ +
+ Total Locked Balance: + {{index.lockedBalance}} {{index.unitName}} + {{index.lockedBalanceAlternative}} + {{index.alternativeIsoCode}} +
+ +
+

No pending spend proposals at the moment.

+
+
+ +
+

Unsent transactions

+
+
+
+
-
+
- Getting transactions... - Could not fetch transaction history
Tap to retry @@ -410,18 +408,14 @@ history
-
+
diff --git a/src/css/main.css b/src/css/main.css index c02510e19..75c1608f2 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -1190,3 +1190,4 @@ input.ng-invalid-match, input.ng-invalid-match:focus { -webkit-transform: scaleY(1.0); } } + diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 5fbce2b62..273e2d2a1 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -217,10 +217,11 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.txHistory = []; } self.skipHistory = skip || 0; + $log.debug('Updating Transaction History'); + self.txHistoryError = false; + self.updatingTxHistory = true; $timeout(function() { - $log.debug('Updating Transaction History'); - self.txHistoryError = false; - self.updatingTxHistory = true; + $rootScope.$apply(); fc.getTxHistory({ skip: self.skipHistory, limit: self.limitHistory + 1 diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 7c554574d..81b209fb0 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -40,9 +40,12 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.getAddress(); }); + var disableFocusListener = $rootScope.$on('Local/NewFocusedWallet', function() { + self.resetForm(); + }); - var disableTabListener = $rootScope.$on('Local/TabChanged', function(e,tab){ - switch(tab) { + var disableTabListener = $rootScope.$on('Local/TabChanged', function(e, tab) { + switch (tab) { case 'send': self.resetError(); self.setInputs(); @@ -57,6 +60,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi disableScannerListener(); disablePaymentUriListener(); disableTabListener(); + disableFocusListener(); $rootScope.hideMenuBar = false; }); @@ -279,14 +283,12 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.newAddress = function() { var fc = profileService.focusedClient; - self.generatingAddress = true; - self.error = null; + self.setOngoingProcess('Generating Address'); fc.createAddress(function(err, addr) { - self.generatingAddress = false; + self.setOngoingProcess(); if (err) { $log.debug('Creating address ERROR:', err); $scope.$emit('Local/ClientError', err); - self.error = 'Could not generate address'; } else { self.addr = addr.address; storageService.storeLastAddress(fc.credentials.walletId, addr.address, function() {}); @@ -434,16 +436,27 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.setOngoingProcess = function(name) { var self = this; - $timeout(function() { - self.onGoingProcess = name; - $rootScope.$apply(); - }) + self.blockUx = !!name; + + if (isCordova) { + if (name) { + window.plugins.spinnerDialog.show(null, name + '...', true); + } else { + window.plugins.spinnerDialog.hide(); + } + } else { + $timeout(function() { + self.onGoingProcess = name; + $rootScope.$apply(); + }) + } }; - this.submitForm = function(form) { + this.submitForm = function() { var fc = profileService.focusedClient; var unitToSat = this.unitToSatoshi; + var form = $scope.sendForm; if (form.$invalid) { this.error = 'Unable to send transaction proposal'; return; @@ -452,18 +465,12 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (fc.isPrivKeyEncrypted()) { profileService.unlockFC(function(err) { if (err) return self.setError(err); - return self.submitForm(form); + return self.submitForm(); }); return; }; - self.blockUx = true; - self.setOngoingProcess('Sending'); - - if (isCordova) { - window.plugins.spinnerDialog.show(null, 'Creating transaction...', true); - } - + self.setOngoingProcess('Sending transaction'); $timeout(function() { var comment = form.comment.$modelValue; var paypro = self._paypro; @@ -481,24 +488,16 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); if (err) { profileService.lockFC(); - if (isCordova) { - window.plugins.spinnerDialog.hide(); - } - self.blockUx = false; return self.setError(err); } self.signAndBroadcast(txp, function(err) { self.setOngoingProcess(); - if (isCordova) { - window.plugins.spinnerDialog.hide(); - } - self.blockUx = false; + profileService.lockFC(); if (err) { - profileService.lockFC(); return self.setError(err); } - self.resetForm(form); + self.resetForm(); }); }); }, 100); @@ -507,7 +506,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.signAndBroadcast = function(txp, cb) { var fc = profileService.focusedClient; - self.setOngoingProcess('Signing'); + self.setOngoingProcess('Signing transaction'); fc.signTxProposal(txp, function(err, signedTx) { profileService.lockFC(); self.setOngoingProcess(); @@ -515,7 +514,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (err) return cb(err); if (signedTx.status == 'accepted') { - self.setOngoingProcess('Broadcasting'); + self.setOngoingProcess('Broadcasting transaction'); fc.broadcastTxProposal(signedTx, function(err, btx) { self.setOngoingProcess(); if (err) { @@ -570,9 +569,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi - this.resetForm = function(form) { + this.resetForm = function() { this.resetError(); - this.fetchingURL = null; this._paypro = null; this.lockAddress = false; @@ -580,6 +578,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this._amount = this._address = null; + var form = $scope.sendForm; if (form && form.amount) { form.amount.$pristine = true; form.amount.$setViewValue(''); @@ -623,7 +622,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); }; - this.setFromPayPro = function(uri, form) { + this.setFromPayPro = function(uri) { var fc = profileService.focusedClient; if (isChromeApp) { this.error = 'Payment Protocol not supported on Chrome App'; @@ -631,22 +630,19 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi } var satToUnit = 1 / this.unitToSatoshi; - this.fetchingURL = uri; - this.blockUx = true; var self = this; + self.setOngoingProcess('Fetching Payment Informantion'); $log.debug('Fetch PayPro Request...', uri); $timeout(function() { fc.fetchPayPro({ payProUrl: uri, }, function(err, paypro) { - $log.debug(paypro); - self.blockUx = false; - self.fetchingURL = null; + self.setOngoingProcess(); if (err) { $log.warn(err); - self.resetForm(form); + self.resetForm(); var msg = err.toString(); if (msg.match('HTTP')) { msg = 'Could not fetch payment information'; diff --git a/src/js/directives/directives.js b/src/js/directives/directives.js index c5c3a9162..93dc7f87e 100644 --- a/src/js/directives/directives.js +++ b/src/js/directives/directives.js @@ -24,10 +24,10 @@ angular.module('copayApp.directives') return { require: 'ngModel', link: function(scope, elem, attrs, ctrl) { - var networkName = profileService.focusedClient.credentials.network; var URI = bitcore.URI; var Address = bitcore.Address var validator = function(value) { + var networkName = profileService.focusedClient.credentials.network; // Regular url if (/^https?:\/\//.test(value)) { ctrl.$setValidity('validAddress', true); @@ -51,6 +51,7 @@ angular.module('copayApp.directives') return; } +console.log('[directives.js.53]', value, networkName); //TODO // Regular Address ctrl.$setValidity('validAddress', Address.isValid(value, networkName)); return value; diff --git a/src/js/services/go.js b/src/js/services/go.js index 71482e8c9..d7139b00e 100644 --- a/src/js/services/go.js +++ b/src/js/services/go.js @@ -67,13 +67,6 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope, }); }; - root.home = function() { - if ($rootScope.iden) - root.walletHome(); - else - root.path('signin'); - }; - root.addWallet = function() { $state.go('add'); }; From 68678613b7e46d68dbe2fdf13ee409af11757754 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 24 Apr 2015 02:46:29 -0300 Subject: [PATCH 07/15] Clean pendingForUs when change wallet. Fix root.go --- src/js/controllers/index.js | 1 + src/js/services/go.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 5fbce2b62..530050112 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -74,6 +74,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.notAuthorized = false; self.txHistory = []; self.txHistoryPaging = false; + self.pendingTxProposalsCountForUs = null; $timeout(function() { self.hasProfile = true; diff --git a/src/js/services/go.js b/src/js/services/go.js index 71482e8c9..8b1d1de47 100644 --- a/src/js/services/go.js +++ b/src/js/services/go.js @@ -39,6 +39,7 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope, root.path = function(path, cb) { $state.transitionTo(path) .then(function() { + $rootScope.$emit('Local/SetTab', path); if (cb) return cb(); }); hideSidebars(); From ceca507fa596f97987e38f4fab086e1002ce6f72 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 24 Apr 2015 03:01:26 -0300 Subject: [PATCH 08/15] better loading --- public/views/walletHome.html | 11 +++++++++-- src/js/controllers/index.js | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index e6cb5122d..bde94b2bd 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -408,9 +408,16 @@ history
+
diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 273e2d2a1..f812d9603 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -220,6 +220,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r $log.debug('Updating Transaction History'); self.txHistoryError = false; self.updatingTxHistory = true; + self.txHistoryPaging = false; $timeout(function() { $rootScope.$apply(); fc.getTxHistory({ From f6a0afa6f660776dd12d0f59efb7ae5d48980bd7 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 24 Apr 2015 03:08:04 -0300 Subject: [PATCH 09/15] better create wallet notif --- public/views/create.html | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/public/views/create.html b/public/views/create.html index 76f27020f..0245ee5b1 100644 --- a/public/views/create.html +++ b/public/views/create.html @@ -1,5 +1,17 @@
-
Creating wallet...
+ +
+
+
+
+
+
+
+
+ Creating Wallet... +
+ +
From 7463e1e71851c9164bfcd34db4ddb045e1935018 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 24 Apr 2015 03:10:01 -0300 Subject: [PATCH 10/15] better join notification --- public/views/join.html | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/public/views/join.html b/public/views/join.html index 8fa4db560..359e2998b 100644 --- a/public/views/join.html +++ b/public/views/join.html @@ -1,5 +1,15 @@
-
Joining shared wallet...
+
+
+
+
+
+
+
+
+ Joining Wallet... +
+
From a927c34dd9647158c0d8b31307bd9c7a93195a43 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 24 Apr 2015 03:10:45 -0300 Subject: [PATCH 11/15] rm old file --- public/views/send.html | 141 ----------------------------------------- 1 file changed, 141 deletions(-) delete mode 100644 public/views/send.html diff --git a/public/views/send.html b/public/views/send.html deleted file mode 100644 index c69adbb86..000000000 --- a/public/views/send.html +++ /dev/null @@ -1,141 +0,0 @@ -
-
-

-
- -
-
- - Available Balance: - {{index.availableBalanceStr }} - - - {{index.lockedBalanceStr}} - in pending transactions - -
-

-
-
-
-
- - Fetching Payment Information... - -
- -
- - {{send.error|translate}} - - × -
- -
-
- - - - - - - - - Not valid - - - - - -
- -
- -
-
-
-
- - - -
- - - -
-
-
- -
-
-
- - - Not valid - - - - -
-
- - - -
-
- - -
-
-
-
-
- -
- -
-
-
- -
- {{send.onGoingProcess|translate}}... -
- - - -
-
- Cancel -
-
- -
- -
- -
-
- -
-
From 7098a8627f168f754f08783f4182bd19613dcde4 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 24 Apr 2015 03:12:38 -0300 Subject: [PATCH 12/15] better create profile notif --- public/views/createProfile.html | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/public/views/createProfile.html b/public/views/createProfile.html index 013a81c99..f245f8970 100644 --- a/public/views/createProfile.html +++ b/public/views/createProfile.html @@ -8,9 +8,15 @@
{{(cp.error)|translate}}. Retrying...
- -
- Creating wallet... +
+
+
+
+
+
+
+
+ Creating Wallet...
From d7be9caf296c61a85d3f1f9c108a05314fdc9403 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Fri, 24 Apr 2015 03:14:18 -0300 Subject: [PATCH 13/15] better import notif --- public/views/import.html | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/public/views/import.html b/public/views/import.html index d573b622f..a8c796ded 100644 --- a/public/views/import.html +++ b/public/views/import.html @@ -1,5 +1,16 @@
-
Importing wallet...
+
+
+
+
+
+
+
+
+ Importing wallet... +
+ +
From 17f7483ec5062af24364a80d73d5494b46702ba4 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Fri, 24 Apr 2015 03:22:06 -0300 Subject: [PATCH 14/15] goHome after close preferences or add wallet --- public/views/includes/topbar.html | 10 +++++----- src/js/controllers/topbar.js | 4 ++++ src/js/routes.js | 4 ++-- src/js/services/go.js | 1 - 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/public/views/includes/topbar.html b/public/views/includes/topbar.html index fe2ca0d4f..9ccc3cdaa 100644 --- a/public/views/includes/topbar.html +++ b/public/views/includes/topbar.html @@ -1,6 +1,6 @@