From 8b285b9cf2abc207da980b77a6c0347ced89f7d5 Mon Sep 17 00:00:00 2001 From: David McFadzean Date: Mon, 16 Mar 2026 20:19:59 -0400 Subject: [PATCH 1/2] fix: Filter out unpaid invoices from lightning payments list Only return settled transactions from getPayments, filtering out pending/unpaid invoices that clutter the payments tab. Closes #223 Co-Authored-By: Claude Opus 4.6 (1M context) --- services/drawbridge/server/src/lnbits.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/services/drawbridge/server/src/lnbits.ts b/services/drawbridge/server/src/lnbits.ts index 5677dba5..31e10a4c 100644 --- a/services/drawbridge/server/src/lnbits.ts +++ b/services/drawbridge/server/src/lnbits.ts @@ -101,14 +101,16 @@ export async function getPayments( const response = await axios.get(`${url}/api/v1/payments`, { headers: { 'X-Api-Key': adminKey }, }); - return (response.data || []).map((p: any) => ({ - paymentHash: p.payment_hash || p.checking_id || '', - amount: Math.floor((p.amount || 0) / 1000), - fee: Math.floor(Math.abs(p.fee || 0) / 1000), - memo: p.memo || '', - time: p.time || '', - pending: p.pending === true, - })); + return (response.data || []) + .filter((p: any) => p.pending !== true) + .map((p: any) => ({ + paymentHash: p.payment_hash || p.checking_id || '', + amount: Math.floor((p.amount || 0) / 1000), + fee: Math.floor(Math.abs(p.fee || 0) / 1000), + memo: p.memo || '', + time: p.time || '', + pending: false, + })); } catch (error: any) { throwLnbitsError(error); } From 53314422f38f7efe3e9846092d0ce81b24b91448 Mon Sep 17 00:00:00 2001 From: David McFadzean Date: Mon, 16 Mar 2026 20:31:08 -0400 Subject: [PATCH 2/2] fix: Filter payments by status field, not pending boolean LNbits uses status: 'pending'/'success', not pending: true/false. Filter on status === 'success' to only show settled transactions. Co-Authored-By: Claude Opus 4.6 (1M context) --- services/drawbridge/server/src/lnbits.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drawbridge/server/src/lnbits.ts b/services/drawbridge/server/src/lnbits.ts index 31e10a4c..ec8f715c 100644 --- a/services/drawbridge/server/src/lnbits.ts +++ b/services/drawbridge/server/src/lnbits.ts @@ -102,7 +102,7 @@ export async function getPayments( headers: { 'X-Api-Key': adminKey }, }); return (response.data || []) - .filter((p: any) => p.pending !== true) + .filter((p: any) => p.status === 'success') .map((p: any) => ({ paymentHash: p.payment_hash || p.checking_id || '', amount: Math.floor((p.amount || 0) / 1000),