TinyPilot Pro log dump https://tinypilotkvm.com Timestamp: 2025-01-10T20:01:11+00:00 Software versions TinyPilot version: 2.6.5 uStreamer version: 5.43 System information OS version: Linux tinypilot 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux Kernel architecture: aarch64 Userland architecture: armhf (32-bit) Distribution name: Raspbian Distribution version: 11 Hardware information Hardware: BCM2835 Revision: b03115 Model: Raspberry Pi 4 Model B Rev 1.5 TinyPilot state Read-only filesystem: off SSH access: enabled Network interfaces: eth0 (down) lo (unknown) tailscale0 (unknown) wlan0 (up) Static IP: Not set Mouse jiggler: disabled CPU Temperature: 59.9'C CPU throttled since boot: no Voltage issues: no Streaming mode Selected mode: H264 Current mode: MJPEG TinyPilot settings.yml TinyPilot configuration [Unit] Description=TinyPilot - RPi-based virtual KVM BindsTo=nginx.service After=syslog.target network.target nginx.service StartLimitIntervalSec=0 [Service] Type=simple User=tinypilot WorkingDirectory=/opt/tinypilot ExecStart=/opt/tinypilot/venv/bin/python app/main.py Environment=APP_SETTINGS_FILE=/home/tinypilot/app_settings.cfg Restart=always [Install] WantedBy=multi-user.target TinyPilot logs -- Journal begins at Fri 2025-01-10 19:17:01 GMT, ends at Fri 2025-01-10 20:01:15 GMT. -- Jan 10 19:27:41 tinypilot systemd[1]: Started TinyPilot - RPi-based virtual KVM. Jan 10 19:27:44 tinypilot python[656]: 2025-01-10 19:27:44.302 __main__ INFO Starting app Jan 10 19:50:06 tinypilot python[656]: 2025-01-10 19:50:06.642 db.store INFO Loading database migrations from /opt/tinypilot/app/db/migrations/*.sql Jan 10 19:50:06 tinypilot python[656]: 2025-01-10 19:50:06.653 db.store INFO Read 7 database migrations from disk Jan 10 19:50:06 tinypilot python[656]: 2025-01-10 19:50:06.718 socket_api INFO Client HdcToPIJvt9fQUCaAAAB connected Jan 10 20:01:11 tinypilot sudo[1611]: tinypilot : PWD=/opt/tinypilot ; USER=root ; COMMAND=/opt/tinypilot-privileged/scripts/collect-debug-logs -q Jan 10 20:01:11 tinypilot sudo[1611]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=111) Jan 10 20:01:11 tinypilot runuser[1626]: pam_unix(runuser:session): session opened for user tinypilot(uid=111) by (uid=0) Jan 10 20:01:11 tinypilot runuser[1626]: pam_unix(runuser:session): session closed for user tinypilot Jan 10 20:01:11 tinypilot runuser[1633]: pam_unix(runuser:session): session opened for user tinypilot(uid=111) by (uid=0) Jan 10 20:01:12 tinypilot runuser[1633]: pam_unix(runuser:session): session closed for user tinypilot Jan 10 20:01:12 tinypilot runuser[1642]: pam_unix(runuser:session): session opened for user tinypilot(uid=111) by (uid=0) Jan 10 20:01:15 tinypilot python[1649]: 2025-01-10 20:01:15.085 app.main INFO Starting app Jan 10 20:01:15 tinypilot python[1649]: 2025-01-10 20:01:15.253 db.store INFO Loading database migrations from /opt/tinypilot/app/db/migrations/*.sql Jan 10 20:01:15 tinypilot python[1649]: 2025-01-10 20:01:15.255 db.store INFO Read 7 database migrations from disk Jan 10 20:01:15 tinypilot runuser[1642]: pam_unix(runuser:session): session closed for user tinypilot TinyPilot update logs uStreamer configuration ==> /opt/ustreamer-launcher/configs.d/000-defaults.yml <== # Settings for TC358743 HDMI to CSI-2 bridge, which are included on the # TinyPilot Voyager series of devices. --- ustreamer_encoder: m2m-image ustreamer_format: uyvy ustreamer_use_dv_timings: true ustreamer_workers: "3" ustreamer_drop_same_frames: "30" ==> /opt/ustreamer-launcher/configs.d/100-tinypilot.yml <== uStreamer logs -- Journal begins at Fri 2025-01-10 19:17:01 GMT, ends at Fri 2025-01-10 20:01:15 GMT. -- Jan 10 19:27:40 tinypilot systemd[1]: Started uStreamer - Lightweight, optimized video encoder. Jan 10 19:27:41 tinypilot launch[521]: + exec /opt/ustreamer/ustreamer --port 48001 --persistent --h264-sink tinypilot::ustreamer::h264 --h264-sink-mode 777 --h264-sink-rm --encoder m2m-image --format uyvy --workers 3 --drop-same-frames 30 --dv-timings Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.466 main] -- Starting PiKVM uStreamer 5.43 ... Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.466 main] -- Using internal blank placeholder Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.466 main] -- Using H264-sink: tinypilot::ustreamer::h264 Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.467 main] -- Listening HTTP on [127.0.0.1]:48001 Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.467 stream] -- Using V4L2 device: /dev/video0 Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.467 stream] -- Using desired FPS: 0 Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.468 http] -- Starting HTTP eventloop ... Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.468 stream] -- H264: Initializing encoder ... Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.477 stream] -- H264: Configuring encoder: DMA=0 ... Jan 10 19:27:41 tinypilot launch[521]: ================================================================================ Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.498 stream] -- Device fd=10 opened Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.498 stream] -- Using input channel: 0 Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.526 stream] -- Using resolution: 640x480 Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.526 stream] -- Using format: UYVY Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.526 stream] -- Querying HW FPS changing is not supported Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.526 stream] -- Using IO method: MMAP Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.529 stream] -- Requested 5 device buffers, got 5 Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.537 stream] -- Capturing started Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.537 stream] -- JPEG-0: Initializing encoder ... Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.537 stream] -- JPEG-1: Initializing encoder ... Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.537 stream] -- JPEG-2: Initializing encoder ... Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.537 stream] -- Using JPEG quality: 80% Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.537 stream] -- Creating pool JPEG with 3 workers ... Jan 10 19:27:41 tinypilot launch[521]: -- INFO [9.538 stream] -- Capturing ... Jan 10 19:27:42 tinypilot launch[521]: -- ERROR [10.539 stream] -- Persistent device timeout (unplugged) Jan 10 19:27:42 tinypilot launch[521]: -- INFO [10.561 stream] -- H264: Configuring encoder: DMA=1 ... Jan 10 19:27:42 tinypilot launch[521]: -- INFO [10.561 jw-0] -- JPEG-0: Configuring encoder: DMA=0 ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [10.594 jw-1] -- JPEG-1: Configuring encoder: DMA=0 ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.153 stream] -- Got V4L2 event Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.153 stream] -- Got V4L2_EVENT_SOURCE_CHANGE: source changed Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.153 stream] -- Destroying workers pool JPEG ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.181 stream] -- Capturing stopped Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.182 stream] -- Device fd=10 closed Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.182 stream] -- Changed video frame to BLANK Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.188 stream] -- H264: Configuring encoder: DMA=0 ... Jan 10 19:27:43 tinypilot launch[521]: ================================================================================ Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.208 stream] -- Device fd=10 opened Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.209 stream] -- Using input channel: 0 Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.216 stream] -- Got new DV-timings: 1920x1080p30.00, pixclk=79872960, vsync=22, hsync=496 Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.253 stream] -- Using resolution: 1920x1080 Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.253 stream] -- Using format: UYVY Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.253 stream] -- Querying HW FPS changing is not supported Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.253 stream] -- Using IO method: MMAP Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.264 stream] -- Requested 5 device buffers, got 5 Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.271 stream] -- Capturing started Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.271 stream] -- Using JPEG quality: 80% Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.271 stream] -- Creating pool JPEG with 3 workers ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.272 stream] -- Capturing ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.295 stream] -- H264: Configuring encoder: DMA=1 ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.295 jw-0] -- JPEG-0: Configuring encoder: DMA=0 ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.335 jw-1] -- JPEG-1: Configuring encoder: DMA=0 ... Jan 10 19:27:43 tinypilot launch[521]: -- INFO [11.362 jw-2] -- JPEG-2: Configuring encoder: DMA=0 ... Jan 10 19:50:06 tinypilot launch[521]: -- INFO [38.867 http] -- HTTP: NEW client (now=1): [100.86.121.101]:40278, id=22c28d62cdad9909 nginx logs -- Journal begins at Fri 2025-01-10 19:17:01 GMT, ends at Fri 2025-01-10 20:01:15 GMT. -- Jan 10 19:27:40 tinypilot systemd[1]: Starting A high performance web server and a reverse proxy server... Jan 10 19:27:41 tinypilot systemd[1]: Started A high performance web server and a reverse proxy server. 2025/01/10 15:24:46 [error] 656#656: *119 upstream prematurely closed connection while reading response header from upstream, client: 100.86.121.101, server: tinypilot, request: "POST /api/restart HTTP/2.0", upstream: "http://127.0.0.1:48000/api/restart", host: "tinypilot", referrer: "https://tinypilot/" 2025/01/10 15:24:46 [error] 656#656: *119 connect() failed (111: Connection refused) while connecting to upstream, client: 100.86.121.101, server: tinypilot, request: "GET /stream?advance_headers=1 HTTP/2.0", subrequest: "/auth", upstream: "http://127.0.0.1:48000/api/auth", host: "tinypilot", referrer: "https://tinypilot/" 2025/01/10 15:24:46 [error] 656#656: *119 auth request unexpected status: 502 while sending response to client, client: 100.86.121.101, server: tinypilot, request: "GET /stream?advance_headers=1 HTTP/2.0", host: "tinypilot", referrer: "https://tinypilot/" 2025/01/10 15:28:20 [error] 652#652: *4 upstream prematurely closed connection while reading response header from upstream, client: 100.86.121.101, server: tinypilot, request: "POST /api/restart HTTP/2.0", upstream: "http://127.0.0.1:48000/api/restart", host: "tinypilot", referrer: "https://tinypilot/" 2025/01/10 15:28:20 [error] 652#652: *4 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 100.86.121.101, server: tinypilot, request: "GET /stream?advance_headers=1 HTTP/2.0", subrequest: "/auth", upstream: "http://127.0.0.1:48000/api/auth", host: "tinypilot", referrer: "https://tinypilot/" 2025/01/10 15:28:20 [error] 652#652: *4 auth request unexpected status: 502 while sending response to client, client: 100.86.121.101, server: tinypilot, request: "GET /stream?advance_headers=1 HTTP/2.0", host: "tinypilot", referrer: "https://tinypilot/" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /third-party/janus-gateway/1.0.0/janus.js HTTP/2.0" 200 134759 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /js/webrtc-video.js HTTP/2.0" 200 7675 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /third-party/fonts/fonts.css HTTP/2.0" 200 1812 "https://tinypilot/css/style.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /css/cursors.css HTTP/2.0" 200 618 "https://tinypilot/css/style.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /third-party/fonts/overpass-light.woff2 HTTP/2.0" 200 26568 "https://tinypilot/third-party/fonts/fonts.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /js/keyboardstate.js HTTP/2.0" 200 3122 "https://tinypilot/js/app.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /js/keystrokes.js HTTP/2.0" 200 362 "https://tinypilot/js/app.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /js/overlays.js HTTP/2.0" 200 495 "https://tinypilot/js/app.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /css/toggle.css HTTP/2.0" 200 1005 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /css/icons.css HTTP/2.0" 200 841 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /img/logo.svg HTTP/2.0" 304 0 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /img/angle-down-icon.svg HTTP/2.0" 304 0 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /img/clipboard-icon.svg HTTP/2.0" 304 0 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /img/video-stream-icon.svg HTTP/2.0" 304 0 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /third-party/fonts/overpass-mono-light.woff2 HTTP/2.0" 200 50112 "https://tinypilot/third-party/fonts/fonts.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /third-party/fonts/overpass-semibold.woff2 HTTP/2.0" 200 25032 "https://tinypilot/third-party/fonts/fonts.css" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /img/warning-icon.svg HTTP/2.0" 304 0 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /img/external-link-icon.svg HTTP/2.0" 304 0 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /socket.io/?EIO=4&transport=polling&t=PHHj4kb HTTP/2.0" 200 97 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "POST /socket.io/?EIO=4&transport=polling&t=PHHj4kn&sid=zPwk45l9ENAGPbElAAAK HTTP/2.0" 200 2 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /socket.io/?EIO=4&transport=polling&t=PHHj4ko&sid=zPwk45l9ENAGPbElAAAK HTTP/2.0" 200 32 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /favicon.ico HTTP/2.0" 200 1213 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /favicon-32x32.png HTTP/2.0" 200 833 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:36 +0000] "GET /socket.io/?EIO=4&transport=polling&t=PHHj4lI&sid=zPwk45l9ENAGPbElAAAK HTTP/2.0" 200 1 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:37 +0000] "GET /stream?advance_headers=1 HTTP/2.0" 200 472183 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:32:37 +0000] "GET /apple-touch-icon.png HTTP/2.0" 200 3571 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:50:06 +0000] "GET /socket.io/?EIO=4&transport=polling&t=PHHn4WC HTTP/2.0" 200 97 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:50:06 +0000] "POST /socket.io/?EIO=4&transport=polling&t=PHHn55H&sid=4HIcFqQLy9-4PX5kAAAA HTTP/2.0" 200 2 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:50:06 +0000] "GET /socket.io/?EIO=4&transport=polling&t=PHHn55J&sid=4HIcFqQLy9-4PX5kAAAA HTTP/2.0" 200 32 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" 100.86.121.101 - - [10/Jan/2025:19:50:06 +0000] "GET /socket.io/?EIO=4&transport=polling&t=PHHn56h&sid=4HIcFqQLy9-4PX5kAAAA HTTP/2.0" 200 1 "https://tinypilot/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"