From ad281e832ed9e36b777f03ed54e799df7d70ffc9 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 31 Jul 2026 08:04:33 -0700 Subject: Fix send-form UX around lightning pays; harden ln state machines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - a rejected cosign (gRPC INVALID_ARGUMENT) returns the input vtxo to spendable and fails the action instead of leaving it pending forever — the stuck-pending state that pushed small zaps onto Boltz's 25k minimum - ark ln-pay now takes over when funds are settling (retrying quote) rather than falling through to Boltz - typing a destination clears stale send errors (also cleared on tab switch); paste path likewise - typed lightning addresses no longer auto-advance mid-keystroke (the matcher fired at `a@b.co` before `.com`, yanking the form away): the send form offers an explicit "Zap " button; pasted/scanned addresses still advance immediately - ln-recv: HTLC vtxos anchored to a not-yet-confirmed pool round park and retry instead of throwing; the requested HTLC expiry is anchored on first prepare so retries can't inflate it past the server's grant Co-Authored-By: Claude Fable 5 --- src/i18n.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/i18n.js') diff --git a/src/i18n.js b/src/i18n.js index 82a397b..9b39503 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -435,6 +435,8 @@ const STR = { arkLnPayFailed: 'Payment failed', arkLnRefunded: 'Payment failed — funds returned to your Ark balance.', arkLnPaidTitle: 'Paid!', + arkLnFundsPending: 'Your Ark funds are settling from a previous payment — retrying…', + lnZapOffer: 'Zap {addr}', arkLnInvoiceIntro: 'Or receive over Lightning, straight into your Ark balance.', arkLnPaidHistory: 'Paid Lightning invoice', arkLnReceivedHistory: 'Received over Lightning', -- cgit v1.2.3