From 5f45edbebe310decb06f955d95665a6ad387c6cb Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Sat, 31 May 2025 15:34:21 +0100 Subject: feat(push): prevent push if no ann event To ensure additional maintainers publish an annoucement event, require it for them to push --- src/lib/client.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/lib/client.rs') diff --git a/src/lib/client.rs b/src/lib/client.rs index bfa7b33..3b613b6 100644 --- a/src/lib/client.rs +++ b/src/lib/client.rs @@ -985,6 +985,9 @@ pub async fn get_repo_ref_from_cache( .collect(); let mut seen_blossoms: HashSet = HashSet::from_iter(blossoms.iter().cloned()); + // also set maintainers_without_annoucnement + let mut maintainers_without_annoucnement: Vec = vec![]; + for m in &maintainers { if let Some(event) = repo_events.iter().find(|e| e.pubkey == *m) { if let Ok(m_repo_ref) = RepoRef::try_from((event.clone(), None)) { @@ -1004,6 +1007,8 @@ pub async fn get_repo_ref_from_cache( } } } + } else { + maintainers_without_annoucnement.push(*m); } } @@ -1014,6 +1019,7 @@ pub async fn get_repo_ref_from_cache( relays, git_server, events, + maintainers_without_annoucnement: Some(maintainers_without_annoucnement), ..repo_ref }) } -- cgit v1.2.3