Does anyone have insight into how to purge ghost "reads" from @primal? My profile shows 3 reads, two of which I deleted long ago, and one was a misfire from today.
Shawn
_@shawnyeager.com
npub1clk6...pup9
Bitcoin is the foundation of what comes next.
I fix revenue engines for founders building on it.
Host of trustrevolution.co.
There's no place like home.
NIP-46 wins this round. I am humbled.
gm, good people. ☕
Reminiscing about the abusive ex from your 20s and the good times you had, despite it all.
Reminiscing about X.
Same energy.
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. ☕
Anthropic blocked Opencode <> Claude Code non-API (Max Plan) integration.
I create an issue. 5 hours, 700 interactions, and 200 comments later, Claude Code PM closes the issue.
lol.

GitHub
[Feature Request] Support for OpenCode and Max plan · Issue #17118 · anthropics/claude-code
Bug Description Blocking use of Max plan with Opencode will almost certainly result in me downgrading or cancelling outright as I find other models...
Open wins.
It may not be obvious. It may not be quick, but in the end, open wins.
Be unreasonably good at one job.


Shawn Yeager
Be unreasonably good at one job
Find the one job. Nail it. Let the numbers make the case.
gm, good people. ☕ Happy Friday.
My new go-to bar. Excellent. @Samah strikes again.



