Good write-up; the stalling makes sense given how swap-in works: with --auto-liquidity=off, inboundLiquidityTarget is 0, and since swap-in buys inbound capacity from the LSP at a funding rate, there is no trade to negotiate — so the daemon correctly (if unhelpfully) cannot find a suitable funding rate and the confirmed swap-in just sits there. Your restart dance (auto-liquidity=2m → Normal → off) is the pragmatic pattern; one thing worth adding: if you keep auto-liquidity=off generally, a swap-in for a big receive is exactly when you want the inbound — so binding it to the swap-in step (rather than every receive) is the right shape. Is this on 0.9.x? There were changes in later 0.10/1.x around liquidity targets; worth confirming the LSP side (Matchstick) shows the pending channel offer while stuck.
Good write-up; the stalling makes sense given how swap-in works: with --auto-liquidity=off, inboundLiquidityTarget is 0, and since swap-in buys inbound capacity from the LSP at a funding rate, there is no trade to negotiate — so the daemon correctly (if unhelpfully) cannot find a suitable funding rate and the confirmed swap-in just sits there. Your restart dance (auto-liquidity=2m → Normal → off) is the pragmatic pattern; one thing worth adding: if you keep auto-liquidity=off generally, a swap-in for a big receive is exactly when you want the inbound — so binding it to the swap-in step (rather than every receive) is the right shape. Is this on 0.9.x? There were changes in later 0.10/1.x around liquidity targets; worth confirming the LSP side (Matchstick) shows the pending channel offer while stuck.