Files
OwnCord/Server
J3vbandClaude Opus 5 0594a130cb fix(ws): give the LiveKit health check its own HTTP transport (#1356)
NewLiveKitProcess built its health-check http.Client without a Transport,
so it fell back to the process-wide http.DefaultTransport.

httptest.Server.Close calls CloseIdleConnections on http.DefaultTransport
by design ("assume most users of httptest.Server will be using the standard
transport, so help them out"), and ws is full of t.Parallel tests that each
defer srv.Close(). Any one of them finishing while a health check held a
pooled connection severed that request:

  livekit_test.go:978: HealthCheck: livekit health check failed:
    Get "http://127.0.0.1:41343": net/http: HTTP/1.x transport connection
    broken: http: CloseIdleConnections called

That surfaced as an unrelated-looking CI failure on a TypeScript lint bump
(#1341). It is not purely a test artifact: in production the health check
also shared one connection pool with every other DefaultTransport user in
the server process.

Cloning DefaultTransport keeps its tuned defaults (proxy, dial and TLS
timeouts, HTTP/2) while giving the client a private pool.

Locked by TestHealthCheckClientOwnsItsTransport, which fails on the
unfixed constructor.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 19:56:54 +02:00
..
2026-08-09 11:50:12 +02:00