From a8084e46134879e280a724f764d12be10743d745 Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Sat, 26 Mar 2016 14:57:46 +0100 Subject: [PATCH] Fix #373 UI won't start if network configuration has changed --- app/controllers/webmin.controller.js | 12 ++++++++++-- app/lib/network.js | 3 +-- app/lib/streams/dtos.js | 3 ++- bin/ucoind | 2 +- package.json | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/controllers/webmin.controller.js b/app/controllers/webmin.controller.js index 5c846f03f..df687eaac 100644 --- a/app/controllers/webmin.controller.js +++ b/app/controllers/webmin.controller.js @@ -65,10 +65,12 @@ function WebAdmin (dbConf, overConf) { yield pluggedDALP; let host = server.conf ? [server.conf.ipv4, server.conf.port].join(':') : ''; let current = yield server.dal.getCurrentBlockOrNull(); + let parameters = yield server.dal.getParameters(); return { "host": host, "current": current, - "pubkey": base58.encode(server.pair.publicKey) + "pubkey": base58.encode(server.pair.publicKey), + "parameters": parameters }; }); @@ -82,7 +84,13 @@ function WebAdmin (dbConf, overConf) { this.startHTTP = () => co(function *() { yield pluggedDALP; - return bmapi.openConnections(); + try { + yield bmapi.openConnections(); + return { success: true }; + } catch (e) { + logger.error(e); + return { success: false }; + } }); this.openUPnP = () => co(function *() { diff --git a/app/lib/network.js b/app/lib/network.js index 30d7ea2f5..4c2b09521 100644 --- a/app/lib/network.js +++ b/app/lib/network.js @@ -170,8 +170,6 @@ module.exports = { let httpServer = httpServers[i].http; let isListening = listenings[i]; if (!isListening) { - listenings[i] = true; - let netInterface = interfaces[i].ip; let port = interfaces[i].port; try { @@ -183,6 +181,7 @@ module.exports = { //httpServer.on('listening', resolve.bind(this, httpServer)); httpServer.listen(port, netInterface, (err) => { if (err) return reject(err); + listenings[i] = true; resolve(httpServer); }); }); diff --git a/app/lib/streams/dtos.js b/app/lib/streams/dtos.js index 0cd613a61..dde15c851 100644 --- a/app/lib/streams/dtos.js +++ b/app/lib/streams/dtos.js @@ -410,7 +410,8 @@ dtos.Boolean = { dtos.AdminSummary = { "host": String, "current": dtos.Block, - "pubkey": String + "pubkey": String, + "parameters": dtos.Parameters }; dtos.PreviewPubkey = { diff --git a/bin/ucoind b/bin/ucoind index 54ce04a57..6c48dd0d8 100755 --- a/bin/ucoind +++ b/bin/ucoind @@ -5,7 +5,7 @@ var logger = require('../app/lib/logger')('ucoind'); process.on('uncaughtException', function (err) { // Dunno why this specific exception is not caught - if (err.code !== "EADDRNOTAVAIL") { + if (err.code !== "EADDRNOTAVAIL" && err.code !== "EINVAL") { logger.error(err); process.exit(1); } diff --git a/package.json b/package.json index e6c6d9cf1..67f3262fb 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "test": "mocha --growl --timeout 20000 test test/fast test/fast/block test/integration test/", "start": "node bin/ucoind start", "test-travis": "node ./node_modules/istanbul/lib/cli.js cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec --timeout 20000 test test/fast test/fast/block test/integration test/", - "postinstall": "mkdir ui -p && cd ui && npm pack ucoin-ui@0.1.12 && tar xzf ucoin-ui-0.1.12.tgz && cd package && npm install && cd .. && rm ucoin-ui-0.1.12.tgz" + "postinstall": "mkdir ui -p && cd ui && npm pack ucoin-ui@0.1.13 && tar xzf ucoin-ui-0.1.13.tgz && cd package && npm install && cd .. && rm ucoin-ui-0.1.13.tgz" }, "repository": { "type": "git", -- GitLab