Hey Oskar,
thanks for the swift reply!
- Apps -> Running Application -> Open Frontend is how i'm trying to open the frontend
- I'm using Google Chrome (tried latest and older versions) on both Ubuntu and Windows host machine
- I'm not quite sure what is meant with the older Luxonis Hub Live view path, could you elaborate so I can avoid using it?
- The odd thing is that on the default apps
com.luxonis.default / com.luxonis.extended-3d-measurementthe frontend viewer works as expected
Network Logs:
- The font requests are the only failed Network requests I can see. I am not sure whether they are related, but on custom frontends there are no failing requests and the camera stream is still not loading.

Console Logs:
index-ojY8C1GD.js:6319 Failed to get camera intrinsics, no connection
index-ojY8C1GD.js:986 [VisualizerConnection] - Opening connection with following configuration
{debugLogs: false, messageHandlerVersion: 'v1'}
index-ojY8C1GD.js:946 258 13:24:45 D logger : [Signaling] Opening connection to Signaling server
{
"signalingServerUrl": "wss://signal.cloud.luxonis.com/session/"
}
index-ojY8C1GD.js:6319 DAI: fetchService called for service "getCameraIntrinsics" while it's not allowed to poll
1.5.37/?t=...:1 No available adapters.
index-ojY8C1GD.js:885 WebGPU adapter not found. Falling back to CPU for all frames.
/1.5.37/@foxglove/st…er-SemiBold.woff2:1
GET https://....luxonis.app/1.5.37/@foxglove/studio-base/styles/assets/Inter-SemiBold.woff2 net::ERR_ABORTED 404 (Not Found)
/1.5.37/@foxglove/st…nter-Medium.woff2:1
GET https://....luxonis.app/1.5.37/@foxglove/studio-base/styles/assets/Inter-Medium.woff2 net::ERR_ABORTED 404 (Not Found)
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Connected to signaling server
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Sending ConnectSession message to signaling server number 1/3
index-H_ItD3-5.css:1
GET https://....luxonis.app/assets/...-6X9otE_f.woff2 net::ERR_ABORTED 404 (Not Found)
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] New Signaling message
{
"message": {
"AcknowledgeSession": {
"acknowledge": true,
"reason": null
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Received AcknowledgeSession message
{
"message": {
"AcknowledgeSession": {
"acknowledge": true,
"reason": null
}
}
}
index-ojY8C1GD.js:885 Using ICE servers:
[{…}]
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] New Signaling message
{
"message": {
"Candidate": {
"candidate": "v=0\r\no=rtc 199041729 0 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic:WMS *\r\na=ice-options:ice2,trickle\r\na=fingerprint:sha-256 10:20:13:95:84:9A:7B:C1:B4:19:C5:2A:A5:B6:0C:B2:D4:1C:50:AB:F6:BB:13:BA:A7:61:6A:A2:D9:49:C8:47\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=mid:0\r\na=sendrecv\r\na=sctp-port:5000\r\na=max-message-size:262144\r\na=setup:actpass\r\na=ice-ufrag:NMOy\r\na=ice-pwd:D+gaAw4AcPI0Xulw2RMApn\r\n",
"type": "offer"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Received Candidate message
{
"message": {
"Candidate": {
"candidate": "v=0\r\no=rtc 199041729 0 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic:WMS *\r\na=ice-options:ice2,trickle\r\na=fingerprint:sha-256 10:20:13:95:84:9A:7B:C1:B4:19:C5:2A:A5:B6:0C:B2:D4:1C:50:AB:F6:BB:13:BA:A7:61:6A:A2:D9:49:C8:47\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=mid:0\r\na=sendrecv\r\na=sctp-port:5000\r\na=max-message-size:262144\r\na=setup:actpass\r\na=ice-ufrag:NMOy\r\na=ice-pwd:D+gaAw4AcPI0Xulw2RMApn\r\n",
"type": "offer"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] New Signaling message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:2 1 UDP 2130706175 ...:6258 58023 typ host\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Received Candidate message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:2 1 UDP 2130706175 ...:6258 58023 typ host\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] New Signaling message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:1 1 UDP 2122317823 192.168.0.128 58023 typ host\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Received Candidate message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:1 1 UDP 2122317823 192.168.0.128 58023 typ host\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] New Signaling message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:3 1 UDP 1686109695 ... 62029 typ srflx raddr 0.0.0.0 rport 0\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Received Candidate message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:3 1 UDP 1686109695 ... 62029 typ srflx raddr 0.0.0.0 rport 0\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] New Signaling message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:4 1 UDP 8387839 104.30.146.83 25901 typ relay raddr 0.0.0.0 rport 0\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:946 258 13:24:46 D logger : [Signaling] Received Candidate message
{
"message": {
"Candidate": {
"candidate": "{\"candidate\":\"candidate:4 1 UDP 8387839 104.30.146.83 25901 typ relay raddr 0.0.0.0 rport 0\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":null}",
"type": "candidate"
}
}
}
index-ojY8C1GD.js:986 [DEBUG] System channel opened!
index-ojY8C1GD.js:986 [DEBUG] Message channel opened!
index-ojY8C1GD.js:6319 Failed to get camera intrinsics, no connection
index-ojY8C1GD.js:6319 DAI: fetchService called for service "getCameraIntrinsics" while it's not allowed to poll
index-ojY8C1GD.js:6319 DAI: fetchService called for service "getCameraIntrinsics" while it's not allowed to poll
index-ojY8C1GD.js:986 [DEBUG] Comms channel opened!
index-ojY8C1GD.js:6319 Failed to get camera intrinsics, no connection
index-ojY8C1GD.js:946 258 13:24:51 D logger : [Signaling] Session acknowledged. Stopping retry interval.
Below you can see the full log for the published APP that tracks startup+trying to open the frontend viewer. Received through Apps -> Running Application -> Logs.
NGINX - Starting
OAK_WEBRTC - Starting
CONNECTION - System time is: Tue Sep 15 09:36:48 UTC 2026, starting the application
find: '': No such file or directory
NGINX - Server configuration:
server {
listen 9000 ssl;
listen [::]:9000 ssl;
ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt;
ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key;
error_page 497 301 =307 https://$host:$server_port$request_uri;
location /dai {
proxy_pass http://127.0.0.1:8765;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
proxy_pass http://127.0.0.1:8082;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
server_name _;
}
2026-09-15T09:36:48.869951Z INFO oak_webrtc Creating authorized WebRTC client client_id=...
2026-09-15T09:36:48.874647Z INFO signaling_client::connection Signaling client started event="signaling_client_started" component="signaling-client" client_id=... client_instance_id=add5a49f-c786-4450-a844-7b4c34542e96 signaling_url=wss://signal.cloud.luxonis.com/agent/
2026-09-15T09:36:48.874753Z INFO oak_webrtc Waiting for WebRTC connection...
2026-09-15T09:36:49.219796Z INFO signaling_client::connection Signaling WebSocket connected event="signaling_ws_connected" component="signaling-client" client_id=... client_instance_id=add5a49f-c786-4450-a844-7b4c34542e96 connection_id=1 connect_attempt=1 reconnect_count=0 signaling_url=wss://signal.cloud.luxonis.com/agent/ handshake_ms=344
2026-09-15T09:36:49.219956Z INFO signaling_client::connection Signaling connection ready; entering message loop event="signaling_connection_ready" component="signaling-client" client_id=... client_instance_id=add5a49f-c786-4450-a844-7b4c34542e96 connection_id=1 registration_attempt=1 reconnect_count=0
[2026-09-15 09:36:49.250] [depthai] [warning] USB protocol not available - If running in a container, make sure that the following is set: "-v /dev/bus/usb:/dev/bus/usb --device-cgroup-rule='c 189:* rmw'"
To connect to the OAK visualizer use the following:
If you are opening the visualizer locally, open http://localhost:8082 in your browser
If you are using peripheral mode and viewing from another machine, open http://192.168.0.128:8082 in your browser
If you are using oakapp base image, open https://192.168.0.128:9000 in your browser
CONNECTION - Agent request succeeded
CONNECTION - To connect DepthAI Viewer locally, open: https://192.168.0.128:9000
2026-09-15T09:37:31.802144Z INFO datachannel::sys rtc::impl::IceTransport::IceTransport@113: Using STUN server "stun.cloudflare.com:3478"
2026-09-15T09:37:31.802436Z INFO datachannel::sys rtc::impl::IceTransport::addIceServer@169: Using TURN server "turn.cloudflare.com:3478"
2026-09-15T09:37:31.808627Z INFO datachannel::sys rtc::impl::PeerConnection::changeSignalingState@1370: Changed signaling state to have-local-offer
2026-09-15T09:37:31.808822Z INFO datachannel::sys rtc::impl::PeerConnection::changeGatheringState@1357: Changed gathering state to in-progress
2026-09-15T09:37:31.808960Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to gathering
2026-09-15T09:37:31.809660Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to connecting
2026-09-15T09:37:31.809709Z INFO datachannel::sys rtc::impl::PeerConnection::changeIceState@1339: Changed ICE state to checking
2026-09-15T09:37:31.809767Z INFO datachannel::sys rtc::impl::PeerConnection::changeState@1321: Changed state to connecting
2026-09-15T09:37:31.830841Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Using TURN server turn.cloudflare.com:3478
2026-09-15T09:37:31.848491Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Using STUN server stun.cloudflare.com:3478
2026-09-15T09:37:31.891190Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: STUN server binding successful
2026-09-15T09:37:31.891300Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Got STUN mapped address <redacted_ip>:48808 from server
2026-09-15T09:37:31.944139Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: STUN server binding successful
2026-09-15T09:37:31.944373Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Got STUN mapped address <redacted_ip>:62026 from server
2026-09-15T09:37:31.995604Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Got STUN mapped address <redacted_ip>:62026 from TURN server
2026-09-15T09:37:31.996873Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Allocated TURN relayed address 104.30.146.83:42118
2026-09-15T09:37:31.997005Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Candidate gathering done
2026-09-15T09:37:31.997080Z INFO datachannel::sys rtc::impl::PeerConnection::changeGatheringState@1357: Changed gathering state to complete
2026-09-15T09:37:32.084532Z INFO webrtc_core::client Received SDP answer for session session_id="<redacted_id>"
2026-09-15T09:37:32.084796Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Connectivity timer started
2026-09-15T09:37:32.084872Z INFO datachannel::sys rtc::impl::PeerConnection::changeSignalingState@1370: Changed signaling state to stable
2026-09-15T09:37:32.085317Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to connected
2026-09-15T09:37:32.085363Z INFO datachannel::sys rtc::impl::PeerConnection::changeIceState@1339: Changed ICE state to connected
2026-09-15T09:37:32.089109Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to completed
2026-09-15T09:37:32.089159Z INFO datachannel::sys rtc::impl::PeerConnection::changeIceState@1339: Changed ICE state to completed
2026-09-15T09:37:32.132047Z INFO datachannel::sys rtc::impl::DtlsTransport::doRecv@963: DTLS handshake finished
2026-09-15T09:37:32.135921Z INFO datachannel::sys rtc::impl::SctpTransport::processNotification@870: SCTP connected
2026-09-15T09:37:32.136035Z INFO datachannel::sys rtc::impl::PeerConnection::changeState@1321: Changed state to connected
2026-09-15T09:37:32.136260Z INFO oak_webrtc WebRTC connection accepted
2026-09-15T09:37:32.136342Z INFO oak_webrtc::webrtc Accepted WebRTC session session_id="<redacted_id>" connection_generation=1 event="session_accepted"
2026-09-15T09:37:32.137197Z INFO webrtc_core::models::connection Data channel opened session_id="<redacted_id>" label="system"
2026-09-15T09:37:32.137278Z INFO oak_webrtc::webrtc Data channel opened session_id="<redacted_id>" connection_generation=1 channel="system" event="channel_opened"
2026-09-15T09:37:32.137989Z INFO webrtc_core::models::connection Data channel opened session_id="<redacted_id>" label="message"
2026-09-15T09:37:32.138071Z INFO oak_webrtc::webrtc Data channel opened session_id="<redacted_id>" connection_generation=1 channel="message" event="channel_opened"
2026-09-15T09:37:32.138475Z INFO webrtc_core::models::connection Data channel opened session_id="<redacted_id>" label="comms"
2026-09-15T09:37:32.138510Z INFO oak_webrtc::webrtc Data channel opened session_id="<redacted_id>" connection_generation=1 channel="comms" event="channel_opened"
2026-09-15T09:37:32.138527Z INFO oak_webrtc::webrtc Connecting backend WebSocket session_id="<redacted_id>" connection_generation=1 event="backend_ws_connecting" ws_addr=127.0.0.1:8765
2026-09-15T09:37:32.138543Z INFO oak_webrtc::ws Connecting to WebSocket...
2026-09-15T09:37:32.138991Z INFO oak_webrtc::webrtc Backend WebSocket connected session_id="<redacted_id>" connection_generation=1 event="backend_ws_connected"
2026-09-15T09:37:32.139038Z INFO oak_webrtc::webrtc Spawning agent comms task session_id="<redacted_id>" connection_generation=1
2026-09-15T09:37:32.139058Z INFO oak_webrtc::webrtc Spawning WebSocket forwarding tasks session_id="<redacted_id>" connection_generation=1
2026-09-15T09:37:32.139069Z INFO oak_webrtc::webrtc Started WS to RTC forwarding session_id="<redacted_id>" connection_generation=1 event="ws_to_rtc_started"
2026-09-15T09:37:32.139086Z INFO oak_webrtc::webrtc Started RTC to WS forwarding session_id="<redacted_id>" connection_generation=1 event="rtc_to_ws_started"
2026-09-15T09:37:32.139100Z INFO oak_webrtc::ws Handling RTC to WS messages...
2026-09-15T09:37:32.139113Z INFO oak_webrtc::comms Handling comms channel...
2026-09-15T09:37:32.139124Z INFO oak_webrtc::ws Handling WS to RTC messages... session_id="<redacted_id>" connection_generation=1
2026-09-15T09:37:43.198969Z INFO oak_webrtc::webrtc Underlying peer connection closed; cancelling session session_id="<redacted_id>" connection_generation=1 event="peer_connection_closed"
2026-09-15T09:37:43.199056Z INFO oak_webrtc::webrtc Cancelling session forwarding tasks session_id="<redacted_id>" connection_generation=1 event="session_cancelling"
2026-09-15T09:37:43.199076Z INFO oak_webrtc::ws Cancellation token is cancelled for RTC to WS messages handling
2026-09-15T09:37:43.199088Z INFO oak_webrtc::ws RTC to WS messages handling finished.
2026-09-15T09:37:43.199097Z INFO oak_webrtc::comms Comms channel handling finished.
2026-09-15T09:37:43.199110Z INFO oak_webrtc::ws Cancellation token is cancelled for WS to WebRTC messages handling
2026-09-15T09:37:43.199277Z INFO oak_webrtc::ws WS to RTC messages handling finished. session_id="<redacted_id>" connection_generation=1
2026-09-15T09:37:43.199458Z INFO datachannel::sys rtc::impl::PeerConnection::changeIceState@1339: Changed ICE state to closed
2026-09-15T09:37:43.199487Z INFO datachannel::sys rtc::impl::PeerConnection::changeState@1321: Changed state to closed
2026-09-15T09:37:43.199529Z INFO oak_webrtc::webrtc Session closed session_id="<redacted_id>" connection_generation=1 event="session_closed"
2026-09-15T09:37:43.392967Z INFO datachannel::sys rtc::impl::DtlsTransport::doRecv@995: DTLS closed
2026-09-15T09:37:45.773105Z INFO datachannel::sys rtc::impl::IceTransport::IceTransport@113: Using STUN server "stun.cloudflare.com:3478"
2026-09-15T09:37:45.774034Z INFO datachannel::sys rtc::impl::IceTransport::addIceServer@169: Using TURN server "turn.cloudflare.com:3478"
2026-09-15T09:37:45.775160Z INFO datachannel::sys rtc::impl::PeerConnection::changeSignalingState@1370: Changed signaling state to have-local-offer
2026-09-15T09:37:45.775466Z INFO datachannel::sys rtc::impl::PeerConnection::changeGatheringState@1357: Changed gathering state to in-progress
2026-09-15T09:37:45.775732Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to gathering
2026-09-15T09:37:45.777635Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to connecting
2026-09-15T09:37:45.777725Z INFO datachannel::sys rtc::impl::PeerConnection::changeIceState@1339: Changed ICE state to checking
2026-09-15T09:37:45.777834Z INFO datachannel::sys rtc::impl::PeerConnection::changeState@1321: Changed state to connecting
2026-09-15T09:37:45.780027Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Using TURN server turn.cloudflare.com:3478
2026-09-15T09:37:45.781874Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Using STUN server stun.cloudflare.com:3478
2026-09-15T09:37:45.843196Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: STUN server binding successful
2026-09-15T09:37:45.843464Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Got STUN mapped address <redacted_ip:port> from server
2026-09-15T09:37:45.893680Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: STUN server binding successful
2026-09-15T09:37:45.893864Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Got STUN mapped address <redacted_ip:port> from server
2026-09-15T09:37:45.946527Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Got STUN mapped address <redacted_ip:port> from TURN server
2026-09-15T09:37:45.947064Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Allocated TURN relayed address 104.30.150.41:17107
2026-09-15T09:37:45.947166Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Candidate gathering done
2026-09-15T09:37:45.947235Z INFO datachannel::sys rtc::impl::PeerConnection::changeGatheringState@1357: Changed gathering state to complete
2026-09-15T09:37:46.050188Z INFO webrtc_core::client Received SDP answer for session session_id="<redacted_id>"
2026-09-15T09:37:46.050882Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Connectivity timer started
2026-09-15T09:37:46.051085Z INFO datachannel::sys rtc::impl::PeerConnection::changeSignalingState@1370: Changed signaling state to stable
2026-09-15T09:37:46.052064Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to connected
2026-09-15T09:37:46.052266Z INFO datachannel::sys rtc::impl::PeerConnection::changeIceState@1339: Changed ICE state to connected
2026-09-15T09:37:46.054614Z INFO datachannel::sys rtc::impl::IceTransport::LogCallback@390: juice: Changing state to completed
2026-09-15T09:37:46.054939Z INFO datachannel::sys rtc::impl::PeerConnection::changeIceState@1339: Changed ICE state to completed
2026-09-15T09:37:46.118757Z INFO datachannel::sys rtc::impl::DtlsTransport::doRecv@963: DTLS handshake finished
2026-09-15T09:37:46.122456Z INFO datachannel::sys rtc::impl::SctpTransport::processNotification@870: SCTP connected
2026-09-15T09:37:46.122544Z INFO datachannel::sys rtc::impl::PeerConnection::changeState@1321: Changed state to connected
2026-09-15T09:37:46.122872Z INFO oak_webrtc Cancelling previous active WebRTC session before replacement event="replacement_session_accepted"
2026-09-15T09:37:46.123084Z INFO oak_webrtc WebRTC connection accepted
2026-09-15T09:37:46.123242Z INFO oak_webrtc::webrtc Accepted WebRTC session session_id="<redacted_id>" connection_generation=2 event="session_accepted"
2026-09-15T09:37:46.124222Z INFO webrtc_core::models::connection Data channel opened session_id="<redacted_id>" label="system"
2026-09-15T09:37:46.124266Z INFO oak_webrtc::webrtc Data channel opened session_id="<redacted_id>" connection_generation=2 channel="system" event="channel_opened"
2026-09-15T09:37:46.125085Z INFO webrtc_core::models::connection Data channel opened session_id="<redacted_id>" label="message"
2026-09-15T09:37:46.125142Z INFO oak_webrtc::webrtc Data channel opened session_id="<redacted_id>" connection_generation=2 channel="message" event="channel_opened"
2026-09-15T09:37:46.125797Z INFO webrtc_core::models::connection Data channel opened session_id="<redacted_id>" label="comms"
2026-09-15T09:37:46.125829Z INFO oak_webrtc::webrtc Data channel opened session_id="<redacted_id>" connection_generation=2 channel="comms" event="channel_opened"
2026-09-15T09:37:46.125841Z INFO oak_webrtc::webrtc Connecting backend WebSocket session_id="<redacted_id>" connection_generation=2 event="backend_ws_connecting" ws_addr=127.0.0.1:8765
2026-09-15T09:37:46.125855Z INFO oak_webrtc::ws Connecting to WebSocket...
2026-09-15T09:37:46.126563Z INFO oak_webrtc::webrtc Backend WebSocket connected session_id="<redacted_id>" connection_generation=2 event="backend_ws_connected"
2026-09-15T09:37:46.126645Z INFO oak_webrtc::webrtc Spawning agent comms task session_id="<redacted_id>" connection_generation=2
2026-09-15T09:37:46.126718Z INFO oak_webrtc::webrtc Spawning WebSocket forwarding tasks session_id="<redacted_id>" connection_generation=2
2026-09-15T09:37:46.126765Z INFO oak_webrtc::webrtc Started WS to RTC forwarding session_id="<redacted_id>" connection_generation=2 event="ws_to_rtc_started"
2026-09-15T09:37:46.126833Z INFO oak_webrtc::webrtc Started RTC to WS forwarding session_id="<redacted_id>" connection_generation=2 event="rtc_to_ws_started"
2026-09-15T09:37:46.126912Z INFO oak_webrtc::ws Handling RTC to WS messages...
2026-09-15T09:37:46.126969Z INFO oak_webrtc::comms Handling comms channel...
2026-09-15T09:37:46.127042Z INFO oak_webrtc::ws Handling WS to RTC messages... session_id="<redacted_id>" connection_generation=2