From 9171824ee5ee6c4626986c5a44ed1893420208dc Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Mon, 1 Jun 2026 13:31:00 -0700 Subject: [PATCH] Fix nip98 --- backend/.env.template | 3 +-- backend/src/api.rs | 4 ++-- backend/src/env.rs | 4 ++-- backend/src/main.rs | 10 ++++------ frontend/src/lib/hooks.ts | 2 +- frontend/src/pages/admin/AdminRelayList.tsx | 2 +- 6 files changed, 11 insertions(+), 14 deletions(-) diff --git a/backend/.env.template b/backend/.env.template index d05e272..3c15293 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -1,9 +1,8 @@ # Server -SERVER_HOST=127.0.0.1 +SERVER_URL=http://127.0.0.1:2892 SERVER_PORT=2892 SERVER_ALLOW_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 SERVER_ADMIN_PUBKEYS= -APP_URL=http://localhost:5173 # Database DATABASE_URL=sqlite://data/caravel.db diff --git a/backend/src/api.rs b/backend/src/api.rs index 52e5887..9bc5ad1 100644 --- a/backend/src/api.rs +++ b/backend/src/api.rs @@ -174,7 +174,7 @@ impl Api { ensure!(event.kind == Kind::HttpAuth, "invalid nip98 kind"); event.verify()?; - let got_u = event + let actual_u = event .tags .iter() .filter_map(|tag| { @@ -185,7 +185,7 @@ impl Api { .ok_or_else(|| anyhow!("missing u tag"))?; ensure!( - got_u == env::get().server_host, + actual_u == env::get().server_url, "authorization host mismatch" ); diff --git a/backend/src/env.rs b/backend/src/env.rs index e03870d..31ddaea 100644 --- a/backend/src/env.rs +++ b/backend/src/env.rs @@ -21,7 +21,7 @@ pub fn get() -> &'static Env { #[derive(Clone)] pub struct Env { - pub server_host: String, + pub server_url: String, pub server_port: u16, pub server_admin_pubkeys: Vec, pub server_allow_origins: Vec, @@ -55,7 +55,7 @@ impl Env { .expect("ROBOT_SECRET is not a valid nostr secret key"); Self { - server_host: require_str("SERVER_HOST"), + server_url: require_str("SERVER_URL"), server_port: require_u16("SERVER_PORT"), server_admin_pubkeys: require_csv("SERVER_ADMIN_PUBKEYS"), server_allow_origins: require_csv("SERVER_ALLOW_ORIGINS"), diff --git a/backend/src/main.rs b/backend/src/main.rs index 2188bcb..6c864b0 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -61,12 +61,10 @@ async fn main() -> Result<()> { billing.start().await; }); - let listener = tokio::net::TcpListener::bind(format!( - "{}:{}", - env::get().server_host, - env::get().server_port - )) - .await?; + let url = format!("127.0.0.1:{}", env::get().server_port); + let listener = tokio::net::TcpListener::bind(url).await?; + axum::serve(listener, app).await?; + Ok(()) } diff --git a/frontend/src/lib/hooks.ts b/frontend/src/lib/hooks.ts index c86c729..7aacfe6 100644 --- a/frontend/src/lib/hooks.ts +++ b/frontend/src/lib/hooks.ts @@ -116,7 +116,7 @@ export const createRelayForActiveTenant = (input: CreateRelayInput) => { } const overrides = { - tenant: account()!.pubkey, + tenant_pubkey: account()!.pubkey, blossom_enabled: input.plan_id === "free" ? 0 : 1, livekit_enabled: input.plan_id === "free" ? 0 : 1, } diff --git a/frontend/src/pages/admin/AdminRelayList.tsx b/frontend/src/pages/admin/AdminRelayList.tsx index 5ac0f48..0db76bc 100644 --- a/frontend/src/pages/admin/AdminRelayList.tsx +++ b/frontend/src/pages/admin/AdminRelayList.tsx @@ -16,7 +16,7 @@ export default function AdminRelayList() { const list = relays() ?? [] const q = query().trim() if (!q) return list - return new Fuse(list, { keys: ["info_name", "subdomain", "tenant"], threshold: 0.35, ignoreLocation: true }).search(q).map(r => r.item) + return new Fuse(list, { keys: ["info_name", "subdomain", "tenant_pubkey"], threshold: 0.35, ignoreLocation: true }).search(q).map(r => r.item) }) return (