upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/lib/login/fresh.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/login/fresh.rs')
-rw-r--r--src/lib/login/fresh.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/login/fresh.rs b/src/lib/login/fresh.rs
index 886b0e4..8e49085 100644
--- a/src/lib/login/fresh.rs
+++ b/src/lib/login/fresh.rs
@@ -715,6 +715,7 @@ pub async fn signup_non_interactive(
715 #[cfg(not(test))] client: Option<&Client>, 715 #[cfg(not(test))] client: Option<&Client>,
716 save_local: bool, 716 save_local: bool,
717 publish: bool, 717 publish: bool,
718 relay_urls: Vec<String>,
718) -> Result<(Arc<dyn NostrSigner>, PublicKey, SignerInfo, Keys)> { 719) -> Result<(Arc<dyn NostrSigner>, PublicKey, SignerInfo, Keys)> {
719 // Generate new keypair 720 // Generate new keypair
720 let keys = nostr::Keys::generate(); 721 let keys = nostr::Keys::generate();
@@ -783,10 +784,9 @@ pub async fn signup_non_interactive(
783 if let Some(client) = client { 784 if let Some(client) = client {
784 let profile = EventBuilder::metadata(&Metadata::new().name(name)).sign_with_keys(&keys)?; 785 let profile = EventBuilder::metadata(&Metadata::new().name(name)).sign_with_keys(&keys)?;
785 let relay_list = EventBuilder::relay_list( 786 let relay_list = EventBuilder::relay_list(
786 client 787 relay_urls
787 .get_relay_default_set()
788 .iter() 788 .iter()
789 .map(|s| (RelayUrl::parse(s).unwrap(), None)), 789 .filter_map(|s| RelayUrl::parse(s).ok().map(|url| (url, None))),
790 ) 790 )
791 .sign_with_keys(&keys)?; 791 .sign_with_keys(&keys)?;
792 792
@@ -799,7 +799,7 @@ pub async fn signup_non_interactive(
799 client, 799 client,
800 git_repo_path, 800 git_repo_path,
801 vec![profile, relay_list], 801 vec![profile, relay_list],
802 client.get_relay_default_set().clone(), 802 relay_urls,
803 vec![], 803 vec![],
804 true, 804 true,
805 false, 805 false,
@@ -848,12 +848,19 @@ async fn signup(
848 } 848 }
849 } 849 }
850 850
851 // Call the non-interactive function 851 // Call the non-interactive function, using relay_default_set as the
852 // relay list for interactive signup
853 let relay_urls = if let Some(c) = client {
854 c.get_relay_default_set().clone()
855 } else {
856 vec![]
857 };
852 let (signer, public_key, signer_info, _keys) = signup_non_interactive( 858 let (signer, public_key, signer_info, _keys) = signup_non_interactive(
853 name.clone(), 859 name.clone(),
854 client, 860 client,
855 false, // save_local = false (will be saved globally by caller) 861 false, // save_local = false (will be saved globally by caller)
856 true, // publish = true (always publish in interactive mode) 862 true, // publish = true (always publish in interactive mode)
863 relay_urls,
857 ) 864 )
858 .await?; 865 .await?;
859 866