From 7d2985def1c47d4c832ac7a59099dd5c4af31463 Mon Sep 17 00:00:00 2001 From: Mike Dilger Date: Wed, 28 Dec 2022 07:30:22 +1300 Subject: [PATCH] Save keys after importing --- src/overlord/mod.rs | 18 ++++++++++++++++++ src/ui/feed.rs | 18 ++++++++++-------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/overlord/mod.rs b/src/overlord/mod.rs index 9a3bfb08..c4abb872 100644 --- a/src/overlord/mod.rs +++ b/src/overlord/mod.rs @@ -414,6 +414,15 @@ impl Overlord { signer.unlock_encrypted_private_key(&password)?; } password.zeroize(); + + // Save + let public_key = GLOBALS.signer.read().await.public_key().unwrap(); + { + let mut settings = GLOBALS.settings.write().await; + settings.encrypted_private_key = Some(epk); + settings.public_key = Some(public_key); + settings.save().await?; + } } "import_hex" => { let (mut import_hex, mut password): (String, String) = @@ -427,6 +436,15 @@ impl Overlord { signer.unlock_encrypted_private_key(&password)?; } password.zeroize(); + + // Save + let public_key = GLOBALS.signer.read().await.public_key().unwrap(); + { + let mut settings = GLOBALS.settings.write().await; + settings.encrypted_private_key = Some(epk); + settings.public_key = Some(public_key); + settings.save().await?; + } } _ => {} }, diff --git a/src/ui/feed.rs b/src/ui/feed.rs index 2b8cd4d5..354fe7a9 100644 --- a/src/ui/feed.rs +++ b/src/ui/feed.rs @@ -17,17 +17,19 @@ pub(super) fn update(app: &mut GossipUi, ctx: &Context, frame: &mut eframe::Fram }; ui.horizontal(|ui| { - ui.text_edit_multiline(&mut app.draft); + if GLOBALS.signer.blocking_read().is_ready() { + ui.text_edit_multiline(&mut app.draft); - if ui.button("Send").clicked() && !app.draft.is_empty() { - info!("Would send: {}", app.draft); + if ui.button("Send").clicked() && !app.draft.is_empty() { + info!("Would send: {}", app.draft); - // We need our private key - // Then we need to create a TextNote event - // Then we need to send it to multiple relays - // NOT a one-liner + // We need our private key + // Then we need to create a TextNote event + // Then we need to send it to multiple relays + // NOT a one-liner - app.draft = "".to_owned(); + app.draft = "".to_owned(); + } } ui.with_layout(Layout::right_to_left(Align::TOP), |ui| {