diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/client.rs | 9 | ||||
| -rw-r--r-- | src/login.rs | 12 | ||||
| -rw-r--r-- | src/sub_commands/send.rs | 2 |
3 files changed, 15 insertions, 8 deletions
diff --git a/src/client.rs b/src/client.rs index 880cb6b..29d390f 100644 --- a/src/client.rs +++ b/src/client.rs | |||
| @@ -204,11 +204,18 @@ impl Connect for Client { | |||
| 204 | #[allow(clippy::large_futures)] | 204 | #[allow(clippy::large_futures)] |
| 205 | self.client.connect_relay(url).await?; | 205 | self.client.connect_relay(url).await?; |
| 206 | let res = self.client.send_event_to(vec![url], event.clone()).await?; | 206 | let res = self.client.send_event_to(vec![url], event.clone()).await?; |
| 207 | if let Some(err) = res.failed.get(&Url::parse(url)?) { | ||
| 208 | bail!(if let Some(err) = err { | ||
| 209 | err.to_string() | ||
| 210 | } else { | ||
| 211 | "error: unknown".to_string() | ||
| 212 | }); | ||
| 213 | } | ||
| 207 | save_event_in_cache(git_repo_path, &event).await?; | 214 | save_event_in_cache(git_repo_path, &event).await?; |
| 208 | if event.kind().eq(&Kind::Custom(REPO_REF_KIND)) { | 215 | if event.kind().eq(&Kind::Custom(REPO_REF_KIND)) { |
| 209 | save_event_in_global_cache(git_repo_path, &event).await?; | 216 | save_event_in_global_cache(git_repo_path, &event).await?; |
| 210 | } | 217 | } |
| 211 | Ok(res) | 218 | Ok(event.id()) |
| 212 | } | 219 | } |
| 213 | 220 | ||
| 214 | async fn get_events( | 221 | async fn get_events( |
diff --git a/src/login.rs b/src/login.rs index 9c7ca78..be358de 100644 --- a/src/login.rs +++ b/src/login.rs | |||
| @@ -2,7 +2,7 @@ use std::{collections::HashSet, path::Path, str::FromStr, time::Duration}; | |||
| 2 | 2 | ||
| 3 | use anyhow::{bail, Context, Result}; | 3 | use anyhow::{bail, Context, Result}; |
| 4 | use nostr::{ | 4 | use nostr::{ |
| 5 | nips::{nip05::get_nip46, nip46::NostrConnectURI}, | 5 | nips::{nip05, nip46::NostrConnectURI}, |
| 6 | PublicKey, | 6 | PublicKey, |
| 7 | }; | 7 | }; |
| 8 | use nostr_sdk::{ | 8 | use nostr_sdk::{ |
| @@ -404,17 +404,17 @@ async fn fresh_login( | |||
| 404 | pub async fn fetch_nip46_uri_from_nip05(nip05: &str) -> Result<NostrConnectURI> { | 404 | pub async fn fetch_nip46_uri_from_nip05(nip05: &str) -> Result<NostrConnectURI> { |
| 405 | let term = console::Term::stderr(); | 405 | let term = console::Term::stderr(); |
| 406 | term.write_line("contacting login service provider...")?; | 406 | term.write_line("contacting login service provider...")?; |
| 407 | let res = get_nip46(&nip05, None).await; | 407 | let res = nip05::profile(&nip05, None).await; |
| 408 | term.clear_last_lines(1)?; | 408 | term.clear_last_lines(1)?; |
| 409 | match res { | 409 | match res { |
| 410 | Ok((signer_public_key, relays)) => { | 410 | Ok(profile) => { |
| 411 | if relays.is_empty() { | 411 | if profile.nip46.is_empty() { |
| 412 | println!("nip05 provider isn't configured for remote login"); | 412 | println!("nip05 provider isn't configured for remote login"); |
| 413 | bail!("nip05 provider isn't configured for remote login") | 413 | bail!("nip05 provider isn't configured for remote login") |
| 414 | } | 414 | } |
| 415 | Ok(NostrConnectURI::Bunker { | 415 | Ok(NostrConnectURI::Bunker { |
| 416 | signer_public_key, | 416 | signer_public_key: profile.public_key, |
| 417 | relays, | 417 | relays: profile.nip46, |
| 418 | secret: None, | 418 | secret: None, |
| 419 | }) | 419 | }) |
| 420 | } | 420 | } |
diff --git a/src/sub_commands/send.rs b/src/sub_commands/send.rs index 95d3eb0..33ce104 100644 --- a/src/sub_commands/send.rs +++ b/src/sub_commands/send.rs | |||
| @@ -405,7 +405,7 @@ pub async fn send_events( | |||
| 405 | console::style( | 405 | console::style( |
| 406 | e.to_string() | 406 | e.to_string() |
| 407 | .replace("relay pool error:", "error:") | 407 | .replace("relay pool error:", "error:") |
| 408 | .replace("event not published: ", ""), | 408 | .replace("event not published: ", "error: "), |
| 409 | ) | 409 | ) |
| 410 | .for_stderr() | 410 | .for_stderr() |
| 411 | .red() | 411 | .red() |