First CI run (31316958096): all 8 connection-forming loopback tests time out (WitError: timed-out at wait-connected) on BOTH ubuntu-24.04 and ubuntu-24.04-arm, while the addon loads fine and the non-connection test passes. Same tests are green on the dev box, where a real LAN interface supplies host candidates that route locally. Runners' network namespaces evidently don't give libdatachannel a same-host ICE path — the failure mode the polymorph wasmtime host's WEBRTC_INCLUDE_LOOPBACK knob exists for.
Candidate fixes: (a) get loopback candidates included under node-datachannel (libdatachannel supports it; the polyfill may need a config passthrough), (b) bindAddress pinning, (c) the werift backend on CI (pure TS — currently documented-unverified in the port), (d) a local TURN/STUN helper on the runner.
Until then the CI step is continue-on-error (ci.yml comment references this issue); the dev-box run stays the real gate. Relates to #19 (the full conformance suite run will hit the same wall on runners).
First CI run (31316958096): all 8 connection-forming loopback tests time out (WitError: timed-out at wait-connected) on BOTH ubuntu-24.04 and ubuntu-24.04-arm, while the addon loads fine and the non-connection test passes. Same tests are green on the dev box, where a real LAN interface supplies host candidates that route locally. Runners' network namespaces evidently don't give libdatachannel a same-host ICE path — the failure mode the polymorph wasmtime host's WEBRTC_INCLUDE_LOOPBACK knob exists for.
Candidate fixes: (a) get loopback candidates included under node-datachannel (libdatachannel supports it; the polyfill may need a config passthrough), (b) bindAddress pinning, (c) the werift backend on CI (pure TS — currently documented-unverified in the port), (d) a local TURN/STUN helper on the runner.
Until then the CI step is continue-on-error (ci.yml comment references this issue); the dev-box run stays the real gate. Relates to #19 (the full conformance suite run will hit the same wall on runners).