From bf088532dc59c4034e326263324f507f147fefba Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Thu, 2 Oct 2025 09:02:55 -0400 Subject: [PATCH] Fix watch history publish errors against nostr-tools 1.8 --- js/nostrPublish.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/js/nostrPublish.js b/js/nostrPublish.js index b8a9d4cc..5faa25f3 100644 --- a/js/nostrPublish.js +++ b/js/nostrPublish.js @@ -115,11 +115,18 @@ export function publishEventToRelay(pool, url, event, options = {}) { let handlerRegistered = false; handlerRegistered = registerHandler("ok", handleSuccess) || handlerRegistered; - handlerRegistered = - registerHandler("seen", handleSuccess) || handlerRegistered; handlerRegistered = registerHandler("failed", handleFailure) || handlerRegistered; + // nostr-tools@1.8 removed the optional "seen" callback from relay + // publish handles. Attempting to register it now produces an + // asynchronous TypeError that bubbles up as an unhandled rejection and + // prevents watch-history snapshots from ever resolving. We therefore + // skip registering a "seen" listener and rely on "ok" (per NIP-20) for + // success notifications. Legacy relays that only emit "seen" fall back + // to the optimistic success path below because no handlers end up + // registered. + if (handlerRegistered) { return; }