[
    {
        "level": "INFO",
        "message": "https://user:password@172.17.0.4:3001/src/universalTouchGamepad.js 861:12 \"Universal Touch Gamepad library loaded. Send 'TOUCH_GAMEPAD_SETUP' message to initialize.\"",
        "source": "console-api",
        "timestamp": 1768881783435
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:10651 \"Streaming mode set to: websockets\"",
        "source": "console-api",
        "timestamp": 1768881783504
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3473 \"Canvas internal buffer reset to: 1024x768\"",
        "source": "console-api",
        "timestamp": 1768881783523
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3776 \"Reset canvas CSS to 1024px x 768px, Pos -512,-384, object-fit: fill. Buffer: 1024x768\"",
        "source": "console-api",
        "timestamp": 1768881783523
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 176:30839 \"Setting canvas rendering to 'pixelated' for 1:1 display.\"",
        "source": "console-api",
        "timestamp": 1768881783523
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:6747 \"Initialized UI in Auto Resolution Mode (defaulting to 1024x768 logical for now)\"",
        "source": "console-api",
        "timestamp": 1768881783523
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:7886 \"Dynamically added #keyboard-input-assist element.\"",
        "source": "console-api",
        "timestamp": 1768881783523
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:10023 \"Pre-flight checks passed: Secure context and VideoDecoder API are available.\"",
        "source": "console-api",
        "timestamp": 1768881783523
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:35173 \"initializeDecoder function assigned to triggerInitializeDecoder.\"",
        "source": "console-api",
        "timestamp": 1768881783523
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 79:20953 \"Dashboard: Detected browser language: en-US, using primary: en\"",
        "source": "console-api",
        "timestamp": 1768881783554
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 79:21519 \"Dashboard: Mobile detected via userAgentData.mobile:\" false",
        "source": "console-api",
        "timestamp": 1768881783555
    },
    {
        "level": "SEVERE",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351 WebSocket connection to 'wss://172.17.0.4:3001/websockets' failed: Error during WebSocket handshake: Unexpected response code: 404",
        "source": "network",
        "timestamp": 1768881783559
    },
    {
        "level": "SEVERE",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:25885 \"[websockets] Error:\" Event",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:26167 \"[websockets] Connection closed\" CloseEvent",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8028 \"Clearing all VNC stripe decoders.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8329 \"All VNC stripe decoders and metadata cleared.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:21885 \"Received pipelineStatusUpdate message:\" Object",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:27061 \"WebSocket disconnected, reloading page to reconnect.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:1926 \"Cleanup: Starting cleanup process...\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8028 \"Clearing all VNC stripe decoders.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8329 \"All VNC stripe decoders and metadata cleared.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:2611 \"Cleanup: Finished cleanup process.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:32823 \"Tab is hidden, stopping video pipeline if active.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://user:password@172.17.0.4:3001/src/universalTouchGamepad.js 861:12 \"Universal Touch Gamepad library loaded. Send 'TOUCH_GAMEPAD_SETUP' message to initialize.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:10651 \"Streaming mode set to: websockets\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3473 \"Canvas internal buffer reset to: 1024x768\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3776 \"Reset canvas CSS to 1024px x 768px, Pos -512,-384, object-fit: fill. Buffer: 1024x768\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 176:30839 \"Setting canvas rendering to 'pixelated' for 1:1 display.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:6747 \"Initialized UI in Auto Resolution Mode (defaulting to 1024x768 logical for now)\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:7886 \"Dynamically added #keyboard-input-assist element.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:10023 \"Pre-flight checks passed: Secure context and VideoDecoder API are available.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:35173 \"initializeDecoder function assigned to triggerInitializeDecoder.\"",
        "source": "console-api",
        "timestamp": 1768881793562
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 79:20953 \"Dashboard: Detected browser language: en-US, using primary: en\"",
        "source": "console-api",
        "timestamp": 1768881793563
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 79:21519 \"Dashboard: Mobile detected via userAgentData.mobile:\" false",
        "source": "console-api",
        "timestamp": 1768881793563
    },
    {
        "level": "SEVERE",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351 WebSocket connection to 'wss://172.17.0.4:3001/websockets' failed: Error during WebSocket handshake: Unexpected response code: 404",
        "source": "network",
        "timestamp": 1768881793563
    },
    {
        "level": "SEVERE",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:25885 \"[websockets] Error:\" Event",
        "source": "console-api",
        "timestamp": 1768881793563
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:26167 \"[websockets] Connection closed\" CloseEvent",
        "source": "console-api",
        "timestamp": 1768881793563
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8028 \"Clearing all VNC stripe decoders.\"",
        "source": "console-api",
        "timestamp": 1768881793563
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8329 \"All VNC stripe decoders and metadata cleared.\"",
        "source": "console-api",
        "timestamp": 1768881793563
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:21885 \"Received pipelineStatusUpdate message:\" Object",
        "source": "console-api",
        "timestamp": 1768881793563
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:27061 \"WebSocket disconnected, reloading page to reconnect.\"",
        "source": "console-api",
        "timestamp": 1768881793675
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:1926 \"Cleanup: Starting cleanup process...\"",
        "source": "console-api",
        "timestamp": 1768881793675
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8028 \"Clearing all VNC stripe decoders.\"",
        "source": "console-api",
        "timestamp": 1768881793675
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8329 \"All VNC stripe decoders and metadata cleared.\"",
        "source": "console-api",
        "timestamp": 1768881793676
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:2611 \"Cleanup: Finished cleanup process.\"",
        "source": "console-api",
        "timestamp": 1768881793676
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:32823 \"Tab is hidden, stopping video pipeline if active.\"",
        "source": "console-api",
        "timestamp": 1768881793686
    },
    {
        "level": "INFO",
        "message": "https://user:password@172.17.0.4:3001/src/universalTouchGamepad.js 861:12 \"Universal Touch Gamepad library loaded. Send 'TOUCH_GAMEPAD_SETUP' message to initialize.\"",
        "source": "console-api",
        "timestamp": 1768881793695
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:10651 \"Streaming mode set to: websockets\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3473 \"Canvas internal buffer reset to: 1024x768\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3776 \"Reset canvas CSS to 1024px x 768px, Pos -512,-384, object-fit: fill. Buffer: 1024x768\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 176:30839 \"Setting canvas rendering to 'pixelated' for 1:1 display.\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:6747 \"Initialized UI in Auto Resolution Mode (defaulting to 1024x768 logical for now)\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:7886 \"Dynamically added #keyboard-input-assist element.\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 486:10023 \"Pre-flight checks passed: Secure context and VideoDecoder API are available.\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:35173 \"initializeDecoder function assigned to triggerInitializeDecoder.\"",
        "source": "console-api",
        "timestamp": 1768881793704
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 79:20953 \"Dashboard: Detected browser language: en-US, using primary: en\"",
        "source": "console-api",
        "timestamp": 1768881793714
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 79:21519 \"Dashboard: Mobile detected via userAgentData.mobile:\" false",
        "source": "console-api",
        "timestamp": 1768881793714
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:3078 \"[websockets] Connection opened!\"",
        "source": "console-api",
        "timestamp": 1768881793715
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:4986 \"[websockets] Sent initial settings (resolutions are physical) to server:\" Object",
        "source": "console-api",
        "timestamp": 1768881793750
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:5181 \"[websockets] Sent initial clipboard request (cr) to server.\"",
        "source": "console-api",
        "timestamp": 1768881793750
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:5414 \"[websockets] Started sending client metrics every 500ms.\"",
        "source": "console-api",
        "timestamp": 1768881793750
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:5522 \"[websockets] Started sending backpressure ACKs every 50ms.\"",
        "source": "console-api",
        "timestamp": 1768881793750
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:16000 \"[websockets] Switched to websockets mode.\"",
        "source": "console-api",
        "timestamp": 1768881793766
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 351:16320 \"Legacy mode detected. Role from hash: controller, Slot: 1\"",
        "source": "console-api",
        "timestamp": 1768881793766
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:11157 \"Input Initialization: Applying server-provided slot 1. Gamepad will target index 0.\"",
        "source": "console-api",
        "timestamp": 1768881793766
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:11270 \"Initializing Input system...\"",
        "source": "console-api",
        "timestamp": 1768881793766
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 176:24662 \"Applying effective cursor setting. Multi-monitor: false, User Pref: false, Final: false\"",
        "source": "console-api",
        "timestamp": 1768881793769
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:14158 \"initializeInput: Auto-resolution mode. Attaching 'resize' event listener for subsequent changes.\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3473 \"Canvas internal buffer reset to: 1920x992\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:3776 \"Reset canvas CSS to 1920px x 992px, Pos 0,0, object-fit: fill. Buffer: 1920x992\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:14764 \"initializeInput: Canvas style reset to reflect current auto-dimensions: 1920x992 (logical). Initial resolution was already sent by onopen.\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:15633 \"initializeInput: Added 'input' and 'keydown' listeners to #keyboard-input-assist.\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:15930 \"Input system initialized.\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8028 \"Clearing all VNC stripe decoders.\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:8329 \"All VNC stripe decoders and metadata cleared.\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:11075 \"Input already initialized. Skipping.\"",
        "source": "console-api",
        "timestamp": 1768881793770
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:37653 \"Playback AudioContext initialized. Actual sampleRate:\" 48000 \"Initial state:\" \"suspended\"",
        "source": "console-api",
        "timestamp": 1768881793884
    },
    {
        "level": "INFO",
        "message": "https://172.17.0.4:3001/assets/index-Czjyz9bP.js 270:21885 \"Received pipelineStatusUpdate message:\" Object",
        "source": "console-api",
        "timestamp": 1768881793936
    }
]