From fc98c1d8dd6581c4b2f7f758900cd9789e28428e Mon Sep 17 00:00:00 2001 From: archipelago Date: Mon, 17 Aug 2026 08:30:16 -0400 Subject: [PATCH] fix(wallet): an incoming payment no longer disappears before you look MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Chasing the "selecting incoming clears a pending token, and there's a timeout if you don't click" report led here. Instant rails — Lightning, Cashu, Fedimint, Ark — settle immediately, so there is no confirmation to wait for and no natural moment for a receipt to leave the Incoming badge. It was leaving on a five-minute wall clock instead. So a payment could arrive, raise the badge, and evaporate before anyone looked; and opening the panel a few minutes late showed nothing, because the payment you came to check on had already aged out. Worse, once the count hit zero the badge silently changed meaning — the same click that opened the panel now navigated to the transactions view instead. For ecash that is the worst case available. It leaves no public ledger entry, so this panel was the only place the receipt was ever shown; once it timed out there was nowhere left to look. Instant-rail receipts now stay until they have actually been seen, which is the same unread model the mesh inbox uses. Closing the panel is what marks them seen, not opening it — marking on open would make a row vanish under the cursor of someone still reading it. On-chain is untouched: a confirmation count is a real signal and already does this job. Also keys the list on a derived id. Instant rails have no txid, so `:key="tx.tx_hash"` was `""` for every one of them. This is my reading of the reported symptoms rather than a confirmed repro — the operator should check it matches what they saw. Co-Authored-By: Claude Opus 5 (1M context) --- neode-ui/src/views/home/HomeWalletCard.vue | 53 ++++++++++++++++------ 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/neode-ui/src/views/home/HomeWalletCard.vue b/neode-ui/src/views/home/HomeWalletCard.vue index e69f83b0..57cfc09d 100644 --- a/neode-ui/src/views/home/HomeWalletCard.vue +++ b/neode-ui/src/views/home/HomeWalletCard.vue @@ -22,7 +22,7 @@