laravel-webrtc/tests
Blax Software aca88c3dbc feat: Rust SFU data plane — backend-hosted rooms, plug-and-play sidecar binary
rust/ becomes a standalone static binary (blax-webrtc-sfu, tokio-free
std-thread loop on str0m): terminates ICE/DTLS/SRTP, forwards Opus between
room peers without decoding, records per-peer Ogg/Opus (ffprobe-verified),
server-side mute/kick, stats + peer_connected/peer_left usage events, all
driven by PHP over a JSON-lines Unix control socket. Renegotiation rides the
browser data channel (str0m chat model) — signaling only carries the initial
offer/answer.

PHP side: RustMediaEngine (MediaEngine contract + room-aware API) is
plug-and-play — first use downloads the sha256-verified prebuilt binary
(BinaryManager, RoadRunner pattern) and spawns it detached, flock-guarded
(SidecarSupervisor). webrtc:install / webrtc:sidecar provided for explicit
control; config gains the webrtc.sfu block. Replaces the ext-php-rs
Str0mMediaEngine seam.

Tests: 61 PHP (incl. a real PHP<->Rust E2E that spawns the sidecar from
PHPUnit) + 7 Rust (incl. an end-to-end control-socket integration test).
build-release.sh produces the static-musl release + .sha256 (verified:
static-pie, 9.2MB, runs).

Card #1083 (rel #1051 #1060 #1064).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 11:29:26 +02:00
..
Fixtures feat: transport-agnostic domain layer — run the relay on any WebSocket 2026-07-08 11:22:53 +02:00
BinaryManagerTest.php feat: Rust SFU data plane — backend-hosted rooms, plug-and-play sidecar binary 2026-07-10 11:29:26 +02:00
ControlClientTest.php feat: Rust SFU data plane — backend-hosted rooms, plug-and-play sidecar binary 2026-07-10 11:29:26 +02:00
FileRecordingStoreTest.php feat: full package — typed rooms (public/private/presence/open-presence) + call recording 2026-07-08 09:01:12 +02:00
NullMediaEngineTest.php feat: WebRTC MVP to Blax standard (namespace, README, tests, scaffolding) 2026-07-07 13:28:49 +02:00
OpenAiRealtimeBridgeTest.php feat: transport-agnostic domain layer — run the relay on any WebSocket 2026-07-08 11:22:53 +02:00
RelaySignalingHandlerTest.php feat: full package — typed rooms (public/private/presence/open-presence) + call recording 2026-07-08 09:01:12 +02:00
RoomManagerTest.php feat: multi-party rooms + real socket round-trip test 2026-07-07 13:54:36 +02:00
RoomStoreTest.php feat: transport-agnostic domain layer — run the relay on any WebSocket 2026-07-08 11:22:53 +02:00
RoomTypeTest.php feat: full package — typed rooms (public/private/presence/open-presence) + call recording 2026-07-08 09:01:12 +02:00
RustMediaEngineTest.php feat: Rust SFU data plane — backend-hosted rooms, plug-and-play sidecar binary 2026-07-10 11:29:26 +02:00
SidecarSupervisorTest.php feat: Rust SFU data plane — backend-hosted rooms, plug-and-play sidecar binary 2026-07-10 11:29:26 +02:00
SignalingHandlerTest.php feat: multi-party rooms + real socket round-trip test 2026-07-07 13:54:36 +02:00
SignalingServerTest.php feat: multi-party rooms + real socket round-trip test 2026-07-07 13:54:36 +02:00
WebSocketRelayServerTest.php feat: working browser-to-browser (P2P) MVP via WebSocket signaling relay 2026-07-08 08:35:02 +02:00