<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-server.git/lib/notifications.ts, branch master</title>
<subtitle>coinos server — legacy coinos.io backend (Lightning, on-chain, Liquid)</subtitle>
<id>https://git.coinos.io/coinos-server.git/atom?h=master</id>
<link rel='self' href='https://git.coinos.io/coinos-server.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/'/>
<updated>2026-09-14T20:19:52Z</updated>
<entry>
<title>printer: publish receipts at QoS 1 and clean LNURL metadata memos</title>
<updated>2026-09-14T20:19:52Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-09-14T20:19:52Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=19f73ae9cf2afffbbb2abc71eb80c6d5bdccca52'/>
<id>urn:sha1:19f73ae9cf2afffbbb2abc71eb80c6d5bdccca52</id>
<content type='text'>
Receipts were published at QoS 0, so a printer that was briefly offline
(WiFi blip, keepalive timeout) never received them. QoS 1 lets the broker
queue them for printers that hold a persistent session.

LNURL-pay invoices carry the raw metadata array as their memo when the
payer leaves no comment; unwrap the text/plain entry before printing.

Co-Authored-By: Claude Fable 5.1 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_011cCouc5ASRXHDp5esLciEK
</content>
</entry>
<entry>
<title>nwc: guard missing app record in the notification loop</title>
<updated>2026-07-31T02:47:00Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-07-31T02:47:00Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=c21685559ee814e95cb37a5660c73762a8db12c9'/>
<id>urn:sha1:c21685559ee814e95cb37a5660c73762a8db12c9</id>
<content type='text'>
A pubkey can be in `${uid}:apps` before its `app:&lt;pubkey&gt;` record is written
(NWC-connection creation race) or can outlive its record. Destructuring `notify`
off the null lookup threw, and since the catch wraps the whole loop it aborted
notifications for ALL of the user's apps. Skip null/absent apps and continue.

Co-Authored-By: Claude Opus 4.8 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>bolt12 zaps: pay offers, NWC pay/receive, per-user offers, NIP-44</title>
<updated>2026-07-30T15:51:36Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-07-30T15:51:36Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=add3ad93ff37f1daaedab5788f00663be299555c'/>
<id>urn:sha1:add3ad93ff37f1daaedab5788f00663be299555c</id>
<content type='text'>
- sendLightning fetches an invoice from lno1 offers (payer_note passthrough
  for NIP-177 zap intents) and pays it through the existing bolt12 path
- NWC: new nwc#2 pay/receive methods (BIP-321 URIs, payer proofs stubbed
  until CLN 26.06 createproof), nip44_v2 alongside nip04 with per-request
  scheme detection, dual 23196/23197 notifications, 13194 refreshed when
  its content or encryption tag goes stale
- standing per-user bolt12 offer via GET /offer; incoming bolt12 payments
  record invreq_payer_note as memo
- parse/fetchinvoice routes handle offers; zap display parses kind 9736
  receipts (amount tag + embedded intent) and drops a call to a sync()
  helper that never existed

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>remove logs</title>
<updated>2026-03-17T06:53:13Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-03-17T06:53:13Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=92e7d1564deb25f9e58e3b268c077018c4b2c4c4'/>
<id>urn:sha1:92e7d1564deb25f9e58e3b268c077018c4b2c4c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rotate server key</title>
<updated>2025-09-30T04:50:57Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-09-30T04:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=481dec5b1cfa2a085dda500ce0c390b38cb4a8b0'/>
<id>urn:sha1:481dec5b1cfa2a085dda500ce0c390b38cb4a8b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>opt in nwc notifications</title>
<updated>2025-03-12T22:19:05Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-03-12T22:19:05Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=48001868b418c500d96801bf31b5f7b5c4f4d79c'/>
<id>urn:sha1:48001868b418c500d96801bf31b5f7b5c4f4d79c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>notification timestamps in seconds</title>
<updated>2025-03-12T15:52:35Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-03-12T15:52:35Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=69c2e2c0066304679abacd8314fe4de9dcb71287'/>
<id>urn:sha1:69c2e2c0066304679abacd8314fe4de9dcb71287</id>
<content type='text'>
</content>
</entry>
<entry>
<title>log notifications</title>
<updated>2025-03-08T19:26:22Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-03-08T19:26:20Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=fdc3cd5ec694928c370a6f545a911fab34273789'/>
<id>urn:sha1:fdc3cd5ec694928c370a6f545a911fab34273789</id>
<content type='text'>
</content>
</entry>
<entry>
<title>encrypt nwc notifications</title>
<updated>2025-02-27T17:38:41Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-02-27T17:38:41Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=d1c65a4e27cf3d67152caefbc1856dd47c38fe93'/>
<id>urn:sha1:d1c65a4e27cf3d67152caefbc1856dd47c38fe93</id>
<content type='text'>
</content>
</entry>
<entry>
<title>nwc notifications</title>
<updated>2025-02-12T04:07:21Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2025-02-12T04:07:21Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=eb3c2aad4cef9b86294bc9a13a36da4918529209'/>
<id>urn:sha1:eb3c2aad4cef9b86294bc9a13a36da4918529209</id>
<content type='text'>
</content>
</entry>
</feed>
