From 9595de876df5264846227f6f80a7306df9154278 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 15 Jun 2026 17:00:47 +0000 Subject: ark: skip refresh when ark unconfigured; document LN listener watchdog Guard refreshArkWallet against running when config.ark.arkPrivateKey is unset, and add a comment explaining the ensureListenerAlive watchdog's zombie-socket recovery. Co-Authored-By: Claude Opus 4.8 (1M context) --- lib/ark.ts | 1 + lib/lightning.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/lib/ark.ts b/lib/ark.ts index a37197e8..41515d54 100644 --- a/lib/ark.ts +++ b/lib/ark.ts @@ -59,6 +59,7 @@ const withTimeout = (promise: Promise, ms: number, label: string) => ]); export const refreshArkWallet = async (force = false) => { + if (!config.ark?.arkPrivateKey) return; // ark disabled const now = Date.now(); if (refreshing || (!force && now - lastRefresh < REFRESH_COOLDOWN)) return; try { diff --git a/lib/lightning.ts b/lib/lightning.ts index 9e259ed5..2f5f4f00 100644 --- a/lib/lightning.ts +++ b/lib/lightning.ts @@ -127,6 +127,9 @@ export async function listenForLightning() { } } +// Watchdog (run periodically): restart a dead listener, or recycle a zombie one +// that's been blocked in waitanyinvoice far past any normal quiet period while cl +// is actually alive (the dead-listen-socket case). export async function ensureListenerAlive() { if (!listenerActive) { warn("lightning listener: not active, restarting"); -- cgit v1.2.3