1773 Commits
Author SHA1 Message Date
ajaysehwal b65f690b87 fix(nwc): prevent double-count on concurrent pay_invoice reconcile 2026-08-01 20:00:09 +05:30
ajaysehwal 44c6a10753 fix(nwc): persist reconciliation and invalidate lookup cache on in-flight pay 2026-07-31 15:46:15 +05:30
ajaysehwal e042346619 fix(nwc): harden lookup_invoice freshness, errors, and activity expiry 2026-07-31 14:34:31 +05:30
ajaysehwal 422540e36f fix(nwc): fetch payments lazily for lookup_invoice outgoing fallback 2026-07-31 14:03:17 +05:30
ajaysehwal aa30f9e878 stores: refresh settled NWC invoices before opening detail view 2026-07-30 21:31:10 +05:30
wario_is_hereandajaysehwal 7652f47a94 fix(nwc): reconcile pending payments on foreground and reconnect
Reconciliation ran only when something read the activity list, so a
payment that settled while the app was away stayed pending until a
client asked. It now also runs when the app returns to the foreground
and after the relays reconnect.
2026-07-30 20:00:37 +05:30
wario_is_hereandajaysehwal 4769bf4d18 fix(nwc): reconcile pending payments and correct the unpaid filter
list_transactions never promoted a pending pay_invoice activity, so an
NWC client could see a settled payment as pending indefinitely — the
reconciliation only ran when the activity screen was opened. The unpaid
filter also returned only pending transactions instead of including
them, and returned unpaid ones by default.
2026-07-30 20:00:25 +05:30
ajaysehwal 2612563989 fix: hide invoice expiry when no expiry is available 2026-07-30 19:49:23 +05:30
ajaysehwal 24aafa28fb chore: remove duplicate TextEncoder polyfill from NostrWalletConnectStore 2026-07-30 19:36:17 +05:30
ajaysehwal 4b660ddba7 fix(nwc): centralize lookup_invoice and cover Lightning outgoing lookups 2026-07-30 19:36:17 +05:30
wario_is_hereandajaysehwal e1c28f9c90 fix(nwc): find outgoing Cashu payments in lookup_invoice
The Cashu branch searched only mint quotes, so a melted payment always
returned NOT_FOUND — and because the branch short-circuits, the Lightning
path never ran either. Payments are now searched by hash or payment
request and mapped as outgoing with the mint fee.
2026-07-30 19:36:16 +05:30
Evan KaloudisandGitHub 91dd79cb03 Merge pull request #4212 from shubhamkmr04/feat/ldk-24-word-seed
LDK: Add support for 24 word seed phrases
2026-07-27 09:18:34 -04:00
Shubham Kumar e563602885 fix (ldk): remove non-working Alby and LDK VSS server options 2026-07-26 19:30:06 +05:30
Evan KaloudisandGitHub 969b142abb Merge pull request #4230 from kaloudis/fix/close-channel-list-wipe
stores: prevent stale closeChannel error from wiping channel list
2026-07-21 16:29:39 -04:00
Evan KaloudisandGitHub ab86d036c2 Merge pull request #4233 from kaloudis/flow-proposal-rejection-warning
Receive: surface Flow LSP proposal rejection as dismissable warning
2026-07-21 10:02:47 -04:00
Evan KaloudisandGitHub efbe0cddd4 Merge pull request #4177 from ZeusLN/lnd-v0.21
[feat] LND v0.21-beta
2026-07-21 10:02:32 -04:00
Evan Kaloudis 74ad2b2fbc Receive: surface Flow LSP proposal rejection as dismissable warning
Previously a rejected /proposal call cleared the LSP's error message
entirely, so users saw a plain unwrapped invoice with no indication
the LSP declined to wrap it (e.g. channel opens frozen around a
reorg-risk block range).
2026-07-20 20:35:35 -04:00
Shubham Kumar 2b9b8b10a1 feat (ldk): use LDK VSS server option 2026-07-16 18:50:46 +05:30
Shubham Kumar 73340229b4 fix (cashu): derive 12-word cashu seed for 24-word LDK wallets 2026-07-16 18:06:35 +05:30
Evan Kaloudis 52282e9d88 stores: prevent stale closeChannel error from wiping channel list
On LND REST, closeChannel is a streaming endpoint whose HTTP response
stays open until the closing tx confirms. ChannelsStore.closeChannel
force-resolves after 6 seconds and the user returns to a repopulated
channel list, but the underlying request's handlers were never
detached. When the generic 30-second REST timeout rejected the still-
pending call, handleChannelCloseError ran getChannelsError(), setting
channels = [] and blanking the open channels list until the next
refetch.

Fix in two parts:
- share the settled flag in both directions so the real call's late
  then/catch handlers no-op once the forced resolution has fired
- stop calling getChannelsError() from handleChannelCloseError; a
  failed close request doesn't invalidate the channel list, so only
  set closeChannelErr and clear closingChannel

