fix(live): keep query parameters out of WebSocket endpoint paths (#3972)
Stacked on #3971, which fixes base URL normalization. Once that is merged, this PR can be retargeted to main. Live WebSocket primary, fork and sideband managers appended their endpoint after the base URL query. For example, /v1/customer?tenant=sample dialed /v1/customer instead of the Live endpoint. Append the path before the query in all six sync/async managers. Tests cover the actual WebSocket upgrade, preserved query parameters and escaped session IDs, caller-initiated primary and fork starts, immediate sideband events without waiting for session.started, follow-up updates and clean close. Validation: all six query cases failed and six plain cases passed before the fix. After it, all 363 affected tests and 12 base URL tests passed on both Pydantic v1 and v2. Full Ruff, mypy and Pyright passed. No hosted-service or stored-fork-eligibility claims.
M
Mark Stuart committed
f9c458b759e3756979fceebf50bffa78d9cf0b97
Parent: bb68198
Committed by GitHub <noreply@github.com>
on 9/27/2026, 7:14:37 PM