Skip to content
This repository has been archived by the owner on Feb 26, 2021. It is now read-only.

Commit

Permalink
1.0.6 changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
atypicalprogrammer committed Sep 21, 2016
1 parent 5cd8dcf commit 24eb2be
Show file tree
Hide file tree
Showing 6 changed files with 188 additions and 74 deletions.
89 changes: 87 additions & 2 deletions app/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,80 @@ var UI = (function(UI, undefined) {
modal.open();
}

UI.addNeighborNode = function(node) {
if (showQuitAlert) {
return;
}

UI.hideAlerts();

var modal = new tingle.modal({
footer: true,
onOpen: function() {
var close = document.querySelector(".tingle-modal__close");
var modalContent = document.querySelector(".tingle-modal-box__content");
modalContent.appendChild(close);
}
});

modal.setContent("<h1>Add Neighbor Node</h1>" +
"<p>Are you sure you want to add this node to your server configuration?</p>" +
"<p style='font-weight:bold'>" + String(node).escapeHTML() + "</p>");

modal.addFooterBtn("Yes, Add This Node", "tingle-btn tingle-btn--primary", function() {
modal.close();
electron.ipcRenderer.send("addNeighborNode", node);
});

modal.addFooterBtn("No, Cancel", "tingle-btn tingle-btn--default", function() {
modal.close();
});

modal.open();
}

UI.editServerConfiguration = function(configuration) {
if (showQuitAlert) {
return;
}

UI.hideAlerts();

var modal = new tingle.modal({
footer: true,
onOpen: function() {
var close = document.querySelector(".tingle-modal__close");
var modalContent = document.querySelector(".tingle-modal-box__content");
modalContent.appendChild(close);

var el = document.getElementById("server_config_port");

var temp = el.value;
el.value = "";
el.value = temp;
el.focus();
}
});

modal.setContent("<h1>Server Config</h1>" +
"<div class='input-group'><label>Server Port:</label>" +
"<input type='number' min='1' name='port' id='server_config_port' placeholder='' value='" + (configuration.port ? String(configuration.port).escapeHTML() : "14265") + "' /></div>" +
"<div class='input-group input-group'><label>Neighboring Nodes:</label>" +
"<textarea name='neighboring_nodes' id='server_config_neighboring_nodes' style='width:100%;height:150px;'>" + String(configuration.nodes).escapeHTML() + "</textarea></div>");

modal.addFooterBtn("Save", "tingle-btn tingle-btn--primary", function() {
var config = {};
config.port = parseInt(document.getElementById("server_config_port").value, 10);
config.nodes = document.getElementById("server_config_neighboring_nodes").value;

modal.close();

electron.ipcRenderer.send("updateServerConfiguration", config);
});

modal.open();
}

UI.showUpdateAvailable = function() {
UI.showAlert("<h1>Update Available</h1><p>An update is available and is being downloaded.</p>");
}
Expand Down Expand Up @@ -579,7 +653,9 @@ var UI = (function(UI, undefined) {

url = decodeURI(url.replace("iota://", "").toLowerCase().replace(/\/$/, ""));

if (url == "log") {
if (url == "config" || url == "configuration" || url == "setup") {
electron.ipcRenderer.send("editServerConfiguration");
} else if (url == "log") {
electron.ipcRenderer.send("showServerLog");
} else if (url == "nodeinfo" || url == "node") {
UI.sendToWebview("showNodeInfo");
Expand All @@ -590,7 +666,12 @@ var UI = (function(UI, undefined) {
} else if (url == "generateseed" || url == "seed") {
UI.sendToWebview("generateSeed");
} else {
UI.sendToWebview("handleURL", url);
var match = url.match(/(?:addnode|addneighbou?r)\/(.*)/i);
if (match && match[1] && match[1].charAt(0) != "-") {
UI.addNeighborNode(match[1]);
} else {
UI.sendToWebview("handleURL", url);
}
}
}

Expand Down Expand Up @@ -713,6 +794,10 @@ electron.ipcRenderer.on("generateSeed", function() {
UI.sendToWebview("generateSeed");
});

electron.ipcRenderer.on("editServerConfiguration", function(event, serverConfiguration) {
UI.editServerConfiguration(serverConfiguration);
});

electron.ipcRenderer.on("toggleDeveloperTools", UI.toggleDeveloperTools);

electron.ipcRenderer.on("setFocus", function(event, focus) {
Expand Down
143 changes: 84 additions & 59 deletions app/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,6 @@ var App = (function(App, undefined) {

App.findServerDirectory();

/*
if (!settings.hasOwnProperty("dbDeletion") || settings.dbDeletion != "1.0.-1") {
App.deleteDbIfExists();
settings.dbDeletion = "1.0.-1";
}*/

if (!electron.app.isDefaultProtocolClient("iota")) {
console.log("Register iota as a default protocol");
electron.app.setAsDefaultProtocolClient("iota"); //not linux
Expand Down Expand Up @@ -140,6 +134,12 @@ var App = (function(App, undefined) {
if (!settings.hasOwnProperty("isFirstRun")) {
settings.isFirstRun = 1;
}
if (!settings.hasOwnProperty("port")) {
settings.port = 14265;
}
if (!settings.hasOwnProperty("nodes") || typeof settings.nodes != "object") {
settings.nodes = [];
}
console.log(settings);
} catch (err) {
console.log("Error reading settings.");
Expand Down Expand Up @@ -479,7 +479,7 @@ var App = (function(App, undefined) {
}
},
{
label: "View Peers",
label: "View Neighbors",
//accelerator: "CmdOrCtrl+N",
click(item) {
App.showPeers();
Expand Down Expand Up @@ -514,6 +514,13 @@ var App = (function(App, undefined) {
App.openDatabaseFolder();
}
},
{
label: "Edit Server Configuration",
//accelerator: "CmdOrCtrl+E",
click(item) {
App.editServerConfiguration();
}
},
{
type: "separator"
},
Expand Down Expand Up @@ -648,7 +655,7 @@ var App = (function(App, undefined) {
}*/

// Remove preferences (other location on mac)
template[3].submenu.splice(7, 2);
template[3].submenu.splice(8, 2);
} else if (process.platform == "win32") {
if (!isDevelopment) {
/*
Expand Down Expand Up @@ -677,48 +684,9 @@ var App = (function(App, undefined) {
console.log("Server directory is: " + serverDirectory);
console.log("Jar directory is: " + jarDirectory);

var defaultNodes = "+udp://188.138.57.93:14265\r\n+udp://104.238.171.31:14265\r\n+udp://46.101.118.240:14265\r\n+udp://178.62.203.156:14265\r\n+udp://139.59.134.213:14265\r\n+udp://104.238.181.100:14265\r\n+udp://66.11.119.73:14265\r\n+udp://167.114.182.68:14265\r\n+udp://104.198.4.96:14265\r\n+udp://46.101.147.184:14265\r\n+udp://107.170.52.140:14265\r\n+udp://104.198.15.213:14265";

if (fs.existsSync(serverDirectory)) {
var uiFolder = path.join(serverDirectory, "ui");
var srcFolder = path.join(serverDirectory, "src");

if (fs.existsSync(uiFolder)) {
console.log("Delete obsolete files.");

deleteFiles(["console.html", "IRI.jar", "IRI-prev.jar", "nostalgia.html", "VERSION", ".DS_Store"]);

var fsExtra = require("fs-extra");

if (fs.existsSync(srcFolder)) {
console.log("Delete " + srcFolder);
fsExtra.removeSync(srcFolder);
}
if (fs.existsSync(uiFolder)) {
console.log("Delete " + uiFolder);
fsExtra.removeSync(uiFolder);
}
}

if (!settings.hasDefaultNodes) {
console.log("Append default nodes");
fs.appendFileSync(path.join(serverDirectory, "IRI.cfg"), "\r\n" + defaultNodes);
settings.hasDefaultNodes = 1;
}
} else {
if (!fs.existsSync(serverDirectory)) {
console.log("Creating server directory.");
fs.mkdirSync(serverDirectory);

var defaultConfigPath = path.join(jarDirectory, "IRI.cfg");

if (fs.existsSync(defaultConfigPath)) {
console.log("Copying default IRI.cfg.");
var fsExtra = require("fs-extra");
fsExtra.copySync(defaultConfigPath, path.join(serverDirectory, "IRI.cfg"));
} else {
console.log("Creating default IRI.cfg.");
fs.writeFileSync(path.join(serverDirectory, "IRI.cfg"), defaultNodes);
}
}
} catch (err) {
console.log("err:");
Expand Down Expand Up @@ -953,6 +921,12 @@ var App = (function(App, undefined) {

params.push(path.join(jarDirectory, "IRI.jar"));

params.push(settings.port);

if (settings.nodes) {
params = params.concat(settings.nodes);
}

console.log(params);

serverOutput = [];
Expand Down Expand Up @@ -1248,9 +1222,14 @@ var App = (function(App, undefined) {

App.checkServerOutput = function(data) {
if (!isStarted && !didKillServer) {
if (data.match(/Transactions to request|Following coordinator/i)) {
// This can result in errors.. Need to have a real response from the console instead of just this.
if (data.match(/IRI [0-9]/i)) {
App.serverStarted();
}
/*
if (data.match(/Transactions to request|Following coordinator/i)) {
App.serverStarted();
}*/
}
if (settings.showStatusBar) {
var transactions = data.match(/Transactions to request = ([0-9]+) \/ ([0-9]+)/i);
Expand Down Expand Up @@ -1403,14 +1382,6 @@ var App = (function(App, undefined) {
msg = "A server initialization error occurred.";
}

var serverConfig = "";

if (serverDirectory) {
try {
var serverConfig = fs.readFileSync(path.join(serverDirectory, "IRI.cfg"), "utf8");
} catch (err) {}
}

if (!selectedJavaLocation) {
selectedJavaLocation = "java";
}
Expand Down Expand Up @@ -1445,14 +1416,13 @@ var App = (function(App, undefined) {
child.on("exit", function() {
App.showOtherWindow("init_error.html", title, msg, {"javaArgs" : args,
"serverOutput" : serverOutput,
"serverConfig" : serverConfig,
"javaVersionOK" : javaVersionOK,
"java64BitsOK" : java64BitsOK,
"is64BitOS" : is64BitOS});
});
} else {
console.log("32-bit");
App.showOtherWindow("init_error.html", title, msg, {"javaArgs": args, "serverOutput": serverOutput, "serverConfig": serverConfig});
App.showOtherWindow("init_error.html", title, msg, {"javaArgs": args, "serverOutput": serverOutput});
}

selectedJavaLocation = "";
Expand Down Expand Up @@ -1578,6 +1548,51 @@ var App = (function(App, undefined) {
}
}

App.editServerConfiguration = function() {
console.log("Edit server configuration.");

if (win && win.webContents) {
App.showWindowIfNotVisible();
win.webContents.send("editServerConfiguration", {"port": settings.port, "nodes": settings.nodes.join("\r\n")});
}
}

App.updateServerConfiguration = function(configuration) {
console.log("Update server configuration.");

try {
settings.nodes = configuration.nodes.match(/[^\r\n]+/g).unique();
settings.port = configuration.port;

App.saveSettings();
} catch (err) {
console.log("Error");
console.log(err);
}
}

App.addNeighborNode = function(node) {
console.log("Add neighbor node: " + node);

try {
if (!node) {
return;
}

node = String(node);

if (!node.match(/^udp:\/\//i)) {
return;
}

settings.nodes.push(node);
App.saveSettings();
} catch (err) {
console.log("Error");
console.log(err);
}
}

App.showServerLog = function() {
if (win && win.webContents) {
App.showWindowIfNotVisible();
Expand Down Expand Up @@ -1872,6 +1887,10 @@ electron.ipcMain.on("updatePreferences", function(event, checkForUpdatesOption)
App.updatePreferences(checkForUpdatesOption);
});

electron.ipcMain.on("updateServerConfiguration", function(event, configuration) {
App.updateServerConfiguration(configuration);
});

electron.ipcMain.on("installUpdate", function() {
App.installUpdate();
});
Expand All @@ -1896,6 +1915,12 @@ electron.ipcMain.on("showNoJavaInstalledWindow", function(event, params) {
App.showNoJavaInstalledWindow(true, params);
});

electron.ipcMain.on("editServerConfiguration", App.editServerConfiguration);

electron.ipcMain.on("addNeighborNode", function(event, node) {
App.addNeighborNode(node);
});

electron.ipcMain.on("upgradeIRI", function(event, sourceFile) {
App.upgradeIRI(sourceFile);
});
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "iota",
"productName": "IOTA Wallet",
"description": "IOTA Wallet",
"version": "1.0.5",
"version": "1.0.6",
"main": "app/js/main.js",
"scripts": {
"prepublish": "cd app && bower install && cd ../ui && bower install",
Expand All @@ -18,6 +18,6 @@
"spawn-args": "^0.1.0"
},
"devDependencies": {
"electron-prebuilt": "^1.2.7"
"electron-prebuilt": "^1.4.0"
}
}
2 changes: 1 addition & 1 deletion ui/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ <h1>Node Info</h1>

<div id="peers-modal" class="modal" data-remodal-id="peers">
<button data-remodal-action="close" class="remodal-close"></button>
<h1>Peers (<span id="peer-count"></span>)</h1>
<h1>Neighbors (<span id="peer-count"></span>)</h1>
<div class="contents"></div>
</div>

Expand Down

0 comments on commit 24eb2be

Please sign in to comment.