Fixes #4229
2026-07-15 12:54:14 -04:00
Evan KaloudisandGitHub eb935a7a50 Merge pull request #4204 from shubhamkmr04/fix/lsps-free-order-status-poll
fix: poll status for free LSPS1/LSPS7 orders
2026-07-13 13:50:07 -04:00
Shubham Kumar 9dac699d3d feat (ldk): use Alby VSS server option 2026-07-13 22:36:30 +05:30
Evan Kaloudis aaebdb6de3 feat: BalancePane: surface pending close balance alongside pending open 2026-07-12 14:46:09 -04:00
Shubham Kumar 268bfb32c1 feat (ldk): add VSS server dropdown to wallet creation advanced settings 2026-07-10 15:00:04 +05:30
Shubham Kumar 2e9d564d86 feat (swaps): only reuse LDK seed as rescue key for 12-word wallets 2026-07-08 12:06:33 +05:30
Shubham Kumar bb4188560b fix: guard free-order poll loop with a session id 2026-06-30 15:45:05 +05:30
Shubham Kumar 03b109dbfe fix: poll get_order status for free LSPS1/LSPS7 orders 2026-06-30 11:51:13 +05:30
Evan Kaloudis 80c56f45e5 cleanup: normalize certVerification type to boolean (ZEUS-4187) 2026-06-24 10:29:23 -04:00
Evan Kaloudis 3d3751f636 feat: configurable payment retry timeout for ldk-node 2026-06-15 16:35:04 -04:00
Evan KaloudisandGitHub 95f678c7f3 Merge pull request #4146 from ajaysehwal/fix-nwc-hold-payments
fix(nwc): treat in-flight and hodl invoice payments as pending
2026-06-08 09:43:04 -04:00
ajaysehwal 6679f5217d fix(nwc): clear pending state and document satAmount precedence 2026-06-08 19:10:13 +05:30
ajaysehwal 6e803fb0f5 fix(nwc): debounce pending pay_invoice refresh and harden in-transit handling 2026-06-07 12:02:23 +05:30
ajaysehwal 005ae5c40c fix(nwc): treat in-flight and hodl invoice payments as pending 2026-06-06 22:10:16 +05:30
Evan Kaloudis cf93990a5f fix(ios): NWC Dynamic Island lifecycle when host app is dismissed 2026-06-06 01:13:32 -04:00
Evan KaloudisandGitHub 04941b8f72 Merge pull request #4067 from ZeusLN/nwc-ios-background-service
[feat] iOS: support persistent NWC connections in background
2026-06-05 12:49:08 -04:00
Evan KaloudisandGitHub 70ee0fe767 Merge pull request #4102 from kaloudis/clink
feat: pay Nostr Offer Strings (CLINK)
2026-06-05 12:47:59 -04:00
Evan KaloudisandGitHub 27121993d8 Merge pull request #3985 from shubhamkmr04/feat/lsps1-external-payment-confirmation
feat(LSP): add waiting screen for LSPS1/LSPS7 external wallet payments
2026-06-05 11:38:25 -04:00
Evan KaloudisandGitHub 70e3627813 Merge pull request #3773 from a-khushal/feat/cashu-multimint
feat: CDK multimint sends
2026-06-05 09:24:53 -04:00
Shubham Kumar c1b8df629a refactor: consolidate updateOrderInStorage to LSPStore 2026-06-04 20:27:15 +05:30
ajaysehwalandEvan Kaloudis c047ae3432 fix(ios): align NWC island timer and stop keep-alive on foreground return 2026-06-04 10:52:43 -04:00
ajaysehwalandEvan Kaloudis af60a4be72 cleanup: remove unused and unnecessary code 2026-06-04 10:52:43 -04:00
ajaysehwalandEvan Kaloudis ef680ebbab feat(ios): wire NWC background audio to Dynamic Island and widget controls 2026-06-04 10:52:42 -04:00
ajaysehwalandEvan Kaloudis d29f9a2c50 fix(nwc): refresh connection expiry when regenerating secret 2026-06-04 10:52:41 -04:00
ajaysehwalandEvan Kaloudis 1464d45997 refactor(nwc): polish connection QR screen layout and status UI 2026-06-04 10:52:41 -04:00
ajaysehwalandEvan Kaloudis aa5b8fd314 fix(nwc): derive stable LNDHub wallet identity to persist connections in the list 2026-06-04 10:52:41 -04:00
ajaysehwalandEvan Kaloudis 7bd4d55cde fix(nwc): match finalized payment by payment hash as well as invoice 2026-06-04 10:52:40 -04:00
ajaysehwalandEvan Kaloudis dcf098526e feat(nwc): notify on failed pay_invoice and deep-link to activity 2026-06-04 10:52:40 -04:00
ajaysehwalandEvan Kaloudis 6faee403fe fix(nwc): avoid initializeService racing node-switch teardown 2026-06-04 10:52:40 -04:00
ajaysehwalandEvan Kaloudis 1570b01845 fix(ios): remove persistent mode switch and refactor service initialization 2026-06-04 10:52:40 -04:00
ajaysehwalandEvan Kaloudis b4a1a57570 feat(nwc): add expired ConnectionActivityStatus for NWC activity 2026-06-04 10:52:39 -04:00