commit e67b04e86f5d7f7b8c40f5bac325fb091b8261db
parent c04d907f26aca84c1d0403b820780676bec7739c
Author: triesap <tyson@radroots.org>
Date: Sun, 15 Feb 2026 16:03:02 +0000
nip89: add configurable identifier and extra tags to nip46
Diffstat:
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/app/config.rs b/src/app/config.rs
@@ -33,6 +33,10 @@ fn default_nip46_perms() -> Vec<String> {
Vec::new()
}
+fn default_nip46_nip89_extra_tags() -> Vec<Vec<String>> {
+ Vec::new()
+}
+
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct Nip46Config {
#[serde(default = "default_nip46_session_ttl_secs")]
@@ -41,6 +45,10 @@ pub struct Nip46Config {
pub perms: Vec<String>,
#[serde(default)]
pub nostrconnect_url: Option<String>,
+ #[serde(default)]
+ pub nip89_identifier: Option<String>,
+ #[serde(default = "default_nip46_nip89_extra_tags")]
+ pub nip89_extra_tags: Vec<Vec<String>>,
}
impl Default for Nip46Config {
@@ -49,6 +57,8 @@ impl Default for Nip46Config {
session_ttl_secs: default_nip46_session_ttl_secs(),
perms: default_nip46_perms(),
nostrconnect_url: None,
+ nip89_identifier: None,
+ nip89_extra_tags: default_nip46_nip89_extra_tags(),
}
}
}
diff --git a/src/app/runtime.rs b/src/app/runtime.rs
@@ -96,9 +96,9 @@ pub async fn run() -> Result<()> {
let nip46_kind = RadrootsNostrKind::NostrConnect.as_u16() as u32;
let handler_spec = RadrootsNostrApplicationHandlerSpec {
kinds: vec![nip46_kind],
- identifier: None,
+ identifier: nip46_config.nip89_identifier.clone(),
metadata: Some(md.clone()),
- extra_tags: Vec::new(),
+ extra_tags: nip46_config.nip89_extra_tags.clone(),
relays,
nostrconnect_url: nip46_config.nostrconnect_url.clone(),
};