From 05fc49820c1242abfb1bff91093859a8a0ef464a Mon Sep 17 00:00:00 2001 From: archipelago Date: Wed, 22 Jul 2026 20:22:41 -0400 Subject: [PATCH] fix(rpc): stop masking user-actionable wallet errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 'Insufficient balance: need 80 sats, have 0 sats' reached the UI as 'Operation failed. Check server logs.' — the sanitizer allowlist didn't know wallet errors. Also allowlists the calm Lightning still-starting notice, which it would have swallowed the same way. Co-Authored-By: Claude Fable 5 --- core/archipelago/src/api/rpc/middleware.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/archipelago/src/api/rpc/middleware.rs b/core/archipelago/src/api/rpc/middleware.rs index 51de3108..72b9e68d 100644 --- a/core/archipelago/src/api/rpc/middleware.rs +++ b/core/archipelago/src/api/rpc/middleware.rs @@ -73,6 +73,13 @@ pub(super) fn sanitize_error_message(msg: &str) -> String { "Mempool requires", "Container", "Image", + // Wallet-actionable errors: masking "Insufficient balance: need 80 + // sats, have 0 sats" behind "Operation failed. Check server logs." + // sent the operator to journalctl for a message that was written for + // them in the first place (ecash send, 2026-07-22). + "Insufficient balance", + "Insufficient funds", + "Your Lightning node is still finishing", "Bitcoin address", "No router", "No OpenWrt",