From a55d4150066456084fd18987acf014c18d0da976 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Tue, 3 Mar 2026 13:08:56 +0000 Subject: add nostr.repo-relay-only config to limit publishing to repo relays Adds a git config key nostr.repo-relay-only that, when set to true, causes nostr events to be sent only to the repository's own relays, skipping the user's personal write relays and default/blaster relays. Useful for repositories that should not broadcast to the maintainer's personal relay set. Set persistently via \`git config nostr.repo-relay-only true\` or in one step with \`ngit init --repo-relay-only\`. --- src/bin/git_remote_nostr/push.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/bin/git_remote_nostr') diff --git a/src/bin/git_remote_nostr/push.rs b/src/bin/git_remote_nostr/push.rs index ed0f7df..3b5e05d 100644 --- a/src/bin/git_remote_nostr/push.rs +++ b/src/bin/git_remote_nostr/push.rs @@ -402,6 +402,13 @@ async fn create_and_publish_events_and_proposals( // TODO check whether tip of each branch pushed is on at least one git server // before broadcasting the nostr state + let repo_relay_only = + if let Ok(Some(v)) = git_repo.get_git_config_item("nostr.repo-relay-only", None) { + v == "true" + } else { + false + }; + let relay_results = if events.is_empty() { vec![] } else { @@ -409,7 +416,11 @@ async fn create_and_publish_events_and_proposals( client, Some(git_repo.get_path()?), events, - user_ref.relays.write(), + if repo_relay_only { + vec![] + } else { + user_ref.relays.write() + }, repo_ref.relays.clone(), true, false, -- cgit v1.2.3