Uh oh!
There was an error while loading. Please reload this page.
feat: stale channel monitors recovery - #855
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Tested:
Each time wallet is operational, channel opened. Ln payments sent and received with success. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
jvsena42
commented
Mar 19, 2026
Agree with all Claude suggestions |
Tested again:
Each time wallet is operational. Ln payments sent and received with success. |
This comment was marked as resolved.
This comment was marked as resolved.
Uh oh!
There was an error while loading. Please reload this page.
75d6557 to
63d20a9Compareovitrif
commented
Mar 20, 2026
This PR was auto-closed by GitHub when the base branch ( |
Fixes: #847
This PR adds automatic recovery when the LDK node encounters stale channel monitors during startup, and bumps ldk-node to rc.34 which includes the upstream healing logic.
see also:
Description
When a channel monitor falls behind the channel manager (e.g. due to faulty overwrite during an unfiltered migration from LDK to ldk-node), ldk-node refuses to start with a
DangerousValueerror to protect funds. This PR catches that error and retries the build withaccept_stale_channel_monitorsenabled, allowing ldk-node to accept the stale monitor and self-heal via commitment round-trips with the channel peer.Unlike the approach in #854, this version always retries on
DangerousValueresult during ldk-node setup.Also adds a 10s connection timeout to the node config, as required by ldk-node rc.33.
Preview
Screenshot of app after recovery.

QA Notes
1. Normal startup (unaffected users)
2. Stale monitor recovery
accept_stale_channel_monitors"3. Connection timeout (optional)
🤖 Generated with Claude Code