From 2d978fdb2a380053ce01756ed1f3f2741dc57710 Mon Sep 17 00:00:00 2001 From: Evan Kaloudis Date: Sat, 29 Jul 2023 12:47:25 -0400 Subject: [PATCH] Settings: Embedded node: add ability to clear payment routing profile --- locales/en.json | 5 ++- views/Settings/EmbeddedNode.tsx | 58 +++++++++++++++++++++++++++++++-- views/Settings/Settings.tsx | 4 --- 3 files changed, 60 insertions(+), 7 deletions(-) diff --git a/locales/en.json b/locales/en.json index e62963195..a5c40a3c0 100644 --- a/locales/en.json +++ b/locales/en.json @@ -58,6 +58,7 @@ "general.network": "Network", "general.tapToLearnMore": "Tap to learn more.", "general.lsp": "Lightning Service Provider (LSP)", + "general.success": "Success", "components.CollapsedQr.show": "Show QR", "components.CollapsedQr.hide": "Hide QR", "components.CollapsedQr.startNfc": "Start NFC broadcast", @@ -628,11 +629,13 @@ "views.Settings.Seed.backupComplete": "I've backed up my 24 words", "views.Settings.EmbeddedNode.title": "Embedded node", "views.Settings.EmbeddedNode.expressGraphSync": "Enable express graph sync (EGS)", - "views.Settings.EmbeddedNode.expressGraphSync.subtitle": "Download Lightning network's gossip data on startup. This while make pathfinding when trying to make a payment much more reliable. Restart the app to take effect.", + "views.Settings.EmbeddedNode.expressGraphSync.subtitle": "Download Lightning network's gossip data on startup. This will make pathfinding when trying to make a payment much more reliable. Restart the app to take effect. Also known as Speedloader.", "views.Settings.EmbeddedNode.expressGraphSyncMobile": "Allow express graph sync on mobile", "views.Settings.EmbeddedNode.expressGraphSyncMobile.subtitle": "By default, express graph sync will only occur when you're on WiFi as files are typically ~100 MB. This will allow EGS downloads to happen on mobile connections.", "views.Settings.EmbeddedNode.resetExpressGraphSyncOnStartup": "Reset express graph sync on startup", "views.Settings.EmbeddedNode.resetExpressGraphSyncOnStartup.subtitle": "Force a new download of the express graph sync data on startup.", + "views.Settings.EmbeddedNode.resetMissionControl": "Reset payment routing profile", + "views.Settings.EmbeddedNode.resetMissionControl.subtitle": "This will reset the mission control state. Can be helpful if you are having issues finding routes while making payments.", "views.Settings.LSP.enableLSP": "Enable Lightning Service Provider (LSP)", "views.Settings.LSP.enableLSP.subtitle": "The LSP will get you connected to the Lightning network by opening up payment channels for you.", "views.Transaction.title": "Transaction", diff --git a/views/Settings/EmbeddedNode.tsx b/views/Settings/EmbeddedNode.tsx index 10454166f..f51cd5f93 100644 --- a/views/Settings/EmbeddedNode.tsx +++ b/views/Settings/EmbeddedNode.tsx @@ -3,6 +3,7 @@ import { Text, View } from 'react-native'; import { ListItem } from 'react-native-elements'; import { inject, observer } from 'mobx-react'; +import Button from '../../components/Button'; import Screen from '../../components/Screen'; import Header from '../../components/Header'; @@ -12,6 +13,8 @@ import { localeString } from '../../utils/LocaleUtils'; import { themeColor } from '../../utils/ThemeUtils'; import Switch from '../../components/Switch'; +import { resetMissionControl } from '../../lndmobile'; + interface EmbeddedNodeProps { navigation: any; SettingsStore: SettingsStore; @@ -21,6 +24,7 @@ interface EmbeddedNodeState { expressGraphSync: boolean | undefined; expressGraphSyncMobile: boolean | undefined; resetExpressGraphSyncOnStartup: boolean | undefined; + resetMissionControlSuccess: boolean | undefined; } @inject('SettingsStore') @@ -32,7 +36,8 @@ export default class EmbeddedNode extends React.Component< state = { expressGraphSync: false, expressGraphSyncMobile: false, - resetExpressGraphSyncOnStartup: false + resetExpressGraphSyncOnStartup: false, + resetMissionControlSuccess: false }; async UNSAFE_componentWillMount() { @@ -52,7 +57,8 @@ export default class EmbeddedNode extends React.Component< const { expressGraphSync, expressGraphSyncMobile, - resetExpressGraphSyncOnStartup + resetExpressGraphSyncOnStartup, + resetMissionControlSuccess } = this.state; const { updateSettings, embeddedLndNetwork }: any = SettingsStore; @@ -245,6 +251,54 @@ export default class EmbeddedNode extends React.Component< )} + <> + +