aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add /migrate: hand a legacy account over to coinos v3Adam Soltys2026-08-032-0/+128
| | | | | | | | | | | | coinos v3 links here with ?to=<the user's new payment address>&back=<url>. The user is already signed in on this site, so no password or key has to travel anywhere: we fetch an invoice from the v3 registrar for the balance (less a small routing reserve), pay it, then rename the account to <username>_v2 — which releases the username so v3's registrar will let them claim it. Old account stays, renamed, and stops receiving. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi
* Only pay internally when the name is really a local accountAdam Soltys2026-08-021-1/+10
| | | | | | | | | | Addresses at our own domain used to have the domain stripped and get paid internally on the assumption that every one of them was ours. v3 payment addresses live at the same domain, so check the account exists first and otherwise leave the address intact — it then flows through the normal lightning-address path. Co-Authored-By: Claude Fable 5 <[email protected]>
* payments: show lightning sends as pending until settledAdam Soltys2026-07-302-3/+15
| | | | | | | | | | | Lightning/bolt12 sends now start unconfirmed (server sets confirmed=false until the HTLC settles and the preimage arrives). Reflect that in the UI: the payment list and detail page show 'Pending' for an unsettled send, and the detail page shows a pending note in place of the empty preimage. Prevents the misleading 'Sent/completed with no preimage' state for held HTLCs (e.g. Ark hold invoices that stay in-flight for hours). Co-Authored-By: Claude Opus 4.8 <[email protected]>
* bolt12 zaps: accept offers in send flow, show/publish user offerAdam Soltys2026-07-3023-27/+218
| | | | | | | | | | - parse lno= from BIP-321 bitcoin: URIs; send page parses offers for preview now that /parse handles them - settings/nostr shows the user's standing lno1 offer with copy/QR and a button to publish it as a kind 10058 offer list for NIP-177 zaps - new locale strings translated Co-Authored-By: Claude Fable 5 <[email protected]>
* receive/invoice: build POST body from snapshot, don't mutate $derivedAdam Soltys2026-06-192-22/+24
| | | | | | | | | | | | | | The merchant receive and invoice pages mutated the $derived `invoice` proxy (setType/setAmount/setMemo) then POSTed it. Mutating a $derived and JSON.stringify-ing it serializes unreliably, so a stale type (on-chain when lightning was expected) and a stale/10x-shifted amount could leak from a prior interaction into POST /invoice (funk POS bug). Build the body as { ...$state.snapshot(invoice), ...changes } so the intended type/amount/address_type reliably win; update() takes the plain body. Front-end only. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
* invoices fixAdam Soltys2026-06-171-20/+56
|
* fix invoices pageAdam Soltys2026-06-171-25/+72
|
* remove team sectionAdam Soltys2026-05-111-64/+0
|
* use searchparams for lnurlAdam Soltys2026-03-271-2/+4
|
* lnurl proxyAdam Soltys2026-03-271-3/+6
|
* max fee calcAdam Soltys2026-03-161-14/+7
|
* Fix subdomain matching in LNURL callback redirectAdam Soltys2026-02-251-2/+2
| | | | Co-Authored-By: Claude Opus 4.6 <[email protected]>
* Fix parse matching subdomain addresses as local usersAdam Soltys2026-02-251-1/+1
| | | | Co-Authored-By: Claude Opus 4.6 <[email protected]>
* display lightning invoice on payment detailsAdam Soltys2026-02-231-0/+5
|
* fix getpublickeyAdam Soltys2026-02-161-43/+14
|
* fix: rename hidden maxfee field to fee to match form handlerAdam Soltys2026-02-151-1/+1
| | | | Co-Authored-By: Claude Opus 4.6 <[email protected]>
* fix: pass Uint8Array to finalizeEvent and nip04 (nostr-tools API change)Adam Soltys2026-02-141-6/+7
| | | | Co-Authored-By: Claude Opus 4.6 <[email protected]>
* check userAdam Soltys2026-02-101-2/+6
|
* fix importsAdam Soltys2026-02-0916-12/+22
|
* skip captcha for fundsAdam Soltys2026-02-063-148/+60
|
* pass captcha when sweepingAdam Soltys2026-02-062-46/+146
|
* forward host headerAdam Soltys2026-02-062-2/+2
|
* fix tor loginAdam Soltys2026-02-063-13/+24
|
* strip email from username on loginAdam Soltys2026-01-291-0/+1
|
* fix importAdam Soltys2026-01-272-7/+9
|
* forward ip to backendAdam Soltys2026-01-273-2/+28
|
* fix captcha checksAdam Soltys2026-01-274-38/+38
|
* skip captcha for torAdam Soltys2026-01-274-0/+26
|
* update forgot pageAdam Soltys2026-01-212-50/+5
|
* redirect on invalid tokenAdam Soltys2026-01-215-10/+63
|
* remove challenge codeAdam Soltys2026-01-212-4/+1
|
* remove duplicate loginAdam Soltys2026-01-211-24/+11
|
* move site key to envAdam Soltys2026-01-214-8/+12
|
* captchaAdam Soltys2026-01-217-11/+164
|
* increase default maxfeeAdam Soltys2025-12-101-2/+2
|
* don't fetch locations on homepageAdam Soltys2025-10-141-35/+22
|
* update npubAdam Soltys2025-10-081-1/+1
|
* display read-only tokenAdam Soltys2025-10-082-7/+33
|
* register challengeAdam Soltys2025-10-011-8/+3
|
* challenge fieldsAdam Soltys2025-10-012-0/+2
|
* move verifyAdam Soltys2025-10-011-10/+1
|
* login challengeAdam Soltys2025-10-013-16/+15
|
* fix nostr cancel buttonAdam Soltys2025-09-303-8/+11
|
* register captchaAdam Soltys2025-09-282-1/+8
|
* captchaAdam Soltys2025-09-282-5/+18
|
* update flash pageAdam Soltys2025-09-262-50/+173
|
* pass cookies to parseAdam Soltys2025-09-183-11/+11
|
* sendinvoice supportAdam Soltys2025-09-181-1/+4
|
* default tokenAdam Soltys2025-09-132-10/+13
|
* bounty updateAdam Soltys2025-09-122-8/+32
|