You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Clamp ProbingConfigBuilder::interval to MIN_PROBING_INTERVAL (100ms) in
build(). Avoids the tokio::time::interval(Duration::ZERO) panic in
run_prober and rules out sub-100ms hot-looping. New constant lives in
config.rs alongside DEFAULT_PROBING_INTERVAL_SECS.
- Replace .unwrap_or(0) with .expect() on the fetch_update calls in
handle_probe_successful / handle_probe_failed. The closure always
returns Some, so the Err arm is unreachable; unwrap_or(0) implied a
possible failure mode that cannot occur.
- Reject RandomStrategy paths whose HTLC bounds force the probe above
the user-configured max_amount_msat. Previously the amount could be
silently inflated past the user's ceiling.
- Document in try_build_path that longer cycles aren't filtered from
the random walk; probes fail at the destination by design, so
revisiting a node via a different channel is harmless.
- Simplify the Debug impl for ProbingConfig by deriving it and giving
ProbingStrategyKind its own manual Debug that hides the Custom
payload. Replaces a larger hand-written impl on ProbingConfig.
- Cache prev.saturating_sub(amount) into `new` in the probe handlers
so the log line doesn't recompute it.
- Expand ProbingConfig docs with a Caution section noting that stuck
intermediate HTLCs can lock outbound liquidity until timeout, and that
max_locked_msat is the user-facing backstop for this.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
0 commit comments