<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coinos-server.git/routes/users.ts, branch regtest-fulcrum</title>
<subtitle>coinos server — legacy coinos.io backend (Lightning, on-chain, Liquid)</subtitle>
<id>https://git.coinos.io/coinos-server.git/atom?h=regtest-fulcrum</id>
<link rel='self' href='https://git.coinos.io/coinos-server.git/atom?h=regtest-fulcrum'/>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/'/>
<updated>2026-06-13T21:21:49Z</updated>
<entry>
<title>users: add authenticated self-delete endpoint</title>
<updated>2026-06-13T21:21:49Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-06-13T21:21:49Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=2548f7578ab879bc7eb292462b13f41e7f3112e5'/>
<id>urn:sha1:2548f7578ab879bc7eb292462b13f41e7f3112e5</id>
<content type='text'>
POST /delete (auth) wipes every key tied to the calling user, mirroring
scripts/delall-legacy.ts: user records, payments/invoices, sub-accounts,
NWC apps, nostr follow graph + nip5. Gated by typing the username and
refuses while balance+pending &gt; 10k sats so funds can't be destroyed by
accident.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>nwc: keep notifications opt-in (revert default-on)</title>
<updated>2026-06-06T16:14:11Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-06-06T16:14:11Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=10284aa1b8868012829c0b643def73ee55e4822d'/>
<id>urn:sha1:10284aa1b8868012829c0b643def73ee55e4822d</id>
<content type='text'>
Reverting the notify default-on from 8cb18821 — most users don't consume
notifications and defaulting on would flood the relay with payment_sent/
payment_received for ~3k apps. Notifications stay opt-in: clients enable by
sending notify:"true" when creating the NWC connection. The pay_invoice
reply-reliability and rate-limit fixes from 8cb18821 are unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>nwc: fix pay_invoice reply reliability, rate-limit drops, notifications</title>
<updated>2026-06-06T16:10:16Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-06-06T16:10:16Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=8cb1882111c079cfac9870054d9917fa5f94de76'/>
<id>urn:sha1:8cb1882111c079cfac9870054d9917fa5f94de76</id>
<content type='text'>
Three issues reported by an NWC client integrator (refs #80):

(a) pay_invoice sync reply: the handler polled listpays for ~20s then returned
a misleading "Payment timed out" error on slow routes even though the payment
settled — client never got the preimage. sendLightning already runs xpay to
completion and finalize() sets p.ref = preimage, so return that directly; keep
a longer listpays loop only as a fallback, and on still-in-flight return an
explicit "check with lookup_invoice" rather than implying failure.

(b) rate limiting: raised per-pubkey cap 5/min -&gt; 60/min (normal usage — a
balance check + payment + a few lookup_invoice reconciles — trivially exceeded
5), and over-limit requests now get a NIP-47 RATE_LIMITED error reply instead
of a silent drop that looked exactly like a lost reply. Also: every request
path now always sends a 23195 reply (success, error, or handler-returned-
nothing) so a client never hangs waiting.

(c) notifications: payment_received/payment_sent are advertised in the info
event but app.notify defaulted to false unless the client sent notify:"true"
(only ~1% of apps had it on), so they never fired. Default notify ON; only
disable when explicitly "false". (Existing apps still false — backfill TBD.)

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>listener logs</title>
<updated>2026-03-18T18:37:33Z</updated>
<author>
<name>Adam Soltys</name>
<email>adam@coinos.io</email>
</author>
<published>2026-03-18T18:37:33Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=42a90f201d03aa96d004e6c3cf3f37f5afd8d1ee'/>
<id>urn:sha1:42a90f201d03aa96d004e6c3cf3f37f5afd8d1ee</id>
<content type='text'>
</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>pass bytes for app secret</title>
<updated>2026-03-14T17:12:37Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-03-14T17:12:37Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=f87b082c14869c4934b4e5fc7ff4b8066a84ed8d'/>
<id>urn:sha1:f87b082c14869c4934b4e5fc7ff4b8066a84ed8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix pending payment cleanup and login password verification</title>
<updated>2026-03-06T06:11:55Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-03-06T06:11:55Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=69d17aea7e0cfdd6429fdbb07c2a1f5c7497e798'/>
<id>urn:sha1:69d17aea7e0cfdd6429fdbb07c2a1f5c7497e798</id>
<content type='text'>
Skip non-lightning entries in pending payments check and handle
malformed password hashes gracefully during login.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix login/reset glitches</title>
<updated>2026-03-03T18:39:05Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-03-03T18:39:05Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=f96e77c2e54398f9c4fc7a11a8479304170cb65a'/>
<id>urn:sha1:f96e77c2e54398f9c4fc7a11a8479304170cb65a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>check forwarded host header</title>
<updated>2026-02-06T17:24:16Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-02-06T17:24:16Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=55aa26bad5e85baacab67725114ceac97b1153b3'/>
<id>urn:sha1:55aa26bad5e85baacab67725114ceac97b1153b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>health check</title>
<updated>2026-02-06T16:55:45Z</updated>
<author>
<name>Adam Soltys</name>
<email>asoltys@gmail.com</email>
</author>
<published>2026-02-06T16:55:45Z</published>
<link rel='alternate' type='text/html' href='https://git.coinos.io/coinos-server.git/commit/?id=9089698e8df9d0c09c165c45eb6b05335a818699'/>
<id>urn:sha1:9089698e8df9d0c09c165c45eb6b05335a818699</id>
<content type='text'>
</content>
</entry>
</feed>
