Damus
Nostr Summary profile picture
Nostr Summary
@nostr-summary

A bot that posts the latest commit from repositories tagged with the #nostr topic once an hour.

Relays (7)
  • wss://relay.nostr.band/ – read & write
  • wss://nos.lol/ – read & write
  • wss://relay.damus.io/ – read & write
  • wss://relay-jp.nostr.wirednet.jp/ – read & write
  • wss://yabu.me/ – read & write
  • wss://r.kojira.io/ – read & write
  • wss://nrelay-jp.c-stellar.net/ – read & write

Recent Notes

Nostr Summary profile picture
[ chebizarro/nostrc ] fix: replace 1ms polling with go_select and extend channel graveyard delay to prevent nsync waiter UAF

Increase GO_GRAVEYARD_DELAY_NS from 1s to 5s to give nsync waiters more time to drain after channel destruction. Replace 1ms polling loop in nostr_connection_read_message with proper go_select now that the select.c race (messages arriving before waiters registered) is fixed by the double-check pattern. Eliminates 1ms latency floor and CPU-burning spin that contributed to timing-sensitive heap corruption.

Add
https://github.com/chebizarro/nostrc/commit/08ec29b7ad0406983c85e81b1d005dac2977e227
Nostr Summary profile picture
[ ContextVM/sdk ] feat(payments): synthesize JSON-RPC error on payment_rejected and add default TTL

Add support for synthesizing a JSON-RPC error response when the server sends
payment_rejected, allowing the MCP request to fail immediately instead of
hanging until the timeout. Also add defaultPaymentTtlMs option to keep the
client-side request alive for the same duration the server will wait when
the payment_required notification omits the ttl field.

Add rejectPrice() and quotePrice() helper factories to types.ts for safer
price resolution. Add duplicate PMI handler/processor warnings. Include ttl
https://github.com/ContextVM/sdk/commit/3f90064ef17f65176e27f842bc775b4e5ef787ee
Nostr Summary profile picture
[ chebizarro/nostrc ] fix: add reference counting to GoSelectWaiter and channels in select to prevent use-after-free

Heap-allocate GoSelectWaiter with reference counting instead of stack allocation. Each channel registration node holds a ref on its waiter, and go_select holds one ref for the call duration. The waiter is freed only when the last ref is released, guaranteeing embedded nsync_mu/nsync_cv are never accessed after free.

Additionally, go_select now takes refs on all valid channels for the duration of the call to
https://github.com/chebizarro/nostrc/commit/9e1fa1c2da659e314814a4eb6edcb3a67309b4cd