notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

commit c3655e033b593cc50682e6340e82d72f35632658
parent dbe71bbb80c6802db4f791b8505ba6e89221bfd7
Author: kernelkind <kernelkind@gmail.com>
Date:   Wed, 19 Mar 2025 12:43:41 -0400

use UserAccount for account storage

Signed-off-by: kernelkind <kernelkind@gmail.com>

Diffstat:
Mcrates/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 @@ -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<Keypair> { +fn deserialize_storage(serialized: &str) -> Result<UserAccount> { let data = serialized.split("\t").collect::<Vec<&str>>(); 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<Keypair> { Ok(serde_json::from_str::<SerializableKeypair>(serialized)?.to_keypair("")) }