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:
authorDanConwayDev <DanConwayDev@protonmail.com>2024-12-02 05:58:58 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2024-12-02 05:58:58 +0000
commit830056c10111c6b2049513323e7e7dba81260138 (patch)
tree8a7e66593aef942b239e39bebef3226ad1d63b5d /src
parent8c763d0483309c85a32a7f4a20ba0279083ee40f (diff)
fix(repo_ref): `try_from` capture `euc`
if there is no marker or "euc". also capture name and description even if there are additional items in the tag array.
Diffstat (limited to 'src')
-rw-r--r--src/lib/repo_ref.rs14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/lib/repo_ref.rs b/src/lib/repo_ref.rs
index d566b43..69fbe64 100644
--- a/src/lib/repo_ref.rs
+++ b/src/lib/repo_ref.rs
@@ -57,9 +57,9 @@ impl TryFrom<(nostr::Event, Option<PublicKey>)> for RepoRef {
57 57
58 for tag in event.tags.iter() { 58 for tag in event.tags.iter() {
59 match tag.as_slice() { 59 match tag.as_slice() {
60 [t, id] if t == "d" => r.identifier = id.clone(), 60 [t, id, ..] if t == "d" => r.identifier = id.clone(),
61 [t, name] if t == "name" => r.name = name.clone(), 61 [t, name, ..] if t == "name" => r.name = name.clone(),
62 [t, description] if t == "description" => r.description = description.clone(), 62 [t, description, ..] if t == "description" => r.description = description.clone(),
63 [t, clone @ ..] if t == "clone" => { 63 [t, clone @ ..] if t == "clone" => {
64 r.git_server = clone.to_vec(); 64 r.git_server = clone.to_vec();
65 } 65 }
@@ -73,6 +73,14 @@ impl TryFrom<(nostr::Event, Option<PublicKey>)> for RepoRef {
73 { 73 {
74 r.root_commit = commit_id.clone(); 74 r.root_commit = commit_id.clone();
75 } 75 }
76 [t, commit_id, marker]
77 if t == "r"
78 && marker == "euc"
79 && commit_id.len() == 40
80 && git2::Oid::from_str(commit_id).is_ok() =>
81 {
82 r.root_commit = commit_id.clone();
83 }
76 [t, relays @ ..] if t == "relays" => { 84 [t, relays @ ..] if t == "relays" => {
77 for relay in relays { 85 for relay in relays {
78 if let Ok(relay_url) = RelayUrl::parse(relay) { 86 if let Ok(relay_url) = RelayUrl::parse(relay) {