Currently in the JS SDK, the limitConcurrency wrapper around fetch releases the semaphore early (on headers) instead of when the response body is fully consumed. This defeats the connection accounting for streaming requests (e.g., logs, command execution) and can exhaust HTTP/2 streams (ERR_HTTP2_TOO_MANY_CONCURRENT_STREAMS). There is a clear TODO for this in js-sdk/src/api/inflight.ts.
Currently in the JS SDK, the
limitConcurrencywrapper aroundfetchreleases the semaphore early (on headers) instead of when the response body is fully consumed. This defeats the connection accounting for streaming requests (e.g., logs, command execution) and can exhaust HTTP/2 streams (ERR_HTTP2_TOO_MANY_CONCURRENT_STREAMS). There is a clear TODO for this injs-sdk/src/api/inflight.ts.