From 1baa5966d7da57de6d83b3688051ec207e6be5b5 Mon Sep 17 00:00:00 2001 From: Arnab Chakraborty <11457760+Rocky43007@users.noreply.github.com> Date: Sat, 23 Mar 2024 17:33:57 -0400 Subject: [PATCH] Remove the `.unwrap()` from the mobile core (#2237) So, `.unwrap()` can cause issues when the core dies by throwing a panic. So, by moving to a `match` instead, we can stop the panic from occurring. --- apps/mobile/modules/sd-core/core/src/lib.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/mobile/modules/sd-core/core/src/lib.rs b/apps/mobile/modules/sd-core/core/src/lib.rs index 891bab37b..0f5851bb4 100644 --- a/apps/mobile/modules/sd-core/core/src/lib.rs +++ b/apps/mobile/modules/sd-core/core/src/lib.rs @@ -74,10 +74,15 @@ pub fn handle_core_msg( None => { let _guard = Node::init_logger(&data_dir); - // TODO: probably don't unwrap - let new_node = Node::new(data_dir, sd_core::Env::new(CLIENT_ID)) - .await - .unwrap(); + let new_node = match Node::new(data_dir, sd_core::Env::new(CLIENT_ID)).await { + Ok(node) => node, + Err(err) => { + error!("failed to initialise node: {}", err); + callback(Err(query)); + return; + } + }; + node.replace(new_node.clone()); new_node }