try wizard state

This commit is contained in:
shocknet-justin 2025-10-08 19:42:34 -04:00
parent d1c3d4e4a4
commit 9c1dd8db6e
2 changed files with 39 additions and 20 deletions

View file

@ -40,6 +40,7 @@ export class Wizard {
} }
GetServiceState = async (): Promise<WizardTypes.ServiceStateResponse> => { GetServiceState = async (): Promise<WizardTypes.ServiceStateResponse> => {
try {
const apps = await this.storage.applicationStorage.GetApplications() const apps = await this.storage.applicationStorage.GetApplications()
const appNamesList = apps.map(app => app.name).join(', ') const appNamesList = apps.map(app => app.name).join(', ')
return { return {
@ -51,11 +52,29 @@ export class Wizard {
relay_connected: false, relay_connected: false,
relays: this.relays, relays: this.relays,
watchdog_ok: false, watchdog_ok: false,
source_name: this.settings.defaultAppName, source_name: appNamesList || this.settings.defaultAppName,
relay_url: this.settings.nostrRelaySettings.relays[0] || '', relay_url: this.settings.nostrRelaySettings.relays[0] || '',
automate_liquidity: this.settings.liquiditySettings.liquidityProviderPub !== 'null', automate_liquidity: this.settings.liquiditySettings.liquidityProviderPub !== 'null',
push_backups_to_nostr: this.settings.pushBackupsToNostr, push_backups_to_nostr: this.settings.pushBackupsToNostr,
} }
} catch (e) {
this.log(`Error in GetServiceState: ${(e as Error).message}`)
// Return a default/error state that is still valid JSON to prevent client-side parse errors
return {
admin_npub: '',
http_url: '',
lnd_state: WizardTypes.LndState.OFFLINE,
nprofile: '',
provider_name: 'Error loading state',
relay_connected: false,
relays: [],
watchdog_ok: false,
source_name: 'Error',
relay_url: '',
automate_liquidity: false,
push_backups_to_nostr: false,
}
}
} }
WizardState = async (): Promise<WizardTypes.StateResponse> => { WizardState = async (): Promise<WizardTypes.StateResponse> => {
return { return {

View file

@ -122,21 +122,21 @@ $(() => {
} else { } else {
// Pre-populate from service state // Pre-populate from service state
fetch("/wizard/service-state").then(res => res.json()).then(state => { fetch("/wizard/service-state").then(res => res.json()).then(state => {
nodeNameInput.val(state.sourceName); nodeNameInput.val(state.source_name);
if (state.relayUrl === 'wss://relay.lightning.pub') { if (state.relay_url === 'wss://relay.lightning.pub') {
customCheckbox.prop('checked', true); customCheckbox.prop('checked', true);
} else { } else {
relayUrlInput.val(state.relayUrl); relayUrlInput.val(state.relay_url);
} }
syncRelayState(); syncRelayState();
if (state.automateLiquidity) { if (state.automate_liquidity) {
automateLiquidityRadio.prop('checked', true); automateLiquidityRadio.prop('checked', true);
} else { } else {
manualLiquidityRadio.prop('checked', true); manualLiquidityRadio.prop('checked', true);
} }
if (state.pushBackupsToNostr) { if (state.push_backups_to_nostr) {
backupNostrRadio.prop('checked', true); backupNostrRadio.prop('checked', true);
} else { } else {
manualBackupRadio.prop('checked', true); manualBackupRadio.prop('checked', true);