Install the rustls crypto provider in the realtime WebRTC test server so the app-server realtime tests stop panicking, and update the core handshake assertion to match the current realtime calls URL.
Co-authored-by: Codex <noreply@openai.com>
Keep the first realtime audio frame from being dropped during WebRTC startup.
Also give the realtime test server a tiny flush window before it closes the data channel so the last scripted events land reliably.
Co-authored-by: Codex <noreply@openai.com>
Stop the realtime test WebRTC server from hanging after the client closes.
Teach the scripted request loop to exit when the data channel or peer connection closes so compact-remote tests can unwind instead of timing out at shutdown.
Co-authored-by: Codex <noreply@openai.com>
Use the workspace opus crate name directly and clone the request sender before moving it into the data-channel callback so the RTP track handler can still enqueue decoded packets.
Co-authored-by: Codex <noreply@openai.com>
Teach the shared test helper to accept realtime /calls POSTs, answer SDP offers, and relay scripted events over a data channel while logging incoming RTP audio packets as synthetic append requests. Update the one stale handshake-path assertion to the /realtime/calls URL.
Co-authored-by: Codex <noreply@openai.com>