From dabc48c404a2b119531d07ac99361aeff89dec1e Mon Sep 17 00:00:00 2001 From: pauldelucia Date: Thu, 22 Jan 2026 16:36:55 +0700 Subject: [PATCH] fix: dev mode wouldnt toggle in left panel when unchecked in settings if config load failed --- src/ui/network_chooser_screen.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/ui/network_chooser_screen.rs b/src/ui/network_chooser_screen.rs index 3c4d5385b..8c0d54de9 100644 --- a/src/ui/network_chooser_screen.rs +++ b/src/ui/network_chooser_screen.rs @@ -851,14 +851,8 @@ impl NetworkChooserScreen { if StyledCheckbox::new(&mut self.developer_mode, "Developer mode") .show(ui) .clicked() - && let Ok(mut config) = Config::load() { - config.developer_mode = Some(self.developer_mode); - if let Err(e) = config.save() { - eprintln!("Failed to save config: {e}"); - } - - // Update all contexts + // Always update all contexts first to keep UI in sync self.mainnet_app_context .enable_developer_mode(self.developer_mode); if let Some(ref ctx) = self.testnet_app_context { @@ -871,6 +865,14 @@ impl NetworkChooserScreen { ctx.enable_developer_mode(self.developer_mode); } + // Persist to config file (non-blocking for UI) + if let Ok(mut config) = Config::load() { + config.developer_mode = Some(self.developer_mode); + if let Err(e) = config.save() { + eprintln!("Failed to save config: {e}"); + } + } + // TODO: When developer mode is disabled, stop SPV and switch to RPC. // Remove this block once SPV is production-ready. if !self.developer_mode {