chore: Remove the vector parameter from add_{read,write}_relays
Signed-off-by: Awiteb <a@4rs.nl>
This commit is contained in:
@@ -103,14 +103,15 @@ impl CommandRunner for NewArgs {
|
|||||||
client.add_relays(&naddrs.extract_relays()).await;
|
client.add_relays(&naddrs.extract_relays()).await;
|
||||||
|
|
||||||
let relays_list = client.user_relays_list(user_pubk).await?;
|
let relays_list = client.user_relays_list(user_pubk).await?;
|
||||||
let mut write_relays =
|
let mut write_relays = [
|
||||||
utils::add_write_relays(options.relays.clone(), relays_list.as_ref());
|
options.relays,
|
||||||
write_relays.extend(
|
utils::add_write_relays(relays_list.as_ref()),
|
||||||
client
|
client
|
||||||
.fetch_repos(&naddrs.into_coordinates())
|
.fetch_repos(&naddrs.into_coordinates())
|
||||||
.await?
|
.await?
|
||||||
.extract_relays(),
|
.extract_relays(),
|
||||||
);
|
]
|
||||||
|
.concat();
|
||||||
|
|
||||||
let (subject, content) = self.issue_content()?;
|
let (subject, content) = self.issue_content()?;
|
||||||
let content_details = client.parse_content(&content).await;
|
let content_details = client.parse_content(&content).await;
|
||||||
@@ -121,7 +122,7 @@ impl CommandRunner for NewArgs {
|
|||||||
future::join_all(
|
future::join_all(
|
||||||
naddrs_iter
|
naddrs_iter
|
||||||
.clone()
|
.clone()
|
||||||
.map(|c| client.read_relays_from_user(Vec::new(), c.public_key)),
|
.map(|c| client.read_relays_from_user(c.public_key)),
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|||||||
@@ -136,8 +136,11 @@ impl CommandRunner for ReplyArgs {
|
|||||||
client.add_relays(&self.to.relays).await;
|
client.add_relays(&self.to.relays).await;
|
||||||
|
|
||||||
let relays_list = client.user_relays_list(user_pubk).await?;
|
let relays_list = client.user_relays_list(user_pubk).await?;
|
||||||
let mut write_relays =
|
let mut write_relays = [
|
||||||
utils::add_write_relays(options.relays.clone(), relays_list.as_ref());
|
options.relays,
|
||||||
|
utils::add_write_relays(relays_list.as_ref()),
|
||||||
|
]
|
||||||
|
.concat();
|
||||||
|
|
||||||
let reply_to = client
|
let reply_to = client
|
||||||
.fetch_event(Filter::new().id(self.to.event_id))
|
.fetch_event(Filter::new().id(self.to.event_id))
|
||||||
@@ -161,20 +164,16 @@ impl CommandRunner for ReplyArgs {
|
|||||||
future::join_all(
|
future::join_all(
|
||||||
repos_coordinate
|
repos_coordinate
|
||||||
.iter()
|
.iter()
|
||||||
.map(|c| client.read_relays_from_user(Vec::new(), c.public_key)),
|
.map(|c| client.read_relays_from_user(c.public_key)),
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.flatten(),
|
.flatten(),
|
||||||
);
|
);
|
||||||
|
|
||||||
write_relays = client
|
write_relays.extend(client.read_relays_from_user(reply_to.pubkey).await);
|
||||||
.read_relays_from_user(write_relays, reply_to.pubkey)
|
|
||||||
.await;
|
|
||||||
if let Some(root_event) = &root {
|
if let Some(root_event) = &root {
|
||||||
write_relays = client
|
write_relays.extend(client.read_relays_from_user(root_event.pubkey).await);
|
||||||
.read_relays_from_user(write_relays, root_event.pubkey)
|
|
||||||
.await;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let quoted_content = if self.quote_to {
|
let quoted_content = if self.quote_to {
|
||||||
@@ -199,7 +198,7 @@ impl CommandRunner for ReplyArgs {
|
|||||||
.build(user_pubk);
|
.build(user_pubk);
|
||||||
|
|
||||||
let event_id = event.id.expect("There is an id");
|
let event_id = event.id.expect("There is an id");
|
||||||
let author_read_relays = utils::add_read_relays(Vec::new(), relays_list.as_ref());
|
let author_read_relays = utils::add_read_relays(relays_list.as_ref());
|
||||||
|
|
||||||
tracing::trace!(relays = ?write_relays, "Write relays list");
|
tracing::trace!(relays = ?write_relays, "Write relays list");
|
||||||
let (success, ..) = futures::join!(
|
let (success, ..) = futures::join!(
|
||||||
|
|||||||
@@ -84,8 +84,11 @@ impl CommandRunner for AnnounceArgs {
|
|||||||
let client = NostrClient::init(&options).await;
|
let client = NostrClient::init(&options).await;
|
||||||
let user_pubk = options.pubkey().await?;
|
let user_pubk = options.pubkey().await?;
|
||||||
let relays_list = client.user_relays_list(user_pubk).await?;
|
let relays_list = client.user_relays_list(user_pubk).await?;
|
||||||
let mut write_relays =
|
let mut write_relays = [
|
||||||
utils::add_write_relays(options.relays.clone(), relays_list.as_ref());
|
options.relays.clone(),
|
||||||
|
utils::add_write_relays(relays_list.as_ref()),
|
||||||
|
]
|
||||||
|
.concat();
|
||||||
|
|
||||||
if !self.maintainers.contains(&user_pubk) {
|
if !self.maintainers.contains(&user_pubk) {
|
||||||
self.maintainers.insert(0, user_pubk);
|
self.maintainers.insert(0, user_pubk);
|
||||||
@@ -96,7 +99,7 @@ impl CommandRunner for AnnounceArgs {
|
|||||||
future::join_all(
|
future::join_all(
|
||||||
self.maintainers
|
self.maintainers
|
||||||
.iter()
|
.iter()
|
||||||
.map(|pkey| client.read_relays_from_user(Vec::new(), *pkey)),
|
.map(|pkey| client.read_relays_from_user(*pkey)),
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ impl ContentDetails {
|
|||||||
tags.extend(self.hashtags.into_iter().map(Tag::hashtag));
|
tags.extend(self.hashtags.into_iter().map(Tag::hashtag));
|
||||||
tags.extend(self.p_tagged.into_iter().map(Tag::public_key));
|
tags.extend(self.p_tagged.into_iter().map(Tag::public_key));
|
||||||
tags.extend(self.quotes.into_iter().map(|(event_id, relay_url)| {
|
tags.extend(self.quotes.into_iter().map(|(event_id, relay_url)| {
|
||||||
|
// TODO: Add the author public key if we know it
|
||||||
Tag::from_standardized(TagStandard::Quote {
|
Tag::from_standardized(TagStandard::Quote {
|
||||||
event_id,
|
event_id,
|
||||||
relay_url,
|
relay_url,
|
||||||
@@ -281,16 +282,10 @@ impl NostrClient {
|
|||||||
.map(|e| e.pubkey))
|
.map(|e| e.pubkey))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Adds read relays from the user to the given vector of relays.
|
/// Returns the read relays of the given user if found, otherwise empty
|
||||||
pub async fn read_relays_from_user(
|
/// vector
|
||||||
&self,
|
pub async fn read_relays_from_user(&self, user: PublicKey) -> Vec<RelayUrl> {
|
||||||
vector: Vec<RelayUrl>,
|
utils::add_read_relays(self.user_relays_list(user).await.ok().flatten().as_ref())
|
||||||
user: PublicKey,
|
|
||||||
) -> Vec<RelayUrl> {
|
|
||||||
utils::add_read_relays(
|
|
||||||
vector,
|
|
||||||
self.user_relays_list(user).await.ok().flatten().as_ref(),
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Parse the given content and returns the details that inside it
|
/// Parse the given content and returns the details that inside it
|
||||||
@@ -313,14 +308,14 @@ impl NostrClient {
|
|||||||
|
|
||||||
for (user, relays) in &p_tagged_users {
|
for (user, relays) in &p_tagged_users {
|
||||||
self.add_relays(relays).await;
|
self.add_relays(relays).await;
|
||||||
write_relays = self.read_relays_from_user(write_relays, *user).await
|
write_relays.extend(self.read_relays_from_user(*user).await);
|
||||||
}
|
}
|
||||||
for (event_id, relays) in "es {
|
for (event_id, relays) in "es {
|
||||||
self.add_relays(relays).await;
|
self.add_relays(relays).await;
|
||||||
// Add the event author to the p-tagged users
|
// Add the event author to the p-tagged users
|
||||||
if let Ok(Some(author)) = self.event_author(*event_id).await {
|
if let Ok(Some(author)) = self.event_author(*event_id).await {
|
||||||
p_tagged_users.push((author, Vec::new()));
|
p_tagged_users.push((author, Vec::new()));
|
||||||
write_relays = self.read_relays_from_user(write_relays, author).await;
|
write_relays.extend(self.read_relays_from_user(author).await);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -140,8 +140,10 @@ pub fn repo_naddr(
|
|||||||
.map_err(N34Error::from)
|
.map_err(N34Error::from)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Extends the given vector with write relays found in the event (if any).
|
/// Extracts write relay URLs from an event if present, otherwise returns an
|
||||||
pub fn add_write_relays(mut vector: Vec<RelayUrl>, event: Option<&Event>) -> Vec<RelayUrl> {
|
/// empty vector.
|
||||||
|
pub fn add_write_relays(event: Option<&Event>) -> Vec<RelayUrl> {
|
||||||
|
let mut vector = Vec::new();
|
||||||
if let Some(event) = event {
|
if let Some(event) = event {
|
||||||
vector.extend(
|
vector.extend(
|
||||||
nip65::extract_owned_relay_list(event.clone())
|
nip65::extract_owned_relay_list(event.clone())
|
||||||
@@ -151,8 +153,10 @@ pub fn add_write_relays(mut vector: Vec<RelayUrl>, event: Option<&Event>) -> Vec
|
|||||||
vector
|
vector
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Extends the given vector with read relays found in the event (if any).
|
/// Extracts read relay URLs from an event if present, otherwise returns an
|
||||||
pub fn add_read_relays(mut vector: Vec<RelayUrl>, event: Option<&Event>) -> Vec<RelayUrl> {
|
/// empty vector.
|
||||||
|
pub fn add_read_relays(event: Option<&Event>) -> Vec<RelayUrl> {
|
||||||
|
let mut vector = Vec::new();
|
||||||
if let Some(event) = event {
|
if let Some(event) = event {
|
||||||
vector.extend(
|
vector.extend(
|
||||||
nip65::extract_owned_relay_list(event.clone())
|
nip65::extract_owned_relay_list(event.clone())
|
||||||
|
|||||||
Reference in New Issue
Block a user