fix: RC hardware-test feedback — mesh serial access, federation.list, masked install errors

- image: create archipelago user with dialout so the backend can open
  /dev/ttyUSB*/ttyACM* LoRa radios; doctor Fix 14 heals existing nodes
  (verified live on the .65 RC install — device detected after the fix)
- Web5Federation.vue called nonexistent federation.list (Unknown method);
  now uses federation.list-nodes + federation.list-pending-requests with
  a last-seen-based online count
- sanitizer: let app-install dependency errors through — 'LND requires a
  running Bitcoin node' was masked as 'Check server logs', so install
  failures on fresh nodes looked random

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-07-13 18:08:25 +01:00
co-authored by Claude Fable 5
parent b800288550
commit ca89cb4196
4 changed files with 36 additions and 6 deletions
@@ -64,6 +64,13 @@ pub(super) fn sanitize_error_message(msg: &str) -> String {
"Failed to open channel",
"Failed to close channel",
"Failed to connect to peer",
// App-install dependency errors (package/dependencies.rs) — masking
// these left users retrying installs blind ("LND install failed" on a
// fresh node was really "Bitcoin Knots isn't running yet")
"LND requires",
"ElectrumX requires",
"BTCPay Server requires",
"Mempool requires",
"Container",
"Image",
"Bitcoin address",