From 41018c30a2e03f5ab05be64d419542be0cff7943 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 4 Oct 2026 13:38:24 -0700 Subject: Evicted accounts can't receive or log in; limit errors say what's happening An evicted account no longer gets lightning-address invoices (stops a scam page's address from minting new ones) or a login token. A send over the server limit now says withdrawals are temporarily limited instead of a generic "Problem sending payment" that read as a frozen account. (Already live since the 2026-10-01 restart.) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_011bvzKaZosXGHkigcGcSzAR --- lib/payments.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/payments.ts b/lib/payments.ts index 58dabc0d..09cf2cf6 100644 --- a/lib/payments.ts +++ b/lib/payments.ts @@ -178,7 +178,13 @@ export const debit = async ({ const n = quiet(`block:${user.id}:server`, 5 * 60 * 1000); if (n !== null) warn("Blocking", user.username, amount, hash, user.id, type, "serverLimit", serverLimit, suppressed(n)); - fail("Problem sending payment"); + // Say what's happening (users read the generic error as "account + // frozen") without revealing the limit or the hot-wallet balance. + fail( + type === PaymentType.bitcoin || type === PaymentType.liquid + ? "On-chain withdrawals are temporarily limited. Please try a smaller amount, send over Lightning, or try again later." + : "Payments are temporarily limited. Please try a smaller amount or try again later.", + ); } await db.decrBy(`${type}:limit`, amount); }); -- cgit v1.2.3