commit 1250d06a8267974ee9ec98a3728aacce6f3f0c94
parent 1f7704a69b4421c1fa543e5f77b6c94bfdd2dec6
Author: triesap <tyson@radroots.org>
Date: Wed, 7 Jan 2026 17:36:25 +0000
nostr: add relay tags to nip89 builder
- extend handler spec with relays and nostrconnect_url
- emit relay tags for configured relay list
- emit nostrconnect_url tag when set
- preserve metadata content and extra tags
Diffstat:
1 file changed, 17 insertions(+), 0 deletions(-)
diff --git a/nostr/src/events/application_handler.rs b/nostr/src/events/application_handler.rs
@@ -15,6 +15,8 @@ pub struct RadrootsNostrApplicationHandlerSpec {
pub identifier: Option<String>,
pub metadata: Option<RadrootsNostrMetadata>,
pub extra_tags: Vec<Vec<String>>,
+ pub relays: Vec<String>,
+ pub nostrconnect_url: Option<String>,
}
impl RadrootsNostrApplicationHandlerSpec {
@@ -24,6 +26,8 @@ impl RadrootsNostrApplicationHandlerSpec {
identifier: None,
metadata: None,
extra_tags: Vec::new(),
+ relays: Vec::new(),
+ nostrconnect_url: None,
}
}
}
@@ -54,6 +58,19 @@ pub fn radroots_nostr_build_application_handler_event(
for kind in &spec.kinds {
tags.push(vec!["k".to_string(), kind.to_string()]);
}
+ for relay in &spec.relays {
+ let relay = relay.trim();
+ if relay.is_empty() {
+ continue;
+ }
+ tags.push(vec!["relay".to_string(), relay.to_string()]);
+ }
+ if let Some(url) = spec.nostrconnect_url.as_ref() {
+ let url = url.trim();
+ if !url.is_empty() {
+ tags.push(vec!["nostrconnect_url".to_string(), url.to_string()]);
+ }
+ }
for tag in &spec.extra_tags {
if tag.is_empty() {
continue;