From d1a88a390f0e15f42349099f37c6caedba813efd Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Fri, 23 May 2025 10:29:56 +0100 Subject: fix: ignore duplicate relays, blossom or git servers so we dont try and fetch from both --- src/lib/repo_ref.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/repo_ref.rs b/src/lib/repo_ref.rs index aa36bbb..bf52cda 100644 --- a/src/lib/repo_ref.rs +++ b/src/lib/repo_ref.rs @@ -76,6 +76,11 @@ impl TryFrom<(nostr::Event, Option)> for RepoRef { [t, name, ..] if t == "name" => r.name = name.clone(), [t, description, ..] if t == "description" => r.description = description.clone(), [t, clone @ ..] if t == "clone" => { + for git_server in clone { + if !r.git_server.contains(git_server) { + r.git_server.push(git_server.clone()); + } + } r.git_server = clone.to_vec(); } [t, web @ ..] if t == "web" => { @@ -99,14 +104,18 @@ impl TryFrom<(nostr::Event, Option)> for RepoRef { [t, relays @ ..] if t == "relays" => { for relay in relays { if let Ok(relay_url) = RelayUrl::parse(relay) { - r.relays.push(relay_url); + if !r.relays.contains(&relay_url) { + r.relays.push(relay_url); + } } } } [t, blossoms @ ..] if t == "blossoms" => { for b in blossoms { if let Ok(b) = Url::parse(b) { - r.blossoms.push(b); + if !r.blossoms.contains(&b) { + r.blossoms.push(b); + } } } } -- cgit v1.2.3