Runner creates a Screencaster before sessions are acquired, then wires its start/stop into DashboardServer.onStartStream / onStopStream after sessions exist (the handlers close over a sessionsByKey map). Clicking a player tile in the dashboard starts a CDP screencast on that session's page, forwards JPEG frames as WS "frame" messages. Closing the modal (or disconnecting the WS) stops all screencasts. Verified end-to-end: programmatically connected WS, sent start_stream, received 5 frames (13.7KB each), sent stop_stream, screencast_stopped log line fired, run completed cleanly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7.1 KiB
7.1 KiB