From 4589d06023b21a49a4d82fa24228a3879300cd7f Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Sat, 27 Jan 2024 22:12:45 +0000 Subject: fix(login): stop bailing when no name in metadata now falls back to displayName, display_name or npub test pass when loggined printed to the cli in e0f543e8adb144f6deff6ff7ea0c412c9fcac5b4 are commented out --- src/key_handling/users.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/key_handling/users.rs b/src/key_handling/users.rs index caa57e6..2c6a897 100644 --- a/src/key_handling/users.rs +++ b/src/key_handling/users.rs @@ -220,9 +220,20 @@ impl UserManagement for UserManager { let metadata = nostr::Metadata::from_json(new_metadata_event.content.clone()) .context("metadata cannot be found in kind 0 event content")?; user_ref.metadata = UserMetadata { - name: metadata - .name - .context("user metadata should always have name")?, + name: if let Some(n) = metadata.name { + n + } else if let Some(n) = metadata.custom.get("displayName") { + // strip quote marks that custom.get() adds + let binding = n.to_string(); + let mut chars = binding.chars(); + chars.next(); + chars.next_back(); + chars.as_str().to_string() + } else if let Some(n) = metadata.display_name { + n + } else { + user_ref.metadata.name + }, created_at: new_metadata_event.created_at.as_u64(), }; } -- cgit v1.2.3