From c3655e033b593cc50682e6340e82d72f35632658 Mon Sep 17 00:00:00 2001 From: kernelkind Date: Wed, 19 Mar 2025 12:43:41 -0400 Subject: [PATCH] use UserAccount for account storage Signed-off-by: kernelkind --- crates/notedeck/src/storage/account_storage.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/crates/notedeck/src/storage/account_storage.rs b/crates/notedeck/src/storage/account_storage.rs index 776e3517..cb2b97ae 100644 --- a/crates/notedeck/src/storage/account_storage.rs +++ b/crates/notedeck/src/storage/account_storage.rs @@ -36,8 +36,7 @@ impl AccountStorage { .accounts_directory .get_files()? .values() - .filter_map(|str_key| deserialize_kp(str_key).ok()) - .map(UserAccount::new) + .filter_map(|serialized| deserialize_storage(serialized).ok()) .collect(); Ok(keys) } @@ -80,14 +79,19 @@ impl AccountStorage { } } -fn deserialize_kp(serialized: &str) -> Result { +fn deserialize_storage(serialized: &str) -> Result { let data = serialized.split("\t").collect::>(); let mut parser = TokenParser::new(&data); - if let Ok(kp) = Keypair::parse_from_tokens(&mut parser) { - return Ok(kp); + if let Ok(acc) = UserAccount::parse_from_tokens(&mut parser) { + return Ok(acc); } + // try old deserialization way + Ok(UserAccount::new(old_deserialization(serialized)?)) +} + +fn old_deserialization(serialized: &str) -> Result { Ok(serde_json::from_str::(serialized)?.to_keypair("")) }