Reminiscing about the abusive ex from your 20s and the good times you had, despite it all.
Reminiscing about X.
Same energy.
Shawn
Shawn
_@shawnyeager.com
npub1clk6...pup9
Working toward a future built on Bitcoin.
Helping founders on the same mission.
Hosting trustrevolution.co.
Building trustatlas.org.
Working on hugostr β a CLI tool that publishes Hugo blog posts to nostr as kind:30023 events. It uses NIP-46 (remote signing) so users can sign events with their phone (Amber, Primal, et al).
The flow and where I'm stuck
1. User runs hugostr publish content/post.md
2. CLI displays a QR code with nostrconnect:// URI
3. User scans with Amber, approves the connection
4. CLI shows "Connected!" β
5. CLI shows "Requesting signature..." then hangs forever β
6. Amber never shows a signing prompt
Technical details
- Using nostr-tools library (v2.19.4) with BunkerSigner
- Relay: wss://relay.nsec.app
- The initial NIP-46 handshake completes successfully
- When calling bunkerSigner.signEvent(), it should:
1. Publish a kind:24133 event with encrypted sign_event request
2. Amber receives it, prompts user, sends back signed event
3. But step 2 never happens - Amber doesn't see the request
What I've tried
1. nostr-tools BunkerSigner - connection works, signing hangs
2. NDK's NDKNip46Signer - same issue
3. Checked relay connectivity - pool.publish() works in isolation
4. Added reconnection logic after connection - no change
Suspected causes
1. Pool/WebSocket connection state gets corrupted after the initial handshake
2. Subscription filter issue (Amber uses since = now())
3. Something specific to how nostr-tools manages the post-connection subscription
What would help
- Anyone who has successfully used NIP-46 client-initiated flow (nostrconnect://) from Node.js with Amber
- A working reference implementation to compare against
- Insight into common NIP-46 pitfalls
Halp? #asknostr
#tunestr
gm, good people. β
