diff options
| author | xiphon <xiphon@protonmail.com> | 2019-09-02 21:32:36 +0000 |
|---|---|---|
| committer | xiphon <xiphon@protonmail.com> | 2019-09-09 15:24:26 +0000 |
| commit | 0d247a9b8a2fa6770d1834584eedb109c6ab7e3d (patch) | |
| tree | 353d9c588cc280c869d2cb07feabd3422e540431 /wizard | |
| parent | a5b2d5e727c44d03c5f3f96d9726658caa9cdb6d (diff) | |
| download | monzero-gui-0d247a9b8a2fa6770d1834584eedb109c6ab7e3d.tar.gz monzero-gui-0d247a9b8a2fa6770d1834584eedb109c6ab7e3d.tar.xz monzero-gui-0d247a9b8a2fa6770d1834584eedb109c6ab7e3d.zip | |
SimpleMode: automatic public nodes discovering and switching
Diffstat (limited to 'wizard')
| -rw-r--r-- | wizard/WizardController.qml | 83 | ||||
| -rw-r--r-- | wizard/WizardCreateWallet2.qml | 7 | ||||
| -rw-r--r-- | wizard/WizardModeBootstrap.qml | 61 | ||||
| -rw-r--r-- | wizard/WizardModeRemoteNodeWarning.qml | 61 | ||||
| -rw-r--r-- | wizard/WizardOpenWallet1.qml | 11 | ||||
| -rw-r--r-- | wizard/WizardRestoreWallet2.qml | 7 |
6 files changed, 3 insertions, 227 deletions
diff --git a/wizard/WizardController.qml b/wizard/WizardController.qml index 7d5b662f..d1d29a5b 100644 --- a/wizard/WizardController.qml +++ b/wizard/WizardController.qml @@ -72,7 +72,6 @@ Rectangle { wizardController.tmpWalletFilename = ''; wizardController.walletRestoreMode = 'seed' wizardController.walletOptionsSubaddressLookahead = ''; - wizardController.remoteNodes = {}; disconnect(); if (typeof wizardController.m_wallet !== 'undefined'){ @@ -107,7 +106,6 @@ Rectangle { property string walletOptionsDeviceName: '' property bool walletOptionsDeviceIsRestore: false property string tmpWalletFilename: '' - property var remoteNodes: '' // language settings, updated via sidebar property string language_locale: 'en_US' @@ -560,87 +558,6 @@ Rectangle { passwordDialog.open(appWindow.usefulName(appWindow.walletPath())); } - function fetchRemoteNodes(cb, cb_err){ - // Fetch remote nodes, parse JSON, store in result `wizardController.remoteNodes`, call setAutNode(), call callback - var url = appWindow.remoteNodeService + 'api/nodes.json'; - console.log("HTTP request: " + url); - - var xhr = new XMLHttpRequest(); - xhr.timeout = 3500; - - // Unfortunately we cannot spoof User-Agent since it is hardcoded in Qt - //xhr.setRequestHeader("User-Agent", "-"); - - xhr.onreadystatechange = function() { - var msg; - if (xhr.readyState != 4) { - return; - } else if(xhr.status != 200){ - msg = "Error fetching remote nodes; status code was not 200"; - console.log(msg); - if(typeof cb_err === 'function') - return cb_err(msg); - } else { - var body = xhr.responseText; - if(typeof body === 'undefined' || body === ''){ - msg = "Error fetching remote nodes; response body was empty"; - console.log(msg); - if(typeof cb_err === 'function') - return cb_err(msg); - } - - var data = JSON.parse(body); - wizardController.remoteNodes = data; - console.log("node list updated"); - setAutoNode(); - return cb(); - } - } - - xhr.open('GET', url, true); - xhr.send(null); - } - - function setAutoNode(){ - var node; - var nodes; - var nodeObject = wizardController.remoteNodes; - var region = persistentSettings.remoteNodeRegion; - - if(typeof region !== 'undefined' && region !== ""){ - if(nodeObject.hasOwnProperty(region) && nodeObject[region].length > 0){ - nodes = nodeObject[region]; - } else { - console.log("No suitable nodes found for region " + region + ". Defaulting to random node."); - } - } - - if(typeof nodes === 'undefined'){ - nodes = []; - Object.keys(nodeObject).forEach(function(obj, i){ - nodes = nodes.concat(nodeObject[obj]); - }); - } - - // 18089 has precedence - var filteredNodes = Utils.filterNodes(nodes, "18089"); - if(filteredNodes.length > 0){ - node = Utils.randomChoice(filteredNodes); - console.log('Choosing remote node \''+ node +'\' from a list of ' + filteredNodes.length); - } else if(nodes.length > 0){ - node = Utils.randomChoice(nodes); - console.log('Choosing remote node \''+ node +'\' from a list of ' + nodes.length); - } else { - console.log("No suitable nodes found.") - return '' - } - - if(appWindow.walletMode === 0) - persistentSettings.remoteNodeAddress = node; - else if(appWindow.walletMode === 1) - persistentSettings.bootstrapNodeAddress = node; - } - Component.onCompleted: { // } diff --git a/wizard/WizardCreateWallet2.qml b/wizard/WizardCreateWallet2.qml index 7c698ee9..9df4680a 100644 --- a/wizard/WizardCreateWallet2.qml +++ b/wizard/WizardCreateWallet2.qml @@ -74,12 +74,7 @@ Rectangle { wizardController.walletOptionsPassword = passwordFields.password; if(appWindow.walletMode === 0 || appWindow.walletMode === 1){ - wizardController.fetchRemoteNodes(function(){ - wizardStateView.state = "wizardCreateWallet4"; - }, function(){ - appWindow.showStatusMessage(qsTr("Failed to fetch remote nodes from third-party server."), 5); - wizardStateView.state = "wizardCreateWallet4"; - }); + wizardStateView.state = "wizardCreateWallet4"; } else { wizardStateView.state = "wizardCreateWallet3"; } diff --git a/wizard/WizardModeBootstrap.qml b/wizard/WizardModeBootstrap.qml index ba911d63..5b583101 100644 --- a/wizard/WizardModeBootstrap.qml +++ b/wizard/WizardModeBootstrap.qml @@ -97,49 +97,6 @@ Rectangle { text: qsTr("Remain aware of these limitations. <b>Users who prioritize privacy and decentralization must use a full node instead</b>.") + translationManager.emptyString } - MoneroComponents.TextPlain { - text: qsTr("For enhanced node performance you may specify your region:") + translationManager.emptyString - wrapMode: Text.Wrap - Layout.topMargin: 8 - Layout.fillWidth: true - - font.family: MoneroComponents.Style.fontRegular.name - font.pixelSize: 16 - color: MoneroComponents.Style.defaultFontColor - } - - GridLayout { - columns: 3 - columnSpacing: 20 - - ColumnLayout { - Layout.fillWidth: true - spacing: 0 - - MoneroComponents.StandardDropdown { - id: regionDropdown - Layout.fillWidth: true - dataModel: regionModel - currentIndex: 0 - - onChanged: { - var region = regionModel.get(currentIndex).region; - persistentSettings.remoteNodeRegion = region; - } - } - } - - Item { - Layout.fillWidth: true - } - - Item { - Layout.fillWidth: true - } - - z: parent.z + 1 - } - MoneroComponents.CheckBox { id: understoodCheckbox Layout.topMargin: 20 @@ -184,22 +141,4 @@ Rectangle { wizardModeBootstrapWarning.understood = false; understoodCheckbox.checked = false; } - - Component.onCompleted: { - var region = persistentSettings.remoteNodeRegion; - - if(region){ - for(var i = 0; i !== regionDropdown.dataModel.count; i++){ - var item = regionDropdown.dataModel.get(i); - if(item['region'] === region){ - regionDropdown.currentIndex = i; - break; - } - } - } else { - regionDropdown.currentIndex = 0; - } - - regionDropdown.update(); - } } diff --git a/wizard/WizardModeRemoteNodeWarning.qml b/wizard/WizardModeRemoteNodeWarning.qml index d6c2dd1d..be53b168 100644 --- a/wizard/WizardModeRemoteNodeWarning.qml +++ b/wizard/WizardModeRemoteNodeWarning.qml @@ -100,49 +100,6 @@ Rectangle { text: qsTr("Remain aware of these limitations. <b>Users who prioritize privacy and decentralization must use a full node instead</b>.") + translationManager.emptyString } - MoneroComponents.TextPlain { - text: qsTr("For enhanced node performance you may specify your region:") + translationManager.emptyString - wrapMode: Text.Wrap - Layout.topMargin: 8 - Layout.fillWidth: true - - font.family: MoneroComponents.Style.fontRegular.name - font.pixelSize: 16 - color: MoneroComponents.Style.defaultFontColor - } - - GridLayout { - columns: 3 - columnSpacing: 20 - - ColumnLayout { - Layout.fillWidth: true - spacing: 0 - - MoneroComponents.StandardDropdown { - id: regionDropdown - Layout.fillWidth: true - dataModel: regionModel - currentIndex: 0 - - onChanged: { - var region = regionModel.get(currentIndex).region; - persistentSettings.remoteNodeRegion = region; - } - } - } - - Item { - Layout.fillWidth: true - } - - Item { - Layout.fillWidth: true - } - - z: parent.z + 1 - } - MoneroComponents.CheckBox { id: understoodCheckbox Layout.topMargin: 20 @@ -187,22 +144,4 @@ Rectangle { wizardModeRemoteNodeWarning.understood = false; understoodCheckbox.checked = false; } - - Component.onCompleted: { - var region = persistentSettings.remoteNodeRegion; - - if(region){ - for(var i = 0; i !== regionDropdown.dataModel.count; i++){ - var item = regionDropdown.dataModel.get(i); - if(item['region'] === region){ - regionDropdown.currentIndex = i; - break; - } - } - } else { - regionDropdown.currentIndex = 0; - } - - regionDropdown.update(); - } } diff --git a/wizard/WizardOpenWallet1.qml b/wizard/WizardOpenWallet1.qml index 4d4d1ed7..e0d93a05 100644 --- a/wizard/WizardOpenWallet1.qml +++ b/wizard/WizardOpenWallet1.qml @@ -282,16 +282,7 @@ Rectangle { onClicked: { persistentSettings.nettype = parseInt(networktype) - if(appWindow.walletMode === 0 || appWindow.walletMode === 1){ - wizardController.fetchRemoteNodes(function(){ - wizardController.openWalletFile(item.filePath); - }, function(){ - appWindow.showStatusMessage(qsTr("Failed to fetch remote nodes from third-party server."), 5); - wizardController.openWalletFile(item.filePath); - }); - } else { - wizardController.openWalletFile(item.filePath); - } + wizardController.openWalletFile(item.filePath); } } } diff --git a/wizard/WizardRestoreWallet2.qml b/wizard/WizardRestoreWallet2.qml index 161421c7..8e270984 100644 --- a/wizard/WizardRestoreWallet2.qml +++ b/wizard/WizardRestoreWallet2.qml @@ -73,12 +73,7 @@ Rectangle { wizardController.walletOptionsPassword = passwordFields.password; if(appWindow.walletMode === 0 || appWindow.walletMode === 1){ - wizardController.fetchRemoteNodes(function(){ - wizardStateView.state = "wizardRestoreWallet4"; - }, function(){ - appWindow.showStatusMessage(qsTr("Failed to fetch remote nodes from third-party server."), 5); - wizardStateView.state = "wizardRestoreWallet4"; - }); + wizardStateView.state = "wizardRestoreWallet4"; } else { wizardStateView.state = "wizardRestoreWallet3"; } |
