mirror of
https://github.com/Ride-The-Lightning/RTL.git
synced 2026-08-13 12:33:07 +02:00
Review feedback on #1638 flagged two issues in the wrapper: 1. Array form values (eclair's ignoreNodeIds on findroutebetweennodes) encoded as "ignoreNodeIds=a,b" via String(), and worse, an empty array produced "ignoreNodeIds=" which Eclair's pubkey list parser rejects - breaking the default findroute path that worked under request-promise (qs omitted empty arrays). Arrays are now omitted when empty and comma-joined when not, matching Eclair's CsvSeq list format. Verified against the fixture: route eclair->bob->carol is found with an empty ignore list and disappears when bob is ignored. Under request-promise's qs indexed encoding (ignoreNodeIds[0]=...) Eclair never matched the field name, so the ignore list was silently dropped; this change makes it effective for the first time. 2. The shared transport had no request timeout, so a hung upstream held connections open indefinitely. Added a 10-minute bound, sized to the slowest legitimate operations (LND's /v2/router/send streams up to timeout_seconds=600; slow CLN channel operations get req.setTimeout(600000) upstream). Both API suites (31 read + 12 write checks) re-pass on the fixture. |
||
|---|---|---|
| .. | ||
| controllers | ||
| models | ||
| routes | ||
| utils | ||
| tsconfig.server.json | ||