upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client.rs18
-rw-r--r--src/key_handling/users.rs4
-rw-r--r--src/repo_ref.rs4
-rw-r--r--src/sub_commands/prs/create.rs14
4 files changed, 21 insertions, 19 deletions
diff --git a/src/client.rs b/src/client.rs
index 9aa574d..237ff24 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -16,7 +16,9 @@ use futures::stream::{self, StreamExt};
16#[cfg(test)] 16#[cfg(test)]
17use mockall::*; 17use mockall::*;
18use nostr::Event; 18use nostr::Event;
19use nostr_sdk::ClientSigner;
19 20
21#[allow(clippy::struct_field_names)]
20pub struct Client { 22pub struct Client {
21 client: nostr_sdk::Client, 23 client: nostr_sdk::Client,
22 fallback_relays: Vec<String>, 24 fallback_relays: Vec<String>,
@@ -87,7 +89,9 @@ impl Connect for Client {
87 } 89 }
88 90
89 async fn set_keys(&mut self, keys: &nostr::Keys) { 91 async fn set_keys(&mut self, keys: &nostr::Keys) {
90 self.client.set_keys(keys).await; 92 self.client
93 .set_signer(Some(ClientSigner::Keys(keys.clone())))
94 .await;
91 } 95 }
92 96
93 async fn disconnect(&self) -> Result<()> { 97 async fn disconnect(&self) -> Result<()> {
@@ -104,7 +108,7 @@ impl Connect for Client {
104 } 108 }
105 109
106 async fn send_event_to(&self, url: &str, event: Event) -> Result<nostr::EventId> { 110 async fn send_event_to(&self, url: &str, event: Event) -> Result<nostr::EventId> {
107 self.client.add_relay(url, None).await?; 111 self.client.add_relay(url).await?;
108 self.client.connect_relay(url).await?; 112 self.client.connect_relay(url).await?;
109 Ok(self.client.send_event_to(url, event).await?) 113 Ok(self.client.send_event_to(url, event).await?)
110 } 114 }
@@ -117,7 +121,7 @@ impl Connect for Client {
117 // add relays 121 // add relays
118 for relay in &relays { 122 for relay in &relays {
119 self.client 123 self.client
120 .add_relay(relay.as_str(), None) 124 .add_relay(relay.as_str())
121 .await 125 .await
122 .context("cannot add relay")?; 126 .context("cannot add relay")?;
123 } 127 }
@@ -134,10 +138,6 @@ impl Connect for Client {
134 ) 138 )
135 }) 139 })
136 .map(|(relay, filters)| async { 140 .map(|(relay, filters)| async {
137 if !relay.is_connected().await {
138 relay.connect(false).await;
139 }
140
141 match get_events_of(relay, filters).await { 141 match get_events_of(relay, filters).await {
142 Err(error) => { 142 Err(error) => {
143 println!("{} {}", error, relay.url()); 143 println!("{} {}", error, relay.url());
@@ -159,7 +159,9 @@ async fn get_events_of(
159 filters: Vec<nostr::Filter>, 159 filters: Vec<nostr::Filter>,
160) -> Result<Vec<Event>> { 160) -> Result<Vec<Event>> {
161 println!("fetching from {}", relay.url()); 161 println!("fetching from {}", relay.url());
162 162 if !relay.is_connected().await {
163 relay.connect(None).await;
164 }
163 let events = relay 165 let events = relay
164 .get_events_of( 166 .get_events_of(
165 filters, 167 filters,
diff --git a/src/key_handling/users.rs b/src/key_handling/users.rs
index 42104f7..caa57e6 100644
--- a/src/key_handling/users.rs
+++ b/src/key_handling/users.rs
@@ -551,7 +551,7 @@ mod tests {
551 nostr::event::EventBuilder::new( 551 nostr::event::EventBuilder::new(
552 nostr::Kind::RelayList, 552 nostr::Kind::RelayList,
553 "", 553 "",
554 &[ 554 [
555 nostr::Tag::RelayMetadata( 555 nostr::Tag::RelayMetadata(
556 "wss://fredswrite1.relay".into(), 556 "wss://fredswrite1.relay".into(),
557 Some(nostr::RelayMetadata::Write), 557 Some(nostr::RelayMetadata::Write),
@@ -571,7 +571,7 @@ mod tests {
571 nostr::event::EventBuilder::new( 571 nostr::event::EventBuilder::new(
572 nostr::Kind::RelayList, 572 nostr::Kind::RelayList,
573 "", 573 "",
574 &[ 574 [
575 nostr::Tag::RelayMetadata( 575 nostr::Tag::RelayMetadata(
576 "wss://carolswrite1.relay".into(), 576 "wss://carolswrite1.relay".into(),
577 Some(nostr::RelayMetadata::Write), 577 Some(nostr::RelayMetadata::Write),
diff --git a/src/repo_ref.rs b/src/repo_ref.rs
index d12c681..22236f7 100644
--- a/src/repo_ref.rs
+++ b/src/repo_ref.rs
@@ -75,7 +75,7 @@ impl RepoRef {
75 nostr_sdk::EventBuilder::new( 75 nostr_sdk::EventBuilder::new(
76 nostr::event::Kind::Custom(REPO_REF_KIND), 76 nostr::event::Kind::Custom(REPO_REF_KIND),
77 "", 77 "",
78 &[ 78 [
79 vec![ 79 vec![
80 Tag::Identifier(self.root_commit.to_string()), 80 Tag::Identifier(self.root_commit.to_string()),
81 Tag::Reference(format!("r-{}", self.root_commit)), 81 Tag::Reference(format!("r-{}", self.root_commit)),
@@ -90,7 +90,7 @@ impl RepoRef {
90 self.relays.iter().map(|r| Tag::Relay(r.into())).collect(), 90 self.relays.iter().map(|r| Tag::Relay(r.into())).collect(),
91 self.maintainers 91 self.maintainers
92 .iter() 92 .iter()
93 .map(|pk| Tag::PubKey(*pk, None)) 93 .map(|pk| Tag::public_key(*pk))
94 .collect(), 94 .collect(),
95 // code languages and hashtags 95 // code languages and hashtags
96 ] 96 ]
diff --git a/src/sub_commands/prs/create.rs b/src/sub_commands/prs/create.rs
index ced1edd..ad6a61a 100644
--- a/src/sub_commands/prs/create.rs
+++ b/src/sub_commands/prs/create.rs
@@ -329,7 +329,7 @@ pub fn generate_pr_and_patch_events(
329 let pr_event = EventBuilder::new( 329 let pr_event = EventBuilder::new(
330 nostr::event::Kind::Custom(PR_KIND), 330 nostr::event::Kind::Custom(PR_KIND),
331 format!("{title}\r\n\r\n{description}"), 331 format!("{title}\r\n\r\n{description}"),
332 &pr_tags, 332 pr_tags,
333 // TODO: add Repo event as root 333 // TODO: add Repo event as root
334 // TODO: people tag maintainers 334 // TODO: people tag maintainers
335 // TODO: add relay tags 335 // TODO: add relay tags
@@ -364,15 +364,15 @@ pub fn generate_patch_event(
364 git_repo 364 git_repo
365 .make_patch_from_commit(commit) 365 .make_patch_from_commit(commit)
366 .context(format!("cannot make patch for commit {commit}"))?, 366 .context(format!("cannot make patch for commit {commit}"))?,
367 &[ 367 [
368 Tag::Reference(format!("r-{root_commit}")), 368 Tag::Reference(format!("r-{root_commit}")),
369 Tag::Reference(commit.to_string()), 369 Tag::Reference(commit.to_string()),
370 Tag::Reference(commit_parent.to_string()), 370 Tag::Reference(commit_parent.to_string()),
371 Tag::Event( 371 Tag::Event {
372 pr_event_id, 372 event_id: pr_event_id,
373 None, // TODO: add relay 373 relay_url: None, // TODO: add relay
374 Some(Marker::Root), 374 marker: Some(Marker::Root),
375 ), 375 },
376 Tag::Generic( 376 Tag::Generic(
377 TagKind::Custom("commit".to_string()), 377 TagKind::Custom("commit".to_string()),
378 vec![commit.to_string()], 378 vec![commit.to_string()],