From 1675cb8a24032553361d1e0ffa4696097a206d9b Mon Sep 17 00:00:00 2001 From: alltheseas Date: Mon, 9 Mar 2026 11:42:15 -0500 Subject: [PATCH] fix: include relay hint in naddr for app events All encodeShareableIdentifier calls passed empty relay lists, causing other Nostr clients to fail resolving NIP-82 app events since they don't know to query relay.zapstore.dev. Adds kDefaultRelay constant with invariant comment and uses it for app naddr encoding (app_card, app_detail_screen). Stack naddr calls (user_screen, app_stack_container) keep empty relay lists since stacks live on social relays, not the app catalog relay. Closes #343 Co-Authored-By: Claude Opus 4.6 --- lib/constants/app_constants.dart | 6 ++++++ lib/screens/app_detail_screen.dart | 2 +- lib/widgets/app_card.dart | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/constants/app_constants.dart b/lib/constants/app_constants.dart index a144b94..64f84e1 100644 --- a/lib/constants/app_constants.dart +++ b/lib/constants/app_constants.dart @@ -39,6 +39,12 @@ bool appStackEventFilter(Map event) { return false; } +/// Authoritative relay for NIP-82 software application events (kind 32267). +/// Used as the relay hint in naddr encoding so other clients can resolve app events. +/// Invariant: all Zapstore-published app events are available on this relay. +/// Stack events (social relays) should NOT use this hint. +const kDefaultRelay = 'wss://relay.zapstore.dev'; + /// Amber signer package ID const kAmberPackageId = 'com.greenart7c3.nostrsigner'; diff --git a/lib/screens/app_detail_screen.dart b/lib/screens/app_detail_screen.dart index be36b25..59c2135 100644 --- a/lib/screens/app_detail_screen.dart +++ b/lib/screens/app_detail_screen.dart @@ -633,7 +633,7 @@ class _AppDetailContent extends HookConsumerWidget { identifier: app.identifier, author: app.pubkey, kind: app.event.kind, - relays: [], + relays: const [kDefaultRelay], ), ); return 'https://zapstore.dev/apps/$naddr'; diff --git a/lib/widgets/app_card.dart b/lib/widgets/app_card.dart index f4f0581..ca0d451 100644 --- a/lib/widgets/app_card.dart +++ b/lib/widgets/app_card.dart @@ -66,7 +66,7 @@ class AppCard extends HookConsumerWidget { identifier: app!.identifier, author: app!.pubkey, kind: app!.event.kind, - relays: const [], + relays: const [kDefaultRelay], ), ); context.push('/$first/app/$naddr');