From ba8caf344839a7de6121667c93ccdd1bd4bca0e4 Mon Sep 17 00:00:00 2001 From: Alex P Date: Thu, 9 Oct 2025 10:58:06 +0300 Subject: [PATCH] debug: add detailed logging to trace session addition flow Add comprehensive logging to identify why sessions fail to be added to the session manager: - Log entry/exit points in AddSession - Track reconnection path execution - Log max sessions limit checks - Trace AddSession call and return in handleSessionRequest This will help diagnose why sessions get stuck at ICE checking state without being properly registered in the session manager. --- app.log | 919 +++++++++++++++++++++++++++++++++++++++++ cloud.go | 6 + deploy.log | 999 +++++++++++++++++++++++++++++++++++++++++++++ session_manager.go | 16 + 4 files changed, 1940 insertions(+) create mode 100644 app.log create mode 100644 deploy.log diff --git a/app.log b/app.log new file mode 100644 index 00000000..8e248972 --- /dev/null +++ b/app.log @@ -0,0 +1,919 @@ +2025-10-09T07:52:31Z INF jetkvm gin Request body_size=30 ip=192.168.100.141 latency=403.012207 method=POST path=/auth/login-local status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:31 | 200 | 404.399374ms | 192.168.100.141 | POST "/auth/login-local" +2025-10-09T07:52:31Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.182291 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:31 | 200 | 1.485167ms | 192.168.100.141 | GET "/device/status" +2025-10-09T07:52:31Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.217 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:31 | 200 | 1.463875ms | 192.168.100.141 | GET "/device" +2025/10/09 07:52:31 http: TLS handshake error from 192.168.100.141:57339: remote error: tls: unknown certificate +2025-10-09T07:52:31Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"] +2025-10-09T07:52:31Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local +2025-10-09T07:52:31Z INF jetkvm websocket new websocket connection established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:31Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=9398 source=192.168.100.141 sourceType=local type=offer +2025-10-09T07:52:32Z INF jetkvm websocket new session request received with raw data connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDc3MjIzNTc1MzcyOTYxODg5NjYgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnZpektcclxuYT1pY2UtcHdkOnRsK2IrcXRUcUtkNVo0bTI2MFZyZTFlVFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZEOkE5OkM5OjdEOkJBOjU2OjQ5OjE2OjUxOjEyOjk5Ojk3OjI1OjExOkY2OkUyOkNBOjc4OjJEOjM3OjQ4OkU5OjE1OkIzOkQzOjQ2OkRBOkU5OjNGOkUzOjFDOjdEXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnZpektcclxuYT1pY2UtcHdkOnRsK2IrcXRUcUtkNVo0bTI2MFZyZTFlVFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZEOkE5OkM5OjdEOkJBOjU2OjQ5OjE2OjUxOjEyOjk5Ojk3OjI1OjExOkY2OkUyOkNBOjc4OjJEOjM3OjQ4OkU5OjE1OkIzOkQzOjQ2OkRBOkU5OjNGOkUzOjFDOjdEXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{}}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket parsed session request connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDc3Mj source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion pc signaling state changed to have-remote-offer +2025-10-09T07:52:32Z INF pion pc signaling state changed to stable +2025-10-09T07:52:32Z INF pion ice Setting new connection state: Checking +2025-10-09T07:52:32Z INF jetkvm websocket Local session established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket Session added to manager mode=observer sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 totalSessions=1 +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=173 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:55560887 1 udp 2122194687 192.168.64.1 64320 typ host generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 64320 typ host generation 0 ufrag vizK network-id 1 0x25fa370 0x28b7aa8 0x25fa378}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 64320 typ host generation 0 ufrag vizK network-id 1 0x25fa370 0x28b7aa8 0x25fa378}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3740741620 1 udp 2122063615 192.168.100.141 58632 typ host generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion pc ICE connection state changed: checking +2025-10-09T07:52:32Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=checking sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion pc peer connection state changed: connecting +2025-10-09T07:52:32Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:32Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":55205,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":51434,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 58632 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x25fa990 0x2332078 0x25fb460}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 58632 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x25fa990 0x2332078 0x25fb460}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 49498 typ host generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 49498 typ host generation 0 ufrag vizK network-id 2 0x25fba48 0x23330e8 0x25fba50}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 49498 typ host generation 0 ufrag vizK network-id 2 0x25fba48 0x23330e8 0x25fba50}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=217 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 58103 typ host generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 58103 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23ba138 0x23337e8 0x23ba140}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 58103 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23ba138 0x23337e8 0x23ba140}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=173 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:55560887 1 udp 2122194687 192.168.64.1 56604 typ host generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 56604 typ host generation 0 ufrag vizK network-id 1 0x23ba728 0x2333de8 0x23ba730}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:55560887 1 udp 2122194687 192.168.64.1 56604 typ host generation 0 ufrag vizK network-id 1 0x23ba728 0x2333de8 0x23ba730}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3740741620 1 udp 2122063615 192.168.100.141 59953 typ host generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 59953 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x23bad30 0x2011098 0x23bad38}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3740741620 1 udp 2122063615 192.168.100.141 59953 typ host generation 0 ufrag vizK network-id 3 network-cost 10 0x23bad30 0x2011098 0x23bad38}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 54851 typ host generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 54851 typ host generation 0 ufrag vizK network-id 2 0x23bb320 0x21aa888 0x23bb328}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2300155170 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 54851 typ host generation 0 ufrag vizK network-id 2 0x23bb320 0x21aa888 0x23bb328}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=217 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 54224 typ host generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 54224 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23bb910 0x21ab258 0x23bb918}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:447054604 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 54224 typ host generation 0 ufrag vizK network-id 4 network-cost 10 0x23bb910 0x21ab258 0x23bb918}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=186 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2380300 0x220df98 0x2380308}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2380300 0x220df98 0x2380308}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9) +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x2380ff0 0x23640b8 0x2381048}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x2380ff0 0x23640b8 0x2381048}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9) +2025-10-09T07:52:32Z INF pion ice Setting new connection state: Connected +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x23819c0 0x23648d8 0x23819c8}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x23819c0 0x23648d8 0x23819c8}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9) +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x2482788 0x2364f78 0x24827a0}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x2482788 0x2364f78 0x24827a0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9) +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=186 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2483398 0x2365628 0x24833a0}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion pc ICE connection state changed: connected +2025-10-09T07:52:32Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=connected sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2105550895 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag vizK network-id 1 0x2483398 0x2365628 0x24833a0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9) +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x261a1d8 0x2354478 0x261a1e0}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2688077164 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag vizK network-id 3 network-cost 10 0x261a1d8 0x2354478 0x261a1e0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9) +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x261a8a8 0x2354b18 0x261a8b0}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4158027706 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag vizK network-id 2 0x261a8a8 0x2354b18 0x261a8b0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9) +2025-10-09T07:52:32Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:32Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"vizK\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x261af40 0x2355208 0x261af48}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1684693396 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag vizK network-id 4 network-cost 10 0x261af40 0x2355208 0x261af48}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9) +2025-10-09T07:52:32Z INF jetkvm native running video stream file=video.c func=run_video_stream line=320 +2025-10-09T07:52:32Z INF jetkvm native opened video capture device /dev/video0 file=video.c func=run_video_stream line=337 +2025-10-09T07:52:32Z INF jetkvm native VIDIOC_REQBUFS successful file=video.c func=run_video_stream line=370 +2025-10-09T07:52:32Z INF jetkvm native allocated buffers file=video.c func=run_video_stream line=373 +2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QUERYBUF successful for buffer 0 file=video.c func=run_video_stream line=394 +2025-10-09T07:52:32Z INF jetkvm native plane: length = 4177920 file=video.c func=run_video_stream line=396 +2025-10-09T07:52:32Z INF jetkvm native plane: offset = 0 file=video.c func=run_video_stream line=397 +2025-10-09T07:52:32Z INF jetkvm native Got memory block for buffer 0 file=video.c func=run_video_stream line=406 +2025-10-09T07:52:32Z INF jetkvm native Converted memory block to file descriptor for buffer 0 file=video.c func=run_video_stream line=417 +2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QUERYBUF successful for buffer 1 file=video.c func=run_video_stream line=394 +2025-10-09T07:52:32Z INF jetkvm native plane: length = 4177920 file=video.c func=run_video_stream line=396 +2025-10-09T07:52:32Z INF jetkvm native plane: offset = 0 file=video.c func=run_video_stream line=397 +2025-10-09T07:52:32Z INF jetkvm native Got memory block for buffer 1 file=video.c func=run_video_stream line=406 +2025-10-09T07:52:32Z INF jetkvm native Converted memory block to file descriptor for buffer 1 file=video.c func=run_video_stream line=417 +2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QUERYBUF successful for buffer 2 file=video.c func=run_video_stream line=394 +2025-10-09T07:52:32Z INF jetkvm native plane: length = 4177920 file=video.c func=run_video_stream line=396 +2025-10-09T07:52:32Z INF jetkvm native plane: offset = 0 file=video.c func=run_video_stream line=397 +2025-10-09T07:52:32Z INF jetkvm native Got memory block for buffer 2 file=video.c func=run_video_stream line=406 +2025-10-09T07:52:32Z INF jetkvm native Converted memory block to file descriptor for buffer 2 file=video.c func=run_video_stream line=417 +2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QBUF successful for buffer 0 file=video.c func=run_video_stream line=436 +2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QBUF successful for buffer 1 file=video.c func=run_video_stream line=436 +2025-10-09T07:52:32Z INF jetkvm native VIDIOC_QBUF successful for buffer 2 file=video.c func=run_video_stream line=436 +2025-10-09T07:52:32Z INF pion pc peer connection state changed: connected +2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=1 label=rpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=3 label=hidrpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=22 method=generateNickname params={"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} result={"nickname":"u-chrome-3eba"} +2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=9 label=terminal source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=11 label=serial source=192.168.100.141 sourceType=local +2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=25 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=23 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=24 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=27 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0} +2025-10-09T07:52:32Z INF jetkvm jsonrpc RPC handler returned successfully id=26 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false} +2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=28 method=updateSessionNickname params={"nickname":"Admin","sessionId":"a74b6cd0-9475-4d3d-99b8-c709bccfc950"} result={"status":"updated"} +2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=30 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=31 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=29 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:34Z INF jetkvm jsonrpc RPC handler returned successfully id=ft7sfv2fmib method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:32.169469292Z","mode":"observer","nickname":"Admin","source":"192.168.100.141"}] +2025-10-09T07:52:35Z INF jetkvm websocket Primary session grace period expired - slot now available expiredSessionID=410865e3-94c9-4e55-b4fd-f6d29a9056a8 +2025-10-09T07:52:35Z INF jetkvm websocket Selected most trusted session for emergency promotion selectedSession=a74b6cd0-9475-4d3d-99b8-c709bccfc950 trustScore=35 +2025-10-09T07:52:35Z WRN jetkvm websocket EMERGENCY: Bypassing approval requirement to prevent deadlock consecutiveEmergencyPromotions=1 expiredSessionID=410865e3-94c9-4e55-b4fd-f6d29a9056a8 promotedSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 requireApproval=true trustScore=35 +2025-10-09T07:52:35Z INF jetkvm websocket Primary role transferred with bidirectional protection blacklistDuration=60000 blacklistedSessions=0 context="primary grace period expired" fromSessionID= toSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 transferType=emergency_promotion_deadlock_prevention +2025-10-09T07:52:35Z WRN jetkvm websocket Auto-promoted session after primary grace period expiration expiredSessionID=410865e3-94c9-4e55-b4fd-f6d29a9056a8 isEmergencyPromotion=true promotedSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 reason=emergency_promotion_deadlock_prevention +2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=34 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=32 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=33 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=36 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:35Z INF jetkvm jsonrpc RPC handler returned successfully id=35 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:36Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["h2","http/1.1"] +2025/10/09 07:52:36 http: TLS handshake error from 192.168.100.141:57342: remote error: tls: unknown certificate +2025-10-09T07:52:36Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["h2","http/1.1"] +2025-10-09T07:52:37Z INF jetkvm gin Request body_size=30 ip=192.168.100.141 latency=975.457973 method=POST path=/auth/login-local status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:37 | 200 | 977.306265ms | 192.168.100.141 | POST "/auth/login-local" +2025-10-09T07:52:37Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.258125 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:37 | 200 | 1.9985ms | 192.168.100.141 | GET "/device/status" +2025-10-09T07:52:37Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.353208 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:37 | 200 | 2.317584ms | 192.168.100.141 | GET "/device" +2025-10-09T07:52:37Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.397833 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:37 | 200 | 6.020001ms | 192.168.100.141 | GET "/static/favicon.ico" +2025-10-09T07:52:37Z INF jetkvm gin Request body_size=11757 ip=192.168.100.141 latency=8.402042 method=GET path=/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:37 | 200 | 29.748545ms | 192.168.100.141 | GET "/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png" +2025/10/09 07:52:37 http: TLS handshake error from 192.168.100.141:57344: remote error: tls: unknown certificate +2025-10-09T07:52:37Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"] +2025-10-09T07:52:37Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local +2025-10-09T07:52:37Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9398 source=192.168.100.141 sourceType=local type=offer +2025-10-09T07:52:38Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDQ5NTgyNTMxMzk0MzY4MzUzNzcgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjVDUWFcclxuYT1pY2UtcHdkOlU3dFZMamg2c1BoNFlWYkMrM1VIRDdlTlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEY5OjU5OjY0OjE5OkQ3OkZFOjVBOkI1OjMwOjhEOkJEOjEzOjZFOjJBOjMzOjg4Ojc5OkNGOkIxOkZGOkNCOkFGOkJCOkU2OjY5OjI1OjkzOjQ5OkUzOjc3OjdCOkFFXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjVDUWFcclxuYT1pY2UtcHdkOlU3dFZMamg2c1BoNFlWYkMrM1VIRDdlTlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEY5OjU5OjY0OjE5OkQ3OkZFOjVBOkI1OjMwOjhEOkJEOjEzOjZFOjJBOjMzOjg4Ojc5OkNGOkIxOkZGOkNCOkFGOkJCOkU2OjY5OjI1OjkzOjQ5OkUzOjc3OjdCOkFFXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{}}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDQ5NT source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF pion pc signaling state changed to have-remote-offer +2025-10-09T07:52:38Z INF pion pc signaling state changed to stable +2025-10-09T07:52:38Z INF pion ice Setting new connection state: Checking +2025-10-09T07:52:38Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket Session added to manager mode=pending sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2 +2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 64513 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 64513 typ host generation 0 ufrag 5CQa network-cost 999 0x2584c70 0x25e8438 0x2584c78}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 64513 typ host generation 0 ufrag 5CQa network-cost 999 0x2584c70 0x25e8438 0x2584c78}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 62210 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 62210 typ host generation 0 ufrag 5CQa network-cost 999 0x25852b8 0x25e8a48 0x25852c0}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 62210 typ host generation 0 ufrag 5CQa network-cost 999 0x25852b8 0x25e8a48 0x25852c0}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 61957 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF pion pc ICE connection state changed: checking +2025-10-09T07:52:38Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF pion pc peer connection state changed: connecting +2025-10-09T07:52:38Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:38Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:38Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:38Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":60367,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":57634,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 61957 typ host generation 0 ufrag 5CQa network-cost 999 0x25858b8 0x25e9098 0x25858c0}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3162110248 1 udp 2113937151 b9151458-13ae-4168-9c78-9aeea6bd62a6.local 61957 typ host generation 0 ufrag 5CQa network-cost 999 0x25858b8 0x25e9098 0x25858c0}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:38Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 59651 typ host generation 0 ufrag 5CQa network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"5CQa\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 59651 typ host generation 0 ufrag 5CQa network-cost 999 0x22d13a0 0x24de618 0x22d13a8}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2016105936 1 udp 2113939711 432e9121-fc5a-40a9-9e6b-785921fcbbda.local 59651 typ host generation 0 ufrag 5CQa network-cost 999 0x22d13a0 0x24de618 0x22d13a8}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF pion ice Setting new connection state: Connected +2025-10-09T07:52:38Z INF pion pc ICE connection state changed: connected +2025-10-09T07:52:38Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF pion pc peer connection state changed: connected +2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:52:38Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}" +2025-10-09T07:52:38Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}" +2025-10-09T07:52:38Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"usbState\",\"params\":\"configured\"}" +2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local +2025-10-09T07:52:38Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"pending","permissions":{}} +2025-10-09T07:52:38Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=generateNickname params={"userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} result={"nickname":"u-chrome-beb2"} +2025-10-09T07:52:38Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"pending","permissions":{}} +2025-10-09T07:52:38Z DBG jetkvm websocket Running periodic session validation to catch deadlock states +2025-10-09T07:52:38Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0 +2025-10-09T07:52:38Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0 +2025-10-09T07:52:38Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0 +2025-10-09T07:52:40Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=updateSessionNickname params={"nickname":"User","sessionId":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b"} result={"status":"updated"} +2025-10-09T07:52:44Z INF jetkvm jsonrpc RPC handler returned successfully id=37 method=denyNewSession params={"sessionId":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b"} result={"status":"denied"} +2025-10-09T07:52:48Z DBG jetkvm websocket Running periodic session validation to catch deadlock states +2025-10-09T07:52:48Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0 +2025-10-09T07:52:48Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0 +2025-10-09T07:52:48Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0 +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.361958 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 2.222792ms | 192.168.100.141 | GET "/" +2025-10-09T07:52:49Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025/10/09 07:52:49 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83) +2025-10-09T07:52:49Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked + body_size=0 ip=192.168.100.141 latency=11535.780367 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 101 | 11.537486909s | 192.168.100.141 | GET "/webrtc/signaling/client" +Error #01: http: connection has been hijacked +2025-10-09T07:52:49Z INF pion pc Closing PeerConnection from DTLS CloseNotify +2025-10-09T07:52:49Z WRN pion pc Failed to accept RTP stream is already closed +2025-10-09T07:52:49Z WRN pion pc Failed to accept RTCP stream is already closed +2025-10-09T07:52:49Z WRN pion ice Failed to discover mDNS candidate b9151458-13ae-4168-9c78-9aeea6bd62a6.local: mDNS: connection is closed +2025-10-09T07:52:49Z INF pion ice Setting new connection state: Closed +2025-10-09T07:52:49Z WRN pion ice Failed to discover mDNS candidate b9151458-13ae-4168-9c78-9aeea6bd62a6.local: mDNS: connection is closed +2025-10-09T07:52:49Z INF pion pc ICE connection state changed: closed +2025-10-09T07:52:49Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:49Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:49Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:49Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false +2025-10-09T07:52:49Z INF pion pc peer connection state changed: closed +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=1098 ip=192.168.100.141 latency=0.662083 method=GET path=/static/assets/immutable/vendor-CCFZcsOx.css status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 2.120709ms | 192.168.100.141 | GET "/static/assets/immutable/vendor-CCFZcsOx.css" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=16453 ip=192.168.100.141 latency=69.466841 method=GET path=/static/assets/immutable/index-3KaWki3G.css status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 71.552257ms | 192.168.100.141 | GET "/static/assets/immutable/index-3KaWki3G.css" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=68275 ip=192.168.100.141 latency=110.189052 method=GET path=/static/assets/immutable/CircularXXWeb-Book-DcdztGze.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 111.738969ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Book-DcdztGze.woff2" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=71261 ip=192.168.100.141 latency=126.929262 method=GET path=/static/assets/immutable/CircularXXWeb-Medium-B7cMW5Np.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 128.552388ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Medium-B7cMW5Np.woff2" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=70308 ip=192.168.100.141 latency=126.367804 method=GET path=/static/assets/immutable/CircularXXWeb-Regular-C2Km8yIq.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 128.163304ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Regular-C2Km8yIq.woff2" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=63764 ip=192.168.100.141 latency=126.994304 method=GET path=/static/assets/immutable/index-Cld9j8ke.js status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 128.862138ms | 192.168.100.141 | GET "/static/assets/immutable/index-Cld9j8ke.js" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=73585 ip=192.168.100.141 latency=137.795597 method=GET path=/static/assets/immutable/CircularXXWeb-Black-CPoU8bYr.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 139.221264ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Black-CPoU8bYr.woff2" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=74165 ip=192.168.100.141 latency=140.956681 method=GET path=/static/assets/immutable/CircularXXWeb-Bold-6tPVDRzI.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 142.565806ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Bold-6tPVDRzI.woff2" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=465403 ip=192.168.100.141 latency=204.449021 method=GET path=/static/assets/immutable/vendor-C8gpwofI.js status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 206.443729ms | 192.168.100.141 | GET "/static/assets/immutable/vendor-C8gpwofI.js" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.319375 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 2.403625ms | 192.168.100.141 | GET "/device/status" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.359916 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 2.349958ms | 192.168.100.141 | GET "/static/favicon.ico" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.503709 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 2.513875ms | 192.168.100.141 | GET "/device" +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=11757 ip=192.168.100.141 latency=3.626292 method=GET path=/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 5.406333ms | 192.168.100.141 | GET "/static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png" +2025/10/09 07:52:49 http: TLS handshake error from 192.168.100.141:57348: remote error: tls: unknown certificate +2025-10-09T07:52:49Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"] +2025-10-09T07:52:49Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local +2025-10-09T07:52:49Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:49Z INF jetkvm gin Request body_size=1652 ip=192.168.100.141 latency=0.484167 method=GET path=/static/assets/immutable/Terminal-D18ALJYf.js status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:49 | 200 | 2.590001ms | 192.168.100.141 | GET "/static/assets/immutable/Terminal-D18ALJYf.js" +2025-10-09T07:52:49Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer +2025-10-09T07:52:49Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDU0ODA4MDk2ODAxMzkxMDk1NTMgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnNGMXNcclxuYT1pY2UtcHdkOnF0bzR5NnV1VGZTTWVrbFBCY1ZxMFlIU1xyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDBFOjIyOkMxOjE0OjVCOkI0OkZEOjg1OkQxOjUzOjE5OkREOkFEOjdBOjc5OjUyOjg1OkI0OjAxOjg3OjRGOkI3OjA5OjE1OjI1Ojc4OjE3OkQ1OjNBOkMxOjExOkVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOnNGMXNcclxuYT1pY2UtcHdkOnF0bzR5NnV1VGZTTWVrbFBCY1ZxMFlIU1xyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDBFOjIyOkMxOjE0OjVCOkI0OkZEOjg1OkQxOjUzOjE5OkREOkFEOjdBOjc5OjUyOjg1OkI0OjAxOjg3OjRGOkI3OjA5OjE1OjI1Ojc4OjE3OkQ1OjNBOkMxOjExOkVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:49Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDU0OD source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF pion pc signaling state changed to have-remote-offer +2025-10-09T07:52:50Z INF pion pc signaling state changed to stable +2025-10-09T07:52:50Z INF pion ice Setting new connection state: Checking +2025-10-09T07:52:50Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:50Z INF jetkvm websocket Session added to manager mode=pending sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2 +2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 50466 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 50466 typ host generation 0 ufrag sF1s network-cost 999 0x25fabf8 0x24de738 0x25fac10}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 50466 typ host generation 0 ufrag sF1s network-cost 999 0x25fabf8 0x24de738 0x25fac10}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF pion pc ICE connection state changed: checking +2025-10-09T07:52:50Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF pion pc peer connection state changed: connecting +2025-10-09T07:52:50Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:50Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:50Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:50Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":37654,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":41321,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 59496 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 59496 typ host generation 0 ufrag sF1s network-cost 999 0x2026d88 0x24dfbb8 0x2026d90}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 59496 typ host generation 0 ufrag sF1s network-cost 999 0x2026d88 0x24dfbb8 0x2026d90}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 51603 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 51603 typ host generation 0 ufrag sF1s network-cost 999 0x2027dd0 0x2332398 0x2027dd8}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1927506248 1 udp 2113937151 38550a99-59ae-488c-b1ee-658f6e96ce7a.local 51603 typ host generation 0 ufrag sF1s network-cost 999 0x2027dd0 0x2332398 0x2027dd8}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:50Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 54472 typ host generation 0 ufrag sF1s network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"sF1s\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 54472 typ host generation 0 ufrag sF1s network-cost 999 0x2380b58 0x2332b98 0x2380b60}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3242279370 1 udp 2113939711 c86ee376-c723-4dcf-951f-bac1e72740c6.local 54472 typ host generation 0 ufrag sF1s network-cost 999 0x2380b58 0x2332b98 0x2380b60}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF pion ice Setting new connection state: Connected +2025-10-09T07:52:50Z INF pion pc ICE connection state changed: connected +2025-10-09T07:52:50Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF pion pc peer connection state changed: connected +2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:52:50Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}" +2025-10-09T07:52:50Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}" +2025-10-09T07:52:50Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"usbState\",\"params\":\"configured\"}" +2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"pending","permissions":{}} +2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local +2025-10-09T07:52:50Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"pending","permissions":{}} +2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=39 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=38 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:53Z INF jetkvm gin Request body_size=70850 ip=192.168.100.141 latency=14.231876 method=GET path=/static/assets/immutable/CircularXXWeb-Italic-D9ZGG85N.woff2 status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:53 | 200 | 16.559669ms | 192.168.100.141 | GET "/static/assets/immutable/CircularXXWeb-Italic-D9ZGG85N.woff2" +2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=41 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:53Z INF jetkvm jsonrpc RPC handler returned successfully id=40 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=42 method=approveNewSession params={"sessionId":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b"} result={"status":"approved"} +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=43 method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:51.631432123Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:50.278241278Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:52:50.278244195Z","mode":"observer","nickname":"User","source":"192.168.100.141"}] +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:55Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:58Z DBG jetkvm websocket Running periodic session validation to catch deadlock states +2025-10-09T07:52:58Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0 +2025-10-09T07:52:58Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0 +2025-10-09T07:52:58Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0 +2025-10-09T07:52:58Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.448291 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:58 | 200 | 3.206ms | 192.168.100.141 | GET "/" +2025-10-09T07:52:59Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025/10/09 07:52:59 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83) +2025-10-09T07:52:59Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked + body_size=0 ip=192.168.100.141 latency=9089.523079 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:59 | 101 | 9.09404158s | 192.168.100.141 | GET "/webrtc/signaling/client" +Error #01: http: connection has been hijacked +2025-10-09T07:52:59Z INF pion pc Closing PeerConnection from DTLS CloseNotify +2025-10-09T07:52:59Z WRN pion pc Failed to accept RTP stream is already closed +2025-10-09T07:52:59Z WRN pion pc Failed to accept RTCP stream is already closed +2025-10-09T07:52:59Z INF pion ice Setting new connection state: Closed +2025-10-09T07:52:59Z INF pion pc ICE connection state changed: closed +2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false +2025-10-09T07:52:59Z INF pion pc peer connection state changed: closed +2025-10-09T07:52:59Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.192208 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:59 | 200 | 2.147833ms | 192.168.100.141 | GET "/device/status" +2025-10-09T07:52:59Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.604333 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:59 | 200 | 6.507959ms | 192.168.100.141 | GET "/static/favicon.ico" +2025-10-09T07:52:59Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.351167 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:52:59 | 200 | 6.752959ms | 192.168.100.141 | GET "/device" +2025/10/09 07:52:59 http: TLS handshake error from 192.168.100.141:57352: remote error: tls: unknown certificate +2025-10-09T07:52:59Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"] +2025-10-09T07:52:59Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer +2025-10-09T07:52:59Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDE0MTkwODcxMzIzOTUyMDg1NDQgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjEzWFdcclxuYT1pY2UtcHdkOitkZm5HTEkvRzkvaEdKNC9OeTVSd2F1ZFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDRCOjJEOjg1OkEzOjVBOjE3OkYwOkU3OjYwOjAxOkE2OjQ3OjA4OjhFOjJDOjU2OkY3OkZGOjIzOjI2OjVGOjQzOkQ5OjA2OjdFOjUzOkZFOkIzOjYwOkM3OkExOjVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjEzWFdcclxuYT1pY2UtcHdkOitkZm5HTEkvRzkvaEdKNC9OeTVSd2F1ZFxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDRCOjJEOjg1OkEzOjVBOjE3OkYwOkU3OjYwOjAxOkE2OjQ3OjA4OjhFOjJDOjU2OkY3OkZGOjIzOjI2OjVGOjQzOkQ5OjA2OjdFOjUzOkZFOkIzOjYwOkM3OkExOjVBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDE0MT source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF pion pc signaling state changed to have-remote-offer +2025-10-09T07:52:59Z INF jetkvm websocket ping message received connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF pion pc signaling state changed to stable +2025-10-09T07:52:59Z INF pion ice Setting new connection state: Checking +2025-10-09T07:52:59Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z INF jetkvm websocket Session added to manager mode=observer sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2 +2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 58207 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 58207 typ host generation 0 ufrag 13XW network-cost 999 0x27da6b0 0x23323b8 0x27da6b8}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 58207 typ host generation 0 ufrag 13XW network-cost 999 0x27da6b0 0x23323b8 0x27da6b8}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 60456 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 60456 typ host generation 0 ufrag 13XW network-cost 999 0x27dad70 0x2332c30 0x27dad78}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 60456 typ host generation 0 ufrag 13XW network-cost 999 0x27dad70 0x2332c30 0x27dad78}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 59699 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 59699 typ host generation 0 ufrag 13XW network-cost 999 0x27db370 0x2333268 0x27db378}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1802241401 1 udp 2113937151 3cb86e7c-2027-4cb4-8ec8-636082e9a781.local 59699 typ host generation 0 ufrag 13XW network-cost 999 0x27db370 0x2333268 0x27db378}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:52:59Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 54689 typ host generation 0 ufrag 13XW network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"13XW\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 54689 typ host generation 0 ufrag 13XW network-cost 999 0x27db970 0x23339b8 0x27db978}" source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2940119425 1 udp 2113939711 bc616375-8492-44fd-8208-841018d31b91.local 54689 typ host generation 0 ufrag 13XW network-cost 999 0x27db970 0x23339b8 0x27db978}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF pion pc ICE connection state changed: checking +2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF pion pc peer connection state changed: connecting +2025-10-09T07:52:59Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:59Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":50814,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:52:59Z INF jetkvm display set brightness brightness=32 reason=tick_display_dim +2025-10-09T07:52:59Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":59480,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF pion ice Setting new connection state: Connected +2025-10-09T07:52:59Z INF pion pc ICE connection state changed: connected +2025-10-09T07:52:59Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm display set brightness brightness=64 reason=active_sessions_changed +2025-10-09T07:52:59Z INF pion pc peer connection state changed: connected +2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=mvahmbl65w method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:59.53331525Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:52:59.533317Z","mode":"observer","nickname":"User","source":"192.168.100.141"}] +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=13 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=12 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=15 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=17 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=14 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=16 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=20 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z INF jetkvm jsonrpc RPC handler returned successfully id=22 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:52:59Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:00Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:01Z INF jetkvm jsonrpc RPC handler returned successfully id=44 method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:59.53331525Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:52:59.533317Z","mode":"observer","nickname":"User","source":"192.168.100.141"}] +2025-10-09T07:53:03Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.376542 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:03 | 200 | 1.977209ms | 192.168.100.141 | GET "/" +2025-10-09T07:53:03Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025/10/09 07:53:03 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83) +2025-10-09T07:53:03Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked + body_size=0 ip=192.168.100.141 latency=3884.505432 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:03 | 101 | 3.886157432s | 192.168.100.141 | GET "/webrtc/signaling/client" +Error #01: http: connection has been hijacked +2025-10-09T07:53:03Z INF pion pc Closing PeerConnection from DTLS CloseNotify +2025-10-09T07:53:03Z WRN pion sctp [0x20b5088] failed to write packets on netConn: dtls fatal: conn is closed +2025-10-09T07:53:03Z WRN pion pc Failed to accept RTP stream is already closed +2025-10-09T07:53:03Z WRN pion pc Failed to accept RTCP stream is already closed +2025-10-09T07:53:03Z INF pion ice Setting new connection state: Closed +2025-10-09T07:53:03Z INF pion pc peer connection state changed: closed +2025-10-09T07:53:03Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.846417 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:03 | 200 | 8.021126ms | 192.168.100.141 | GET "/device/status" +2025-10-09T07:53:03Z INF pion pc ICE connection state changed: closed +2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false +2025-10-09T07:53:03Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.504583 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:03 | 200 | 13.140751ms | 192.168.100.141 | GET "/static/favicon.ico" +2025-10-09T07:53:03Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.1925 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:03 | 200 | 1.590167ms | 192.168.100.141 | GET "/device" +2025/10/09 07:53:03 http: TLS handshake error from 192.168.100.141:57355: remote error: tls: unknown certificate +2025-10-09T07:53:03Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"] +2025-10-09T07:53:03Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer +2025-10-09T07:53:03Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDg5NjY4MTc1NTMyMDM3NTU2NzQgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOmdGYk9cclxuYT1pY2UtcHdkOk0vUWdxTEJZSlZ0R1MrZWg5enFCcHV1TlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEQ5OjhGOjJBOkNEOjEyOjEyOkY2OjMyOkVGOkNEOkQ1OkFBOkUxOjA2OjVBOjc0OjgxOjc1OjkzOjgwOjA1OjhFOjA3OjA2OkVEOjhGOkM3OjcwOkJEOjM1OjZDOjdCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOmdGYk9cclxuYT1pY2UtcHdkOk0vUWdxTEJZSlZ0R1MrZWg5enFCcHV1TlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEQ5OjhGOjJBOkNEOjEyOjEyOkY2OjMyOkVGOkNEOkQ1OkFBOkUxOjA2OjVBOjc0OjgxOjc1OjkzOjgwOjA1OjhFOjA3OjA2OkVEOjhGOkM3OjcwOkJEOjM1OjZDOjdCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDg5Nj source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF pion pc signaling state changed to have-remote-offer +2025-10-09T07:53:03Z INF pion pc signaling state changed to stable +2025-10-09T07:53:03Z INF pion ice Setting new connection state: Checking +2025-10-09T07:53:03Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:03Z INF jetkvm websocket Session added to manager mode=observer sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2 +2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=207 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:03Z INF pion pc ICE connection state changed: checking +2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF pion pc peer connection state changed: connecting +2025-10-09T07:53:03Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:53:03Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:53:03Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:53:03Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":36470,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":38951,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 57252 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 57252 typ host generation 0 ufrag gFbO network-cost 999 0x27db700 0x24dfbf0 0x27db708}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 57252 typ host generation 0 ufrag gFbO network-cost 999 0x27db700 0x24dfbf0 0x27db708}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 64240 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 64240 typ host generation 0 ufrag gFbO network-cost 999 0x27dbd30 0x23323d8 0x27dbd38}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 64240 typ host generation 0 ufrag gFbO network-cost 999 0x27dbd30 0x23323d8 0x27dbd38}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=207 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 64018 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 64018 typ host generation 0 ufrag gFbO network-cost 999 0x29f8440 0x2332bd8 0x29f8448}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:61516173 1 udp 2113937151 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local 64018 typ host generation 0 ufrag gFbO network-cost 999 0x29f8440 0x2332bd8 0x29f8448}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:03Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 56862 typ host generation 0 ufrag gFbO network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"gFbO\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 56862 typ host generation 0 ufrag gFbO network-cost 999 0x29f8b90 0x2333268 0x29f8b98}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:3354920309 1 udp 2113939711 de34b7f1-faab-41d7-a607-5c720c36750e.local 56862 typ host generation 0 ufrag gFbO network-cost 999 0x29f8b90 0x2333268 0x29f8b98}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF pion ice Setting new connection state: Connected +2025-10-09T07:53:03Z INF pion pc ICE connection state changed: connected +2025-10-09T07:53:03Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF pion pc peer connection state changed: connected +2025-10-09T07:53:03Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:53:03Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}" +2025-10-09T07:53:03Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}" +2025-10-09T07:53:03Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"usbState\",\"params\":\"configured\"}" +2025-10-09T07:53:03Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local +2025-10-09T07:53:03Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local +2025-10-09T07:53:04Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local +2025-10-09T07:53:04Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local +2025-10-09T07:53:04Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=n2fkkg2bt29 method=getSessions params={} result=[{"created_at":"2025-10-09T07:53:03.649667705Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:03.649675872Z","mode":"observer","nickname":"User","source":"192.168.100.141"},{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"}] +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=13 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=12 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=15 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=14 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=18 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=16 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=17 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z INF jetkvm jsonrpc RPC handler returned successfully id=21 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:04Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:05Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=0.693001 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:05 | 200 | 2.765ms | 192.168.100.141 | GET "/" +2025-10-09T07:53:05Z INF pion pc Closing PeerConnection from DTLS CloseNotify +2025-10-09T07:53:05Z WRN pion pc Failed to accept RTP stream is already closed +2025-10-09T07:53:05Z WRN pion pc Failed to accept RTCP stream is already closed +2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local: mDNS: connection is closed +2025-10-09T07:53:05Z INF pion ice Setting new connection state: Closed +2025-10-09T07:53:05Z INF pion pc peer connection state changed: closed +2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate de34b7f1-faab-41d7-a607-5c720c36750e.local: mDNS: connection is closed +2025-10-09T07:53:05Z INF pion pc ICE connection state changed: closed +2025-10-09T07:53:05Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF jetkvm webrtc Cleaning up session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b reason=ice-closed sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b wasPrimary=false +2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate 0b47638e-4ec6-437d-b6ec-a8b9c7ba1ddc.local: mDNS: connection is closed +2025-10-09T07:53:05Z WRN pion ice Failed to discover mDNS candidate de34b7f1-faab-41d7-a607-5c720c36750e.local: mDNS: connection is closed +2025-10-09T07:53:05Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025/10/09 07:53:05 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83) +2025-10-09T07:53:05Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked + body_size=0 ip=192.168.100.141 latency=2154.792133 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:05 | 101 | 2.156837592s | 192.168.100.141 | GET "/webrtc/signaling/client" +Error #01: http: connection has been hijacked +2025-10-09T07:53:05Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.204458 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:05 | 200 | 1.781209ms | 192.168.100.141 | GET "/device/status" +2025-10-09T07:53:05Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.35175 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:05 | 200 | 1.967ms | 192.168.100.141 | GET "/static/favicon.ico" +2025-10-09T07:53:05Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.32375 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:05 | 200 | 2.440375ms | 192.168.100.141 | GET "/device" +2025/10/09 07:53:05 http: TLS handshake error from 192.168.100.141:57358: remote error: tls: unknown certificate +2025-10-09T07:53:05Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"] +2025-10-09T07:53:05Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF jetkvm websocket new websocket connection established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=9466 source=192.168.100.141 sourceType=local type=offer +2025-10-09T07:53:05Z INF jetkvm websocket new session request received with raw data connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDYxNTk4NzQ1NDcyNDAwNTU3NDMgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOithU3JcclxuYT1pY2UtcHdkOjU2Y2ZwZDdRbjVCZXFad0ZXT3pBUFRacVxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDFBOkJDOkU4OjQ4OkU3OkREOkUzOjc4OkREOjdDOkE5OjAzOjNFOkY4OkJFOjU5OjBGOjAzOkEzOjY5OkUyOjU0OkUzOkFBOjYzOkJFOjIzOjQ5OjBDOjA3OjlEOjlBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOithU3JcclxuYT1pY2UtcHdkOjU2Y2ZwZDdRbjVCZXFad0ZXT3pBUFRacVxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IDFBOkJDOkU4OjQ4OkU3OkREOkUzOjc4OkREOjdDOkE5OjAzOjNFOkY4OkJFOjU5OjBGOjAzOkEzOjY5OkUyOjU0OkUzOkFBOjYzOkJFOjIzOjQ5OjBDOjA3OjlEOjlBXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"bef22051-0cae-47b0-b34f-5f1d2e3cf50b\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"User\"}}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF jetkvm websocket parsed session request connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDYxNT source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF pion pc signaling state changed to have-remote-offer +2025-10-09T07:53:05Z INF pion pc signaling state changed to stable +2025-10-09T07:53:05Z INF pion ice Setting new connection state: Checking +2025-10-09T07:53:05Z INF pion pc ICE connection state changed: checking +2025-10-09T07:53:05Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=checking sessionID= source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF pion pc peer connection state changed: connecting +2025-10-09T07:53:05Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:53:05Z INF jetkvm websocket Local session established connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b sessionId=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:05Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b +2025-10-09T07:53:06Z INF jetkvm websocket Session added to manager mode=observer sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b totalSessions=2 +2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 52864 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 52864 typ host generation 0 ufrag +aSr network-cost 999 0x29f8de8 0x2c2a808 0x29f8df0}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 52864 typ host generation 0 ufrag +aSr network-cost 999 0x29f8de8 0x2c2a808 0x29f8df0}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61968 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61968 typ host generation 0 ufrag +aSr network-cost 999 0x29f9830 0x2c2b1d0 0x29f9838}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61968 typ host generation 0 ufrag +aSr network-cost 999 0x29f9830 0x2c2b1d0 0x29f9838}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 58248 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 58248 typ host generation 0 ufrag +aSr network-cost 999 0x29f9e60 0x2c2b7a8 0x29f9e68}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:1404410160 1 udp 2113937151 495aef4a-841e-42a5-8eb0-bcaf03a58d0e.local 58248 typ host generation 0 ufrag +aSr network-cost 999 0x29f9e60 0x2c2b7a8 0x29f9e68}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket received WebSocket message connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b dataLen=209 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:06Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{\"candidate\":\"candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61152 typ host generation 0 ufrag +aSr network-cost 999\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"+aSr\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61152 typ host generation 0 ufrag +aSr network-cost 999 0x2d80810 0x2c2bf78 0x2d80818}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b data="{candidate:2548512200 1 udp 2113939711 aa3875ce-379c-4e95-ab62-f4ac95ec2bb8.local 61152 typ host generation 0 ufrag +aSr network-cost 999 0x2d80810 0x2c2bf78 0x2d80818}" sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":42842,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":47500,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:53:06Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:53:06Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF pion ice Setting new connection state: Connected +2025-10-09T07:53:06Z INF pion pc ICE connection state changed: connected +2025-10-09T07:53:06Z INF jetkvm webrtc ICE Connection State has changed connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b connectionState=connected sessionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF pion pc peer connection state changed: connected +2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=1 label=rpc source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=3 label=hidrpc source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"videoInputState\",\"params\":{\"ready\":true,\"width\":1920,\"height\":1080,\"fps\":60}}" +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0} +2025-10-09T07:53:06Z WRN jetkvm jsonrpc error sending JSONRPC event error="io: read/write on closed pipe" data="{\"jsonrpc\":\"2.0\",\"method\":\"otaState\",\"params\":{\"updating\":false,\"appUpdatePending\":false,\"systemUpdatePending\":false}}" +2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=9 label=terminal source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm webrtc New DataChannel connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b id=11 label=serial source=192.168.100.141 sourceType=local +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=ih99k2kfazt method=getSessions params={} result=[{"created_at":"2025-10-09T07:52:32.169467542Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:52:58.883163643Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:53:06.000931775Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:06.000933816Z","mode":"observer","nickname":"User","source":"192.168.100.141"}] +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"observer","permissions":{"mount.list":true,"session.request_primary":true,"video.view":true}} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:06Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:08Z DBG jetkvm websocket Running periodic session validation to catch deadlock states +2025-10-09T07:53:08Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0 +2025-10-09T07:53:08Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0 +2025-10-09T07:53:08Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0 +2025-10-09T07:53:09Z INF jetkvm gin Request body_size=2837 ip=192.168.100.141 latency=2.827709 method=GET path=/ status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:09 | 200 | 5.036208ms | 192.168.100.141 | GET "/" +2025-10-09T07:53:09Z WRN jetkvm websocket websocket read error error="failed to get reader: received close frame: status = StatusGoingAway and reason = \"\"" connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025/10/09 07:53:09 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83) +2025-10-09T07:53:09Z INF jetkvm gin Request with errors: Error #01: http: connection has been hijacked + body_size=0 ip=192.168.100.141 latency=37128.988105 method=GET path=/webrtc/signaling/client status=101 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:09 | 101 | 37.130508856s | 192.168.100.141 | GET "/webrtc/signaling/client" +Error #01: http: connection has been hijacked +2025-10-09T07:53:09Z INF pion pc Closing PeerConnection from DTLS CloseNotify +2025-10-09T07:53:09Z WRN pion sctp [0x254a168] failed to write packets on netConn: dtls fatal: conn is closed +2025-10-09T07:53:09Z INF jetkvm gin Request body_size=16 ip=192.168.100.141 latency=0.283792 method=GET path=/device/status status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:09 | 200 | 2.38875ms | 192.168.100.141 | GET "/device/status" +2025-10-09T07:53:09Z WRN pion pc Failed to accept RTP stream is already closed +2025-10-09T07:53:09Z WRN pion pc Failed to accept RTCP stream is already closed +2025-10-09T07:53:09Z INF pion ice Setting new connection state: Closed +2025-10-09T07:53:09Z INF pion pc peer connection state changed: closed +2025-10-09T07:53:09Z INF pion pc ICE connection state changed: closed +2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=closed sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State is closed, cleaning up connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm webrtc Cleaning up session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 reason=ice-closed sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket Session removed from manager remainingSessions=1 sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 wasPrimary=true +2025-10-09T07:53:09Z INF jetkvm websocket Primary session removed, grace period active gracePeriod=10000 remainingSessions=1 sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:09Z INF jetkvm gin Request body_size=74 ip=192.168.100.141 latency=0.2975 method=GET path=/device status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:09 | 200 | 2.466042ms | 192.168.100.141 | GET "/device" +2025-10-09T07:53:09Z INF jetkvm gin Request body_size=1133 ip=192.168.100.141 latency=0.433708 method=GET path=/static/favicon.ico status=200 user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" +[GIN] 2025/10/09 - 07:53:09 | 200 | 2.262458ms | 192.168.100.141 | GET "/static/favicon.ico" +2025/10/09 07:53:09 http: TLS handshake error from 192.168.100.141:57360: remote error: tls: unknown certificate +2025-10-09T07:53:09Z INF jetkvm websecure TLS handshake hostname=192.168.100.214 supported_protos=["http/1.1"] +2025-10-09T07:53:09Z INF jetkvm websocket new websocket connection established source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket new websocket connection established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=9467 source=192.168.100.141 sourceType=local type=offer +2025-10-09T07:53:09Z INF jetkvm websocket new session request received with raw data connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataRaw="{\"sd\":\"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDMwNTE2NjcwMzE4NTgzMTg3OTAgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDFcclxuYT1leHRtYXAtYWxsb3ctbWl4ZWRcclxuYT1tc2lkLXNlbWFudGljOiBXTVNcclxubT12aWRlbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDk2IDk3IDk4IDk5IDEwMCAxMDEgMzUgMzYgMzcgMzggMTAzIDEwNCAxMDcgMTA4IDEwOSAxMTQgMTE1IDExNiAxMTcgMTE4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDExOSAxMjAgMTIxIDEyMiA0OSA1MCA1MSA1MiAxMjMgMTI0IDEyNSA1M1xyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOkcvV1BcclxuYT1pY2UtcHdkOlQxL3ZSNDEwc3k3OTBKTjlJeUFzckFHRlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZFOjIzOjVEOkQzOjYwOkI2Ojg2OjU5OjJEOjk1OkI2OjBEOjJDOkU1OjVEOjREOjVGOjZCOjlBOkM1OkNFOkZBOjA5OkI4OkY4OkU2OjM2OkEwOjgyOkI0OjI3OkZCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDowXHJcbmE9ZXh0bWFwOjEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoyIGh0dHA6Ly93d3cud2VicnRjLm9yZy9leHBlcmltZW50cy9ydHAtaGRyZXh0L2Ficy1zZW5kLXRpbWVcclxuYT1leHRtYXA6MyB1cm46M2dwcDp2aWRlby1vcmllbnRhdGlvblxyXG5hPWV4dG1hcDo0IGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtaG9sbWVyLXJtY2F0LXRyYW5zcG9ydC13aWRlLWNjLWV4dGVuc2lvbnMtMDFcclxuYT1leHRtYXA6NSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6OSB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDoxMCB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOnJ0cC1zdHJlYW0taWRcclxuYT1leHRtYXA6MTEgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6c2RlczpyZXBhaXJlZC1ydHAtc3RyZWFtLWlkXHJcbmE9cmVjdm9ubHlcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1mbXRwOjk4IHByb2ZpbGUtaWQ9MFxyXG5hPXJ0cG1hcDo5OSBydHgvOTAwMDBcclxuYT1mbXRwOjk5IGFwdD05OFxyXG5hPXJ0cG1hcDoxMDAgVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDAgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDAgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDAgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTAwIG5hY2tcclxuYT1ydGNwLWZiOjEwMCBuYWNrIHBsaVxyXG5hPWZtdHA6MTAwIHByb2ZpbGUtaWQ9MlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDozNSBWUDkvOTAwMDBcclxuYT1ydGNwLWZiOjM1IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzUgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozNSBjY20gZmlyXHJcbmE9cnRjcC1mYjozNSBuYWNrXHJcbmE9cnRjcC1mYjozNSBuYWNrIHBsaVxyXG5hPWZtdHA6MzUgcHJvZmlsZS1pZD0xXHJcbmE9cnRwbWFwOjM2IHJ0eC85MDAwMFxyXG5hPWZtdHA6MzYgYXB0PTM1XHJcbmE9cnRwbWFwOjM3IFZQOS85MDAwMFxyXG5hPXJ0Y3AtZmI6MzcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjozNyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjM3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjM3IG5hY2tcclxuYT1ydGNwLWZiOjM3IG5hY2sgcGxpXHJcbmE9Zm10cDozNyBwcm9maWxlLWlkPTNcclxuYT1ydHBtYXA6MzggcnR4LzkwMDAwXHJcbmE9Zm10cDozOCBhcHQ9MzdcclxuYT1ydHBtYXA6MTAzIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMyBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMyBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDMgbmFja1xyXG5hPXJ0Y3AtZmI6MTAzIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDMgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTQyMDAxZlxyXG5hPXJ0cG1hcDoxMDQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDQgYXB0PTEwM1xyXG5hPXJ0cG1hcDoxMDcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTA3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTA3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTA3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEwNyBuYWNrXHJcbmE9cnRjcC1mYjoxMDcgbmFjayBwbGlcclxuYT1mbXRwOjEwNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9NDIwMDFmXHJcbmE9cnRwbWFwOjEwOCBydHgvOTAwMDBcclxuYT1mbXRwOjEwOCBhcHQ9MTA3XHJcbmE9cnRwbWFwOjEwOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMDkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMDkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTA5IG5hY2tcclxuYT1ydGNwLWZiOjEwOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTA5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD00MmUwMWZcclxuYT1ydHBtYXA6MTE0IHJ0eC85MDAwMFxyXG5hPWZtdHA6MTE0IGFwdD0xMDlcclxuYT1ydHBtYXA6MTE1IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjExNSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjExNSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjExNSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMTUgbmFja1xyXG5hPXJ0Y3AtZmI6MTE1IG5hY2sgcGxpXHJcbmE9Zm10cDoxMTUgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTQyZTAxZlxyXG5hPXJ0cG1hcDoxMTYgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMTYgYXB0PTExNVxyXG5hPXJ0cG1hcDoxMTcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTE3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTE3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTE3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjExNyBuYWNrXHJcbmE9cnRjcC1mYjoxMTcgbmFjayBwbGlcclxuYT1mbXRwOjExNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NGQwMDFmXHJcbmE9cnRwbWFwOjExOCBydHgvOTAwMDBcclxuYT1mbXRwOjExOCBhcHQ9MTE3XHJcbmE9cnRwbWFwOjM5IEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjM5IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MzkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjozOSBjY20gZmlyXHJcbmE9cnRjcC1mYjozOSBuYWNrXHJcbmE9cnRjcC1mYjozOSBuYWNrIHBsaVxyXG5hPWZtdHA6MzkgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTRkMDAxZlxyXG5hPXJ0cG1hcDo0MCBydHgvOTAwMDBcclxuYT1mbXRwOjQwIGFwdD0zOVxyXG5hPXJ0cG1hcDo0MSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjo0MSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQxIHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDEgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDEgbmFja1xyXG5hPXJ0Y3AtZmI6NDEgbmFjayBwbGlcclxuYT1mbXRwOjQxIGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD1mNDAwMWZcclxuYT1ydHBtYXA6NDIgcnR4LzkwMDAwXHJcbmE9Zm10cDo0MiBhcHQ9NDFcclxuYT1ydHBtYXA6NDMgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6NDMgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0MyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQzIGNjbSBmaXJcclxuYT1ydGNwLWZiOjQzIG5hY2tcclxuYT1ydGNwLWZiOjQzIG5hY2sgcGxpXHJcbmE9Zm10cDo0MyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0wO3Byb2ZpbGUtbGV2ZWwtaWQ9ZjQwMDFmXHJcbmE9cnRwbWFwOjQ0IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDQgYXB0PTQzXHJcbmE9cnRwbWFwOjQ1IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDUgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ1IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ1IG5hY2tcclxuYT1ydGNwLWZiOjQ1IG5hY2sgcGxpXHJcbmE9Zm10cDo0NSBsZXZlbC1pZHg9NTtwcm9maWxlPTA7dGllcj0wXHJcbmE9cnRwbWFwOjQ2IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDYgYXB0PTQ1XHJcbmE9cnRwbWFwOjQ3IEFWMS85MDAwMFxyXG5hPXJ0Y3AtZmI6NDcgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjo0NyB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjQ3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjQ3IG5hY2tcclxuYT1ydGNwLWZiOjQ3IG5hY2sgcGxpXHJcbmE9Zm10cDo0NyBsZXZlbC1pZHg9NTtwcm9maWxlPTE7dGllcj0wXHJcbmE9cnRwbWFwOjQ4IHJ0eC85MDAwMFxyXG5hPWZtdHA6NDggYXB0PTQ3XHJcbmE9cnRwbWFwOjExOSBIMjY0LzkwMDAwXHJcbmE9cnRjcC1mYjoxMTkgZ29vZy1yZW1iXHJcbmE9cnRjcC1mYjoxMTkgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjoxMTkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6MTE5IG5hY2tcclxuYT1ydGNwLWZiOjExOSBuYWNrIHBsaVxyXG5hPWZtdHA6MTE5IGxldmVsLWFzeW1tZXRyeS1hbGxvd2VkPTE7cGFja2V0aXphdGlvbi1tb2RlPTE7cHJvZmlsZS1sZXZlbC1pZD02NDAwMWZcclxuYT1ydHBtYXA6MTIwIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIwIGFwdD0xMTlcclxuYT1ydHBtYXA6MTIxIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEyMSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEyMSB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEyMSBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMjEgbmFja1xyXG5hPXJ0Y3AtZmI6MTIxIG5hY2sgcGxpXHJcbmE9Zm10cDoxMjEgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MDtwcm9maWxlLWxldmVsLWlkPTY0MDAxZlxyXG5hPXJ0cG1hcDoxMjIgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjIgYXB0PTEyMVxyXG5hPXJ0cG1hcDo0OSBIMjY1LzkwMDAwXHJcbmE9cnRjcC1mYjo0OSBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjQ5IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6NDkgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6NDkgbmFja1xyXG5hPXJ0Y3AtZmI6NDkgbmFjayBwbGlcclxuYT1mbXRwOjQ5IGxldmVsLWlkPTE4MDtwcm9maWxlLWlkPTE7dGllci1mbGFnPTA7dHgtbW9kZT1TUlNUXHJcbmE9cnRwbWFwOjUwIHJ0eC85MDAwMFxyXG5hPWZtdHA6NTAgYXB0PTQ5XHJcbmE9cnRwbWFwOjUxIEgyNjUvOTAwMDBcclxuYT1ydGNwLWZiOjUxIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTEgdHJhbnNwb3J0LWNjXHJcbmE9cnRjcC1mYjo1MSBjY20gZmlyXHJcbmE9cnRjcC1mYjo1MSBuYWNrXHJcbmE9cnRjcC1mYjo1MSBuYWNrIHBsaVxyXG5hPWZtdHA6NTEgbGV2ZWwtaWQ9MTgwO3Byb2ZpbGUtaWQ9Mjt0aWVyLWZsYWc9MDt0eC1tb2RlPVNSU1RcclxuYT1ydHBtYXA6NTIgcnR4LzkwMDAwXHJcbmE9Zm10cDo1MiBhcHQ9NTFcclxuYT1ydHBtYXA6MTIzIHJlZC85MDAwMFxyXG5hPXJ0cG1hcDoxMjQgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMjQgYXB0PTEyM1xyXG5hPXJ0cG1hcDoxMjUgdWxwZmVjLzkwMDAwXHJcbmE9cnRwbWFwOjUzIGZsZXhmZWMtMDMvOTAwMDBcclxuYT1ydGNwLWZiOjUzIGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6NTMgdHJhbnNwb3J0LWNjXHJcbmE9Zm10cDo1MyByZXBhaXItd2luZG93PTEwMDAwMDAwXHJcbm09YXBwbGljYXRpb24gOSBVRFAvRFRMUy9TQ1RQIHdlYnJ0Yy1kYXRhY2hhbm5lbFxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOkcvV1BcclxuYT1pY2UtcHdkOlQxL3ZSNDEwc3k3OTBKTjlJeUFzckFHRlxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGVcclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEZFOjIzOjVEOkQzOjYwOkI2Ojg2OjU5OjJEOjk1OkI2OjBEOjJDOkU1OjVEOjREOjVGOjZCOjlBOkM1OkNFOkZBOjA5OkI4OkY4OkU2OjM2OkEwOjgyOkI0OjI3OkZCXHJcbmE9c2V0dXA6YWN0cGFzc1xyXG5hPW1pZDoxXHJcbmE9c2N0cC1wb3J0OjUwMDBcclxuYT1tYXgtbWVzc2FnZS1zaXplOjI2MjE0NFxyXG4ifQ==\",\"sessionId\":\"a74b6cd0-9475-4d3d-99b8-c709bccfc950\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36\",\"sessionSettings\":{\"nickname\":\"Admin\"}}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket parsed session request connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sd=eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDMwNT source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF pion pc signaling state changed to have-remote-offer +2025-10-09T07:53:09Z INF pion pc signaling state changed to stable +2025-10-09T07:53:09Z INF pion ice Setting new connection state: Checking +2025-10-09T07:53:09Z INF jetkvm websocket Local session established connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket Session reconnected within grace period - cleaned up grace period entries sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:09Z INF jetkvm websocket Session added to manager mode=observer sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 totalSessions=2 +2025-10-09T07:53:09Z INF jetkvm websocket Auto-promoting observer to primary - no primary sessions exist and no grace period active promotedSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:09Z INF jetkvm websocket Primary role transferred with bidirectional protection blacklistDuration=60000 blacklistedSessions=1 context="no primary sessions detected" fromSessionID= toSessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 transferType=emergency_auto_promotion +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=175 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1476888005 1 udp 2122194687 192.168.64.1 52377 typ host generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 52377 typ host generation 0 ufrag G/WP network-id 1 0x2585630 0x225b6a8 0x2585640}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 52377 typ host generation 0 ufrag G/WP network-id 1 0x2585630 0x225b6a8 0x2585640}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2243911814 1 udp 2122063615 192.168.100.141 58240 typ host generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 58240 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x2585e60 0x225bdb8 0x2585e68}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF pion pc ICE connection state changed: checking +2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=checking sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF pion pc peer connection state changed: connecting +2025-10-09T07:53:09Z WRN pion ice Failed to ping without candidate pairs. Connection is not possible yet. +2025-10-09T07:53:09Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"192.168.100.214","component":1,"foundation":"4195823925","port":44326,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate={"address":"2a02:2f0b:a209:8800:46b7:d0ff:fee6:8ea6","component":1,"foundation":"4248979185","port":47097,"priority":2130706431,"protocol":1,"relatedAddress":"","relatedPort":0,"sdpMLineIndex":0,"sdpMid":"0","tcpType":"","type":"host"} connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm webrtc WebRTC peerConnection has a new ICE candidate candidate=null connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 58240 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x2585e60 0x225bdb8 0x2585e68}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 55670 typ host generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 55670 typ host generation 0 ufrag G/WP network-id 2 0x28c64a8 0x240d108 0x28c64b0}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 55670 typ host generation 0 ufrag G/WP network-id 2 0x28c64a8 0x240d108 0x28c64b0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=218 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 55952 typ host generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 55952 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x28c6ad0 0x240d7b8 0x28c6ae0}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 55952 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x28c6ad0 0x240d7b8 0x28c6ae0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=175 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1476888005 1 udp 2122194687 192.168.64.1 54686 typ host generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 54686 typ host generation 0 ufrag G/WP network-id 1 0x28c72c8 0x23be028 0x28c72d0}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1476888005 1 udp 2122194687 192.168.64.1 54686 typ host generation 0 ufrag G/WP network-id 1 0x28c72c8 0x23be028 0x28c72d0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=194 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2243911814 1 udp 2122063615 192.168.100.141 52695 typ host generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 52695 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x28c79d8 0x23be648 0x28c79e0}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2243911814 1 udp 2122063615 192.168.100.141 52695 typ host generation 0 ufrag G/WP network-id 3 network-cost 10 0x28c79d8 0x23be648 0x28c79e0}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=200 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 56531 typ host generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 56531 typ host generation 0 ufrag G/WP network-id 2 0x22f2148 0x23beda8 0x22f2150}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:3528579664 1 udp 2122265343 fd62:e16d:61a5:348e:cc:f095:67f8:f860 56531 typ host generation 0 ufrag G/WP network-id 2 0x22f2148 0x23beda8 0x22f2150}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=218 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 63034 typ host generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 63034 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x22f2978 0x23bf3d8 0x22f2980}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1106103422 1 udp 2122131711 2a02:2f0b:a209:8800:b134:7898:d874:9bec 63034 typ host generation 0 ufrag G/WP network-id 4 network-cost 10 0x22f2978 0x23bf3d8 0x22f2980}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=185 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x22f3250 0x23bfbf8 0x22f3270}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x22f3250 0x23bfbf8 0x22f3270}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9) +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF pion ice Setting new connection state: Connected +2025-10-09T07:53:09Z INF pion pc ICE connection state changed: connected +2025-10-09T07:53:09Z INF jetkvm webrtc ICE Connection State has changed connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 connectionState=connected sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm jsonrpc RPC channel not available +2025-10-09T07:53:09Z INF jetkvm websocket Sent WebRTC reconnection signal to promoted session newMode=primary sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 transferType=emergency_auto_promotion +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x25fa770 0x28b6a98 0x25fa778}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x25fa770 0x28b6a98 0x25fa778}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9) +2025-10-09T07:53:09Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:09Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x25faf70 0x28b7368 0x25faf78}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:09Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x25faf70 0x28b7368 0x25faf78}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9) +2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"0\",\"sdpMLineIndex\":0,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x25fb610 0x28b7a38 0x25fb618}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x25fb610 0x28b7a38 0x25fb618}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9) +2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=185 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x25fbeb0 0x25e8210 0x25fbeb8}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:650667869 1 tcp 1518214911 192.168.64.1 9 typ host tcptype active generation 0 ufrag G/WP network-id 1 0x25fbeb0 0x25e8210 0x25fbeb8}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.64.1:9 (resolved: 192.168.64.1:9) +2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=205 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x2027978 0x25e8f78 0x2027980}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:4218454558 1 tcp 1518083839 192.168.100.141 9 typ host tcptype active generation 0 ufrag G/WP network-id 3 network-cost 10 0x2027978 0x25e8f78 0x2027980}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp4 host 192.168.100.141:9 (resolved: 192.168.100.141:9) +2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=211 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x2380628 0x25e9608 0x2380630}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:2896050376 1 tcp 1518285567 fd62:e16d:61a5:348e:cc:f095:67f8:f860 9 typ host tcptype active generation 0 ufrag G/WP network-id 2 0x2380628 0x25e9608 0x2380630}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9 (resolved: [fd62:e16d:61a5:348e:cc:f095:67f8:f860]:9) +2025-10-09T07:53:10Z INF jetkvm websocket received WebSocket message connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 dataLen=229 source=192.168.100.141 sourceType=local type=new-ice-candidate +2025-10-09T07:53:10Z INF jetkvm websocket The client sent us a new ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{\"candidate\":\"candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10\",\"sdpMid\":\"1\",\"sdpMLineIndex\":1,\"usernameFragment\":\"G/WP\"}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket unmarshalled incoming ICE candidate connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x2381160 0x25e9ca8 0x2381168}" source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm websocket adding incoming ICE candidate to correct session connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 data="{candidate:1059204838 1 tcp 1518151935 2a02:2f0b:a209:8800:b134:7898:d874:9bec 9 typ host tcptype active generation 0 ufrag G/WP network-id 4 network-cost 10 0x2381160 0x25e9ca8 0x2381168}" sessionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF pion ice Ignoring remote candidate with tcpType active: tcp6 host [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9 (resolved: [2a02:2f0b:a209:8800:b134:7898:d874:9bec]:9) +2025-10-09T07:53:10Z INF pion pc peer connection state changed: connected +2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=1 label=rpc source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm native video state updated state={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=3 label=hidrpc source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=5 label=hidrpc-unreliable-ordered source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=1 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=7 label=hidrpc-unreliable-nonordered source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=9 label=terminal source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm webrtc New DataChannel connectionID=a74b6cd0-9475-4d3d-99b8-c709bccfc950 id=11 label=serial source=192.168.100.141 sourceType=local +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=3 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=5hmdy2isjv8 method=getSessions params={} result=[{"created_at":"2025-10-09T07:53:09.811387407Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:53:09.811389741Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:53:06.000931775Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:06.000933816Z","mode":"observer","nickname":"User","source":"192.168.100.141"}] +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=2 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=6 method=getVideoState params={} result={"fps":60,"height":1080,"ready":true,"width":1920} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=4 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=5 method=getPermissions params={} result={"mode":"primary","permissions":{"clipboard.paste":true,"extension.atx":true,"extension.dc":true,"extension.manage":true,"extension.serial":true,"extension.wol":true,"keyboard.input":true,"mount.list":true,"mount.media":true,"mount.unmedia":true,"mouse.input":true,"power.control":true,"serial.access":true,"session.approve":true,"session.kick":true,"session.manage":true,"session.release_primary":true,"session.request_primary":false,"session.transfer":true,"settings.access":true,"settings.read":true,"settings.write":true,"system.network":true,"system.reboot":true,"system.update":true,"terminal.access":true,"usb.control":true,"video.view":true}} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=8 method=getKeyDownState params={} result={"keys":[0,0,0,0,0,0],"modifier":0} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=7 method=getKeyboardLedState params={} result={"caps_lock":false,"compose":false,"kana":false,"num_lock":false,"scroll_lock":false,"shift":false} +2025-10-09T07:53:10Z INF jetkvm terminal Set terminal size cols=80 data_channel_id=9 rows=24 session_id=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=9 method=getKeyboardMacros params={} result=[{"id":"eiropb3","name":"kvm-1","sortOrder":1,"steps":[{"delay":200,"keys":null,"modifiers":["ControlLeft"]},{"delay":200,"keys":null,"modifiers":["ControlLeft"]},{"delay":200,"keys":["Digit1"],"modifiers":null}]}] +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=10 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=12 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=14 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=13 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=16 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=15 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=18 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=17 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z INF jetkvm jsonrpc RPC handler returned successfully id=21 method=getLocalVersion params={} result={"appVersion":"0.4.8","systemVersion":"0.2.5+202509282213"} +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:10Z WRN jetkvm jsonrpc RPC rate limit exceeded sessionId=a74b6cd0-9475-4d3d-99b8-c709bccfc950 +2025-10-09T07:53:18Z DBG jetkvm websocket Running periodic session validation to catch deadlock states +2025-10-09T07:53:18Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0 +2025-10-09T07:53:18Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0 +2025-10-09T07:53:18Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0 +2025-10-09T07:53:28Z DBG jetkvm websocket Running periodic session validation to catch deadlock states +2025-10-09T07:53:28Z DBG jetkvm websocket validateSinglePrimary: checking sm.sessions map sm.sessions_keys=[] sm.sessions_len=0 +2025-10-09T07:53:28Z DBG jetkvm websocket validateSinglePrimary state check hasActivePrimaryGracePeriod=false primarySessionCount=0 primarySessionID= sessionIDs=[] totalSessions=0 +2025-10-09T07:53:28Z DBG jetkvm websocket Emergency auto-promotion conditions not met hasActivePrimaryGracePeriod=false hasSessions=false primarySessionID= primarySessions=0 +2025-10-09T07:53:33Z INF jetkvm websocket ping message received connectionID=bef22051-0cae-47b0-b34f-5f1d2e3cf50b source=192.168.100.141 sourceType=local +2025-10-09T07:53:35Z INF jetkvm jsonrpc RPC handler returned successfully id=11 method=getSessions params={} result=[{"created_at":"2025-10-09T07:53:09.811387407Z","id":"a74b6cd0-9475-4d3d-99b8-c709bccfc950","identity":"","last_active":"2025-10-09T07:53:31.894144376Z","mode":"primary","nickname":"Admin","source":"192.168.100.141"},{"created_at":"2025-10-09T07:53:06.000931775Z","id":"bef22051-0cae-47b0-b34f-5f1d2e3cf50b","identity":"","last_active":"2025-10-09T07:53:06.000933816Z","mode":"observer","nickname":"User","source":"192.168.100.141"}] diff --git a/cloud.go b/cloud.go index 479d37b0..8657376b 100644 --- a/cloud.go +++ b/cloud.go @@ -512,7 +512,12 @@ func handleSessionRequest( _ = wsjson.Write(context.Background(), c, gin.H{"error": "session manager not initialized"}) return fmt.Errorf("session manager not initialized") } + scopedLogger.Debug().Msg("About to call AddSession") err = sessionManager.AddSession(session, req.SessionSettings) + scopedLogger.Debug(). + Bool("addSessionSucceeded", err == nil). + Str("error", fmt.Sprintf("%v", err)). + Msg("AddSession returned") if err != nil { scopedLogger.Warn().Err(err).Msg("failed to add session to session manager") if err == ErrMaxSessionsReached { @@ -522,6 +527,7 @@ func handleSessionRequest( } return err } + scopedLogger.Debug().Msg("AddSession completed successfully, continuing") if session.HasPermission(PermissionPaste) { cancelKeyboardMacro() diff --git a/deploy.log b/deploy.log new file mode 100644 index 00000000..c96e4015 --- /dev/null +++ b/deploy.log @@ -0,0 +1,999 @@ +▶ Building frontend(B + +added 429 packages, and audited 430 packages in 15s + +142 packages are looking for funding + run `npm fund` for details + +found 0 vulnerabilities + +> kvm-ui@2025.10.01.1900 build:device +> tsc && vite build --mode=device --emptyOutDir + +vite v7.1.7 building for device... +transforming... +✓ 2995 modules transformed. +rendering chunks... +10:50:06 info [plugin vite:reporter] +10:50:06 info (!) /workspaces/kvm/ui/src/hooks/hidRpc.ts is dynamically imported by /workspaces/kvm/ui/src/hooks/usePermissions.ts but also statically imported by /workspaces/kvm/ui/src/hooks/useHidRpc.ts, /workspaces/kvm/ui/src/hooks/useKeyboard.ts, dynamic import will not move module into another chunk. +10:50:06 info  +computing gzip size... +../static/index.html 2.84 kB │ gzip: 0.95 kB +../static/assets/immutable/netboot-icon-OoGRDuxL.svg 10.60 kB │ gzip: 4.51 kB +../static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png 13.38 kB +../static/assets/immutable/CircularXXWeb-Book-DcdztGze.woff2 68.28 kB +../static/assets/immutable/CircularXXWeb-Thin-CgvRHm5r.woff2 69.73 kB +../static/assets/immutable/CircularXXWeb-ThinItalic-BbeKWZX4.woff2 69.82 kB +../static/assets/immutable/CircularXXWeb-Regular-C2Km8yIq.woff2 70.32 kB +../static/assets/immutable/CircularXXWeb-Italic-D9ZGG85N.woff2 70.87 kB +../static/assets/immutable/CircularXXWeb-BookItalic-Dot97ozQ.woff2 70.92 kB +../static/assets/immutable/CircularXXWeb-Medium-B7cMW5Np.woff2 71.26 kB +../static/assets/immutable/CircularXXWeb-MediumItalic-Cw0wlEIE.woff2 72.14 kB +../static/assets/immutable/CircularXXWeb-BlackItalic-2aNe932P.woff2 72.99 kB +../static/assets/immutable/CircularXXWeb-LightItalic-DkMJsSQn.woff2 73.33 kB +../static/assets/immutable/CircularXXWeb-Light-COmyZsa9.woff2 73.63 kB +../static/assets/immutable/CircularXXWeb-Black-CPoU8bYr.woff2 73.63 kB +../static/assets/immutable/CircularXXWeb-BoldItalic-BY-z05Z9.woff2 73.76 kB +../static/assets/immutable/CircularXXWeb-Bold-6tPVDRzI.woff2 74.18 kB +../static/assets/immutable/CircularXXWeb-ExtraBlackItalic-B8bd8esZ.woff2 75.12 kB +../static/assets/immutable/CircularXXWeb-ExtraBlack-zwQ9rYrv.woff2 76.17 kB +../static/assets/immutable/jetkvm-device-still-ktpTGyfA.png 188.53 kB +../static/assets/immutable/vendor-CCFZcsOx.css 3.55 kB │ gzip: 1.08 kB +../static/assets/immutable/index-3KaWki3G.css 108.89 kB │ gzip: 16.78 kB +../static/assets/immutable/AutoHeight-DNMbSxBi.js 0.40 kB │ gzip: 0.30 kB +../static/assets/immutable/FeatureFlag-855--3Uu.js 0.56 kB │ gzip: 0.38 kB +../static/assets/immutable/login-DgMlvF3w.js 0.65 kB │ gzip: 0.39 kB +../static/assets/immutable/signup-DMhqwHQu.js 0.68 kB │ gzip: 0.40 kB +../static/assets/immutable/devices._id.settings.macros.add-DDjpsiXg.js 0.86 kB │ gzip: 0.57 kB +../static/assets/immutable/devices._id.settings.appearance-rcsCK-dd.js 0.94 kB │ gzip: 0.53 kB +../static/assets/immutable/devices._id.settings.general.reboot-D1BydeXg.js 1.04 kB │ gzip: 0.54 kB +../static/assets/immutable/UpdateInProgressStatusCard-C8LiG7ED.js 1.09 kB │ gzip: 0.55 kB +../static/assets/immutable/devices._id.other-session-Btp0SIz5.js 1.12 kB │ gzip: 0.57 kB +../static/assets/immutable/devices.already-adopted-CWNUx188.js 1.20 kB │ gzip: 0.58 kB +../static/assets/immutable/Checkbox-DCHe_Zpg.js 1.27 kB │ gzip: 0.66 kB +../static/assets/immutable/devices._id.settings.keyboard-CGOB9bt9.js 1.66 kB │ gzip: 0.83 kB +../static/assets/immutable/devices._id.settings.general._index-BO04eM5s.js 1.74 kB │ gzip: 0.77 kB +../static/assets/immutable/ConfirmDialog-BwSm1yNB.js 1.80 kB │ gzip: 0.80 kB +../static/assets/immutable/devices._id.settings.macros.edit-Bq_c-wbF.js 1.95 kB │ gzip: 1.01 kB +../static/assets/immutable/Terminal-D18ALJYf.js 3.18 kB │ gzip: 1.63 kB +../static/assets/immutable/AuthLayout-CArOwcOO.js 3.85 kB │ gzip: 1.73 kB +../static/assets/immutable/devices._id.settings.macros-DUgaYKOB.js 5.98 kB │ gzip: 2.12 kB +../static/assets/immutable/devices._id.settings.advanced-BtbHDdPc.js 6.01 kB │ gzip: 2.09 kB +../static/assets/immutable/devices._id.settings.access.local-auth-DJU1AH4L.js 6.17 kB │ gzip: 1.54 kB +../static/assets/immutable/devices._id.settings.multi-session-Pg0HxPLd.js 6.75 kB │ gzip: 2.02 kB +../static/assets/immutable/devices._id.settings.video-DnEHe6ZY.js 6.88 kB │ gzip: 2.60 kB +../static/assets/immutable/devices._id.settings-DTpgRqqT.js 8.77 kB │ gzip: 1.63 kB +../static/assets/immutable/devices._id.settings.mouse-CVn547ah.js 8.77 kB │ gzip: 3.05 kB +../static/assets/immutable/connectionStats-BMeaYF2p.js 8.92 kB │ gzip: 3.57 kB +../static/assets/immutable/devices._id.settings.general.update-BqS0LuvD.js 9.70 kB │ gzip: 2.49 kB +../static/assets/immutable/MacroForm-CGt8SKb-.js 10.00 kB │ gzip: 3.55 kB +../static/assets/immutable/devices._id.settings.hardware-kkVMWHec.js 10.82 kB │ gzip: 3.17 kB +../static/assets/immutable/devices._id.settings.network-DL9q8Mqi.js 15.47 kB │ gzip: 3.30 kB +../static/assets/immutable/devices._id.mount-D8CC6niM.js 32.30 kB │ gzip: 14.11 kB +../static/assets/immutable/index-Cld9j8ke.js 250.90 kB │ gzip: 64.62 kB +../static/assets/immutable/vendor-C8gpwofI.js 1,568.17 kB │ gzip: 469.07 kB +10:50:06 info  +10:50:06 info (!) Some chunks are larger than 500 kB after minification. Consider: +10:50:06 info - Using dynamic import() to code-split the application +10:50:06 info - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks +10:50:06 info - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit. +✓ built in 8.16s +10:50:07 info ../static/favicon.ico: 92.7% -- created ../static/favicon.ico.gz +10:50:07 info ../static/index.html: 67.1% -- created ../static/index.html.gz +10:50:07 info ../static/web-app-manifest-192x192.png: -0.3% -- created ../static/web-app-manifest-192x192.png.gz +10:50:07 info ../static/apple-touch-icon.png: -0.3% -- created ../static/apple-touch-icon.png.gz +10:50:07 info ../static/favicon.png: -0.4% -- created ../static/favicon.png.gz +10:50:07 info ../static/web-app-manifest-512x512.png: 5.1% -- created ../static/web-app-manifest-512x512.png.gz +10:50:07 info ../static/favicon-96x96.png: 0.0% -- created ../static/favicon-96x96.png.gz +10:50:07 info ../static/sse.html: 77.3% -- created ../static/sse.html.gz +10:50:07 info ../static/fonts/CircularXXWeb-Regular.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-Regular.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-ExtraBlackItalic.woff2: 0.0% -- created ../static/fonts/CircularXXWeb-ExtraBlackItalic.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-BookItalic.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-BookItalic.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-Black.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-Black.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-Medium.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-Medium.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-BlackItalic.woff2: 0.2% -- created ../static/fonts/CircularXXWeb-BlackItalic.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-Book.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-Book.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-Light.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-Light.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-Bold.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-Bold.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-MediumItalic.woff2: 0.0% -- created ../static/fonts/CircularXXWeb-MediumItalic.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-Thin.woff2: 0.2% -- created ../static/fonts/CircularXXWeb-Thin.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-LightItalic.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-LightItalic.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-Italic.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-Italic.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-BoldItalic.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-BoldItalic.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-ExtraBlack.woff2: 0.1% -- created ../static/fonts/CircularXXWeb-ExtraBlack.woff2.gz +10:50:07 info ../static/fonts/CircularXXWeb-ThinItalic.woff2: 0.2% -- created ../static/fonts/CircularXXWeb-ThinItalic.woff2.gz +10:50:07 info ../static/fonts/fonts.css: 89.4% -- created ../static/fonts/fonts.css.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.general._index-BO04eM5s.js: 56.6% -- created ../static/assets/immutable/devices._id.settings.general._index-BO04eM5s.js.gz +10:50:08 info ../static/assets/immutable/vendor-C8gpwofI.js: 70.3% -- created ../static/assets/immutable/vendor-C8gpwofI.js.gz +10:50:08 info ../static/assets/immutable/login-DgMlvF3w.js: 41.7% -- created ../static/assets/immutable/login-DgMlvF3w.js.gz +10:50:08 info ../static/assets/immutable/CircularXXWeb-Medium-B7cMW5Np.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-Medium-B7cMW5Np.woff2.gz +10:50:08 info ../static/assets/immutable/CircularXXWeb-Italic-D9ZGG85N.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-Italic-D9ZGG85N.woff2.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.multi-session-Pg0HxPLd.js: 70.2% -- created ../static/assets/immutable/devices._id.settings.multi-session-Pg0HxPLd.js.gz +10:50:08 info ../static/assets/immutable/jetkvm-device-still-ktpTGyfA.png: 0.6% -- created ../static/assets/immutable/jetkvm-device-still-ktpTGyfA.png.gz +10:50:08 info ../static/assets/immutable/devices._id.other-session-Btp0SIz5.js: 50.3% -- created ../static/assets/immutable/devices._id.other-session-Btp0SIz5.js.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.video-DnEHe6ZY.js: 62.8% -- created ../static/assets/immutable/devices._id.settings.video-DnEHe6ZY.js.gz +10:50:08 info ../static/assets/immutable/AutoHeight-DNMbSxBi.js: 29.0% -- created ../static/assets/immutable/AutoHeight-DNMbSxBi.js.gz +10:50:08 info ../static/assets/immutable/index-3KaWki3G.css: 84.9% -- created ../static/assets/immutable/index-3KaWki3G.css.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.network-DL9q8Mqi.js: 78.9% -- created ../static/assets/immutable/devices._id.settings.network-DL9q8Mqi.js.gz +10:50:08 info ../static/assets/immutable/CircularXXWeb-Bold-6tPVDRzI.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-Bold-6tPVDRzI.woff2.gz +10:50:08 info ../static/assets/immutable/ConfirmDialog-BwSm1yNB.js: 56.4% -- created ../static/assets/immutable/ConfirmDialog-BwSm1yNB.js.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.appearance-rcsCK-dd.js: 45.0% -- created ../static/assets/immutable/devices._id.settings.appearance-rcsCK-dd.js.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.macros.add-DDjpsiXg.js: 36.4% -- created ../static/assets/immutable/devices._id.settings.macros.add-DDjpsiXg.js.gz +10:50:08 info ../static/assets/immutable/UpdateInProgressStatusCard-C8LiG7ED.js: 50.7% -- created ../static/assets/immutable/UpdateInProgressStatusCard-C8LiG7ED.js.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.hardware-kkVMWHec.js: 70.8% -- created ../static/assets/immutable/devices._id.settings.hardware-kkVMWHec.js.gz +10:50:08 info ../static/assets/immutable/CircularXXWeb-Regular-C2Km8yIq.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-Regular-C2Km8yIq.woff2.gz +10:50:08 info ../static/assets/immutable/CircularXXWeb-LightItalic-DkMJsSQn.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-LightItalic-DkMJsSQn.woff2.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.general.reboot-D1BydeXg.js: 49.9% -- created ../static/assets/immutable/devices._id.settings.general.reboot-D1BydeXg.js.gz +10:50:08 info ../static/assets/immutable/index-Cld9j8ke.js: 74.6% -- created ../static/assets/immutable/index-Cld9j8ke.js.gz +10:50:08 info ../static/assets/immutable/devices._id.settings.access.local-auth-DJU1AH4L.js: 75.3% -- created ../static/assets/immutable/devices._id.settings.access.local-auth-DJU1AH4L.js.gz +10:50:08 info ../static/assets/immutable/CircularXXWeb-Light-COmyZsa9.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-Light-COmyZsa9.woff2.gz +10:50:08 info ../static/assets/immutable/signup-DMhqwHQu.js: 43.6% -- created ../static/assets/immutable/signup-DMhqwHQu.js.gz +10:50:08 info ../static/assets/immutable/CircularXXWeb-BlackItalic-2aNe932P.woff2: 0.2% -- created ../static/assets/immutable/CircularXXWeb-BlackItalic-2aNe932P.woff2.gz +10:50:08 info ../static/assets/immutable/AuthLayout-CArOwcOO.js: 55.7% -- created ../static/assets/immutable/AuthLayout-CArOwcOO.js.gz +10:50:08 info ../static/assets/immutable/MacroForm-CGt8SKb-.js: 64.8% -- created ../static/assets/immutable/MacroForm-CGt8SKb-.js.gz +10:50:09 info ../static/assets/immutable/devices._id.settings-DTpgRqqT.js: 81.7% -- created ../static/assets/immutable/devices._id.settings-DTpgRqqT.js.gz +10:50:09 info ../static/assets/immutable/Terminal-D18ALJYf.js: 49.2% -- created ../static/assets/immutable/Terminal-D18ALJYf.js.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-ThinItalic-BbeKWZX4.woff2: 0.2% -- created ../static/assets/immutable/CircularXXWeb-ThinItalic-BbeKWZX4.woff2.gz +10:50:09 info ../static/assets/immutable/devices._id.settings.macros.edit-Bq_c-wbF.js: 48.9% -- created ../static/assets/immutable/devices._id.settings.macros.edit-Bq_c-wbF.js.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-ExtraBlackItalic-B8bd8esZ.woff2: 0.0% -- created ../static/assets/immutable/CircularXXWeb-ExtraBlackItalic-B8bd8esZ.woff2.gz +10:50:09 info ../static/assets/immutable/devices._id.settings.macros-DUgaYKOB.js: 65.0% -- created ../static/assets/immutable/devices._id.settings.macros-DUgaYKOB.js.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-MediumItalic-Cw0wlEIE.woff2: 0.0% -- created ../static/assets/immutable/CircularXXWeb-MediumItalic-Cw0wlEIE.woff2.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-BoldItalic-BY-z05Z9.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-BoldItalic-BY-z05Z9.woff2.gz +10:50:09 info ../static/assets/immutable/devices._id.mount-D8CC6niM.js: 56.6% -- created ../static/assets/immutable/devices._id.mount-D8CC6niM.js.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-Black-CPoU8bYr.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-Black-CPoU8bYr.woff2.gz +10:50:09 info ../static/assets/immutable/Checkbox-DCHe_Zpg.js: 49.8% -- created ../static/assets/immutable/Checkbox-DCHe_Zpg.js.gz +10:50:09 info ../static/assets/immutable/devices.already-adopted-CWNUx188.js: 52.5% -- created ../static/assets/immutable/devices.already-adopted-CWNUx188.js.gz +10:50:09 info ../static/assets/immutable/devices._id.settings.mouse-CVn547ah.js: 65.7% -- created ../static/assets/immutable/devices._id.settings.mouse-CVn547ah.js.gz +10:50:09 info ../static/assets/immutable/FeatureFlag-855--3Uu.js: 35.2% -- created ../static/assets/immutable/FeatureFlag-855--3Uu.js.gz +10:50:09 info ../static/assets/immutable/devices._id.settings.advanced-BtbHDdPc.js: 65.6% -- created ../static/assets/immutable/devices._id.settings.advanced-BtbHDdPc.js.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-ExtraBlack-zwQ9rYrv.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-ExtraBlack-zwQ9rYrv.woff2.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-Thin-CgvRHm5r.woff2: 0.2% -- created ../static/assets/immutable/CircularXXWeb-Thin-CgvRHm5r.woff2.gz +10:50:09 info ../static/assets/immutable/devices._id.settings.general.update-BqS0LuvD.js: 74.6% -- created ../static/assets/immutable/devices._id.settings.general.update-BqS0LuvD.js.gz +10:50:09 info ../static/assets/immutable/connectionStats-BMeaYF2p.js: 60.5% -- created ../static/assets/immutable/connectionStats-BMeaYF2p.js.gz +10:50:09 info ../static/assets/immutable/netboot-icon-OoGRDuxL.svg: 56.5% -- created ../static/assets/immutable/netboot-icon-OoGRDuxL.svg.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-BookItalic-Dot97ozQ.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-BookItalic-Dot97ozQ.woff2.gz +10:50:09 info ../static/assets/immutable/vendor-CCFZcsOx.css: 70.1% -- created ../static/assets/immutable/vendor-CCFZcsOx.css.gz +10:50:09 info ../static/assets/immutable/devices._id.settings.keyboard-CGOB9bt9.js: 50.8% -- created ../static/assets/immutable/devices._id.settings.keyboard-CGOB9bt9.js.gz +10:50:09 info ../static/assets/immutable/CircularXXWeb-Book-DcdztGze.woff2: 0.1% -- created ../static/assets/immutable/CircularXXWeb-Book-DcdztGze.woff2.gz +10:50:09 info ../static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png: 12.6% -- created ../static/assets/immutable/keyboard-and-mouse-connected-CIPI4-KS.png.gz +10:50:09 info ../static/jetkvm.svg: 72.2% -- created ../static/jetkvm.svg.gz +10:50:09 info ../static/favicon.svg: 70.1% -- created ../static/favicon.svg.gz +▶ Building release binary(B +▶ Building the project in host ...(B +10:50:09 info + make build_release SKIP_NATIVE_IF_EXISTS=0 SKIP_UI_BUILD=1 +Skipping frontend build... +Building native... +▶ Generating UI index(B +ui_index.c has been generated successfully. +▶ Building native library(B +Re-run cmake no build system arguments +-- Using defconfig: /workspaces/kvm/internal/native/cgo/lvgl_defconfig +-- Converted to absolute path: /workspaces/kvm/internal/native/cgo/lvgl_defconfig +['/workspaces/kvm/internal/native/cgo/build/_deps/lvgl-src/scripts/kconfig.py', '/workspaces/kvm/internal/native/cgo/build/_deps/lvgl-src/Kconfig', '/workspaces/kvm/internal/native/cgo/build/_deps/lvgl-src/.config', '/workspaces/kvm/internal/native/cgo/build/_deps/lvgl-build/autoconf.h', '/workspaces/kvm/internal/native/cgo/build/_deps/lvgl-build/kconfig_list', '/workspaces/kvm/internal/native/cgo/lvgl_defconfig'] +Parsing /workspaces/kvm/internal/native/cgo/build/_deps/lvgl-src/Kconfig +Loaded configuration '/workspaces/kvm/internal/native/cgo/lvgl_defconfig' +No change to configuration in '/workspaces/kvm/internal/native/cgo/build/_deps/lvgl-src/.config' +No change to Kconfig header in '/workspaces/kvm/internal/native/cgo/build/_deps/lvgl-build/autoconf.h' +Failed to locate pcpp - installing it +PCPP is already installed in venv +Preprocessing completed. Output saved to /workspaces/kvm/internal/native/cgo/build/_deps/lvgl-build/tmp.h +Expanded configuration header saved to /workspaces/kvm/internal/native/cgo/build/_deps/lvgl-build/lv_conf_expanded.h +Temporary preprocessed file /workspaces/kvm/internal/native/cgo/build/_deps/lvgl-build/tmp.h removed. +-- Enabling the building of ThorVG internal +-- Configuring done (3.5s) +-- Generating done (0.3s) +-- Build files have been written to: /workspaces/kvm/internal/native/cgo/build +▶ Copying built library and header files(B +gmake[1]: Entering directory '/workspaces/kvm/internal/native/cgo/build' +10:50:15 info gmake[1]: Warning: File 'Makefile' has modification time 0.18 s in the future +10:50:16 info gmake[3]: Warning: File '_deps/lvgl-build/CMakeFiles/lvgl_thorvg.dir/compiler_depend.make' has modification time 0.37 s in the future +10:50:16 info gmake[3]: warning: Clock skew detected. Your build may be incomplete. +[ 7%] Built target lvgl_thorvg +[ 51%] Built target lvgl +[ 52%] Building C object CMakeFiles/jknative.dir/ui_index.c.o +[ 52%] Linking CXX static library libjknative.a +[100%] Built target jknative +Install the project... +-- Install configuration: "Release" +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_templ.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_async.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_timer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_rb.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_math.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_anim.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/instance +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/instance/lv_image_header_cache.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/instance/lv_image_cache.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/instance/lv_cache_instance.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/class +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/class/lv_cache_class.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/class/lv_cache_lru_ll.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/class/lv_cache_lru_rb.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/lv_cache_entry.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/lv_cache.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_profiler_builtin.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_array.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_bidi.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_grad.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_palette.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_assert.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_utils.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_types.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_event.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_style_gen.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_iter.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_style.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_anim_timeline.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_text_ap.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_circle_buf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_text.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_fs.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_color_op.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_area.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_log.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_lru.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_profiler.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_matrix.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_ll.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_tree.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_color.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/qnx +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/qnx/lv_qnx.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi_display.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi_gnu_efi.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi_edk2.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi_std_wrapper.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi_indev.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi_context.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/evdev +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/evdev/lv_evdev.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/libinput +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/libinput/lv_xkb.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/libinput/lv_libinput.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/lv_drivers.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/wayland +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/sdl +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/sdl/lv_sdl_keyboard.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/sdl/lv_sdl_window.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/sdl/lv_sdl_mousewheel.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/sdl/lv_sdl_mouse.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/x11 +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/x11/lv_x11.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7796 +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7796/lv_st7796.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/drm +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/drm/lv_linux_drm.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/fb +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/fb/lv_linux_fbdev.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/renesas_glcdc +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/renesas_glcdc/lv_renesas_glcdc.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7735 +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7735/lv_st7735.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/ft81x +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/ft81x/lv_ft81x_defines.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/ft81x/lv_ft81x.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/lcd +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/lcd/lv_lcd_generic_mipi.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st_ltdc +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st_ltdc/lv_st_ltdc.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/ili9341 +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/ili9341/lv_ili9341.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/tft_espi +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/tft_espi/lv_tft_espi.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7789 +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7789/lv_st7789.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/glfw +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/windows +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_entry.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_profiler.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_cache.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_image_cache.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_lcd.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_libuv.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_fbdev.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx/lv_nuttx_touchscreen.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_style.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_group.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_event.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_property.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_style_gen.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_pos.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_scroll.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_tree.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_class.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_refr.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_global.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_draw.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lv_api_map_v9_1.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lv_init.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lv_api_map_v8.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_cmsis_rtos2.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_pthread.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_mqx.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_sdl2.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_os.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_windows.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_rtthread.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_freertos.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_os_none.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lv_conf_kconfig.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/snapshot +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/snapshot/lv_snapshot.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/ime +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/ime/lv_ime_pinyin.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/vg_lite_tvg +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/vg_lite_tvg/vg_lite.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test/lv_test_display.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test/lv_test_indev.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test/lv_test_indev_gesture.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test/lv_test_helpers.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test/lv_test_screenshot_compare.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test/lv_test.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/file_explorer +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/file_explorer/lv_file_explorer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/observer +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/observer/lv_observer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_widget.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_checkbox_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_dropdown_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_keyboard_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_textarea_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_canvas_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_chart_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_slider_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_spangroup_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_tabview_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_obj_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_calendar_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_roller_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_table_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_label_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_image_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_event_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_buttonmatrix_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_button_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_scale_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_arc_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers/lv_xml_bar_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_base_types.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_component.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_utils.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_update.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_style.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/fragment +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/fragment/lv_fragment.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/gridnav +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/gridnav/lv_gridnav.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/monkey +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/monkey/lv_monkey.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/sysmon +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/sysmon/lv_sysmon.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/imgfont +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/imgfont/lv_imgfont.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/font_manager +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/font_manager/lv_font_manager.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/font_manager/lv_font_manager_recycle.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/svg +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/svg/lv_svg.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/svg/lv_svg_parser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/svg/lv_svg_decoder.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/svg/lv_svg_token.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/svg/lv_svg_render.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSvgUtil.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieProperty.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieInterpolator.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgFill.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieModifier.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieModel.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgArray.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLoadModule.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSvgLoaderCommon.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/thorvg.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgPicture.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/config.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLoader.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgCommon.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgText.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSwRasterAvx.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieParserHandler.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/thorvg_capi.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgScene.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSwRasterTexmap.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgRender.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLock.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieParser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgPaint.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieBuilder.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgStr.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgCanvas.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSwRasterC.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgTaskScheduler.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieExpressions.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieLoader.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgIteratorAccessor.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieCommon.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSvgPath.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgInlist.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSvgSceneBuilder.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSvgLoader.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgMath.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSwRenderer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgRawLoader.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/fwd.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/memorystream.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/reader.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/prettywriter.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/ostreamwrapper.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/encodedstream.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/filereadstream.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/cursorstreamwrapper.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/istreamwrapper.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/uri.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/stringbuffer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/ieee754.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/strtod.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/swap.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/regex.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/diyfp.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/biginteger.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/strfunc.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/itoa.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/stack.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/dtoa.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/clzll.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/meta.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal/pow10.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/encodings.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/schema.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/stream.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/filewritestream.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/rapidjson.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/document.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/allocators.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/writer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/error +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/error/error.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/error/en.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/memorybuffer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/pointer.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/msinttypes +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/msinttypes/inttypes.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/msinttypes/stdint.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgShape.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSaveModule.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgBinaryDesc.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/thorvg_lottie.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSwRasterNeon.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgAnimation.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSvgCssStyle.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgLottieRenderPooler.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgXmlParser.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgFrameModule.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgCompressor.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/tvgSwCommon.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/libjpeg_turbo +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/libjpeg_turbo/lv_libjpeg_turbo.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/ffmpeg +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/ffmpeg/lv_ffmpeg.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/libpng +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/libpng/lv_libpng.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tjpgd +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tjpgd/tjpgd.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tjpgd/tjpgdcnf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tjpgd/lv_tjpgd.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tiny_ttf +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tiny_ttf/stb_truetype_htcw.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tiny_ttf/stb_rect_pack.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tiny_ttf/lv_tiny_ttf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/freetype +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/freetype/ftoption.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/freetype/lv_freetype.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/freetype/ftmodule.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/expat_config.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/internal.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/xmltok.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/nametab.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/siphash.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/latin1tab.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/expat_external.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/winconfig.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/xmltok_impl.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/utf8tab.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/ascii.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/xmlrole.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/expat.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/asciitab.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat/iasciitab.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/lz4 +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/lz4/lz4.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/qrcode +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/qrcode/lv_qrcode.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/qrcode/qrcodegen.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/rle +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/rle/lv_rle.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/lodepng +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/lodepng/lodepng.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/lodepng/lv_lodepng.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/bin_decoder +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/bin_decoder/lv_bin_decoder.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/rlottie +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/rlottie/lv_rlottie.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/fsdrv +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/fsdrv/lv_fsdrv.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/bmp +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/bmp/lv_bmp.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/barcode +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/barcode/code128.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/barcode/lv_barcode.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/gif +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/gif/gifdec_mve.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/gif/lv_gif.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/gif/gifdec.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lv_api_map_v9_0.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lv_conf_internal.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/lv_layout.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/flex +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/flex/lv_flex.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/grid +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/grid/lv_grid.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/lv_sprintf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/uefi +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/clib +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/micropython +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/lv_string.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/lv_mem.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/rtthread +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/builtin +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/builtin/lv_tlsf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/indev +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/indev/lv_indev_gesture.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/indev/lv_indev_scroll.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/indev/lv_indev.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/display +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/display/lv_display.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/font +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/font/lv_binfont_loader.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/font/lv_font_fmt_txt.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/font/lv_symbol_def.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/font/lv_font.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lvgl.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/default +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/default/lv_theme_default.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/simple +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/simple/lv_theme_simple.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/lv_theme.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/mono +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/mono/lv_theme_mono.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/lv_draw_sw.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/lv_draw_sw_grad.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/lv_draw_sw_mask.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_l8.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/helium +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/helium/lv_blend_helium.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_al88.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_rgb888.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_i1.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_rgb565_swapped.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/arm2d +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/arm2d/lv_blend_arm2d.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_rgb565.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_argb8888_premultiplied.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/neon +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/neon/lv_blend_neon.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_to_argb8888.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/arm2d +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/arm2d/lv_draw_sw_arm2d.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/arm2d/lv_draw_sw_helium.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/lv_draw_sw_utils.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_image_decoder.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/g2d +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/g2d/lv_g2d_utils.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/g2d/lv_g2d_buf_map.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/g2d/lv_draw_g2d.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/pxp +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/pxp/lv_pxp_utils.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/pxp/lv_pxp_cfg.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/pxp/lv_draw_pxp.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/pxp/lv_pxp_osa.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/vglite +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/vglite/lv_vglite_matrix.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/vglite/lv_vglite_utils.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/vglite/lv_draw_vglite.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/vglite/lv_vglite_buf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/vglite/lv_vglite_path.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_label.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_mask.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_image_dsc.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_triangle.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_vector.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_3d.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_line.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sdl +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sdl/lv_draw_sdl.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_draw_vg_lite.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_vg_lite_path.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_draw_vg_lite_type.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_vg_lite_utils.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_vg_lite_math.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_vg_lite_stroke.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_vg_lite_decoder.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_vg_lite_pending.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite/lv_vg_lite_grad.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_image.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nema_gfx +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/dma2d +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_rect.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_arc.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/opengles +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/renesas +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/renesas/dave2d +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_buf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/3dtexture +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/3dtexture/lv_3dtexture.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/dropdown +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/dropdown/lv_dropdown.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/calendar +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/calendar/lv_calendar.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/calendar/lv_calendar_header_arrow.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/calendar/lv_calendar_header_dropdown.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/calendar/lv_calendar_chinese.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/objx_templ +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/objx_templ/lv_objx_templ.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/scale +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/scale/lv_scale.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/led +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/led/lv_led.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/property +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/property/lv_obj_property_names.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/property/lv_style_properties.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/win +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/win/lv_win.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/chart +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/chart/lv_chart.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/checkbox +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/checkbox/lv_checkbox.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/label +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/label/lv_label.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/spinbox +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/spinbox/lv_spinbox.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/animimage +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/animimage/lv_animimage.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/slider +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/slider/lv_slider.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/buttonmatrix +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/buttonmatrix/lv_buttonmatrix.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/spinner +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/spinner/lv_spinner.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/image +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/image/lv_image.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/canvas +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/canvas/lv_canvas.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tabview +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tabview/lv_tabview.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/msgbox +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/msgbox/lv_msgbox.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/textarea +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/textarea/lv_textarea.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/button +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/button/lv_button.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/span +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/span/lv_span.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/imagebutton +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/imagebutton/lv_imagebutton.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/line +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/line/lv_line.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/table +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/table/lv_table.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/list +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/list/lv_list.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/menu +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/menu/lv_menu.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/switch +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/switch/lv_switch.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/lottie +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/lottie/lv_lottie.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/bar +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/bar/lv_bar.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/arc +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/arc/lv_arc.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/roller +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/roller/lv_roller.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tileview +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tileview/lv_tileview.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/keyboard +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/keyboard/lv_keyboard.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/tick +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/tick/lv_tick.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_bidi_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_color_op_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_area_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_fs_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/lv_cache_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/lv_cache_entry_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/instance +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/cache/class +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_text_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_profiler_builtin_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_anim_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_timer_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_style_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_rb_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/misc/lv_event_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/qnx +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/uefi/lv_uefi_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/evdev +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/evdev/lv_evdev_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/libinput +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/libinput/lv_xkb_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/libinput/lv_libinput_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/wayland +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/sdl +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/sdl/lv_sdl_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/x11 +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7796 +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/drm +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/fb +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/renesas_glcdc +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7735 +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/ft81x +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/lcd +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st_ltdc +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/ili9341 +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/tft_espi +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/display/st7789 +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/glfw +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/windows +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/drivers/nuttx +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_group_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_draw_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_refr_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_scroll_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_event_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_class_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/core/lv_obj_style_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_linux_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/osal/lv_os_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/snapshot +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/ime +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/ime/lv_ime_pinyin_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/vg_lite_tvg +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/test/lv_test_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/file_explorer +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/file_explorer/lv_file_explorer_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/observer +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/observer/lv_observer_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_component_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/parsers +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/xml/lv_xml_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/fragment +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/fragment/lv_fragment_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/gridnav +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/monkey +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/monkey/lv_monkey_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/sysmon +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/sysmon/lv_sysmon_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/imgfont +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/others/font_manager +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/svg +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/internal +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/error +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/thorvg/rapidjson/msinttypes +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/libjpeg_turbo +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/ffmpeg +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/ffmpeg/lv_ffmpeg_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/libpng +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tjpgd +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/tiny_ttf +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/freetype +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/freetype/lv_freetype_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/expat +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/lz4 +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/qrcode +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/qrcode/lv_qrcode_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/rle +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/lodepng +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/bin_decoder +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/rlottie +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/rlottie/lv_rlottie_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/fsdrv +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/bmp +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/barcode +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/barcode/lv_barcode_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/gif +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/libs/gif/lv_gif_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/lv_layout_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/flex +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/layouts/grid +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/lvgl_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/uefi +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/clib +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/micropython +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/lv_mem_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/rtthread +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/builtin +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/stdlib/builtin/lv_tlsf_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/indev +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/indev/lv_indev_gesture_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/indev/lv_indev_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/display +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/display/lv_display_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/font +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/font/lv_font_fmt_txt_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/default +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/simple +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/lv_theme_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/themes/mono +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_label_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/lv_draw_sw_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/helium +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/lv_draw_sw_blend_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/arm2d +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/blend/neon +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/arm2d +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sw/lv_draw_sw_mask_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_buf_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/g2d +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/pxp +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nxp/vglite +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_image_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_mask_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_rect_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/sdl +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/vg_lite +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/nema_gfx +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_triangle_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/dma2d +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/opengles +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_image_decoder_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/renesas +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/renesas/dave2d +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/draw/lv_draw_vector_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/3dtexture +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/3dtexture/lv_3dtexture_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/dropdown +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/dropdown/lv_dropdown_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/calendar +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/calendar/lv_calendar_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/objx_templ +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/scale +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/scale/lv_scale_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/led +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/led/lv_led_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/property +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/win +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/win/lv_win_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/chart +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/chart/lv_chart_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/checkbox +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/checkbox/lv_checkbox_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/label +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/label/lv_label_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/spinbox +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/spinbox/lv_spinbox_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/animimage +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/animimage/lv_animimage_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/slider +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/slider/lv_slider_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/buttonmatrix +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/buttonmatrix/lv_buttonmatrix_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/spinner +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/image +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/image/lv_image_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/canvas +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/canvas/lv_canvas_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tabview +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tabview/lv_tabview_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/msgbox +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/msgbox/lv_msgbox_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/textarea +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/textarea/lv_textarea_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/button +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/button/lv_button_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/span +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/span/lv_span_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/imagebutton +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/imagebutton/lv_imagebutton_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/line +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/line/lv_line_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/table +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/table/lv_table_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/list +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/menu +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/menu/lv_menu_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/switch +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/switch/lv_switch_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/lottie +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/lottie/lv_lottie_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/bar +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/bar/lv_bar_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/arc +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/arc/lv_arc_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/roller +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/roller/lv_roller_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tileview +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/tileview/lv_tileview_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/keyboard +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/widgets/keyboard/lv_keyboard_private.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/tick +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/src/tick/lv_tick_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/lv_conf.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/lv_version.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/lvgl.h +-- Installing: /tmp/tmp.7ktzvt9lXM/include/lvgl/lvgl_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/lib/liblvgl.a +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/lv_version.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/lvgl.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/lvgl_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/share/pkgconfig/lvgl.pc +-- Installing: /tmp/tmp.7ktzvt9lXM/lib/liblvgl_thorvg.a +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/lv_version.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/lvgl.h +-- Up-to-date: /tmp/tmp.7ktzvt9lXM/include/lvgl/lvgl_private.h +-- Installing: /tmp/tmp.7ktzvt9lXM/lib/libjknative.a +gmake[1]: Leaving directory '/workspaces/kvm/internal/native/cgo/build' +10:50:33 info gmake[1]: warning: Clock skew detected. Your build may be incomplete. +Building release... +GOOS=linux GOARCH=arm GOARM=7 ARCHFLAGS="-arch arm" CGO_CFLAGS="-I/opt/jetkvm-native-buildkit/arm-rockchip830-linux-uclibcgnueabihf/include -I/opt/jetkvm-native-buildkit/arm-rockchip830-linux-uclibcgnueabihf/sysroot/usr/include" CGO_LDFLAGS="-L/opt/jetkvm-native-buildkit/arm-rockchip830-linux-uclibcgnueabihf/lib -L/opt/jetkvm-native-buildkit/arm-rockchip830-linux-uclibcgnueabihf/sysroot/usr/lib -lrockit -lrockchip_mpp -lrga -lpthread -lm" CC="/opt/jetkvm-native-buildkit/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc" LD="/opt/jetkvm-native-buildkit/bin/arm-rockchip830-linux-uclibcgnueabihf-ld" CGO_ENABLED=1 go build \ + -ldflags="-s -w -X github.com/prometheus/common/version.Branch=feat/multisession-support -X github.com/prometheus/common/version.BuildDate=2025-10-09T07:50:09+0000 -X github.com/prometheus/common/version.Revision=541d2bd77d608bb5f07023a4164ad8b63f09451a -X github.com/jetkvm/kvm.builtTimestamp=1759996209 -X github.com/jetkvm/kvm.builtAppVersion=0.4.8" \ + -trimpath -tags netgo,timetzdata,nomsgpack \ + -o bin/jetkvm_app cmd/main.go +10:50:38 info + set +x +Deployment complete. +10:50:51 error Error tunneling to container: wait: remote command exited without exit status or exit signal diff --git a/session_manager.go b/session_manager.go index 652d3f4f..c2287dca 100644 --- a/session_manager.go +++ b/session_manager.go @@ -126,8 +126,13 @@ func NewSessionManager(logger *zerolog.Logger) *SessionManager { } func (sm *SessionManager) AddSession(session *Session, clientSettings *SessionSettings) error { + sm.logger.Debug(). + Str("sessionID", session.ID). + Msg("AddSession ENTRY") + // Basic input validation if session == nil { + sm.logger.Error().Msg("AddSession: session is nil") return errors.New("session cannot be nil") } // Validate nickname if provided (matching frontend validation) @@ -163,6 +168,10 @@ func (sm *SessionManager) AddSession(session *Session, clientSettings *SessionSe // Check if a session with this ID already exists (reconnection) if existing, exists := sm.sessions[session.ID]; exists { + sm.logger.Debug(). + Str("sessionID", session.ID). + Msg("AddSession: session ID already exists - RECONNECTION PATH") + // SECURITY: Verify identity matches to prevent session hijacking if existing.Identity != session.Identity || existing.Source != session.Source { return fmt.Errorf("session ID already in use by different user (identity mismatch)") @@ -220,11 +229,18 @@ func (sm *SessionManager) AddSession(session *Session, clientSettings *SessionSe // NOTE: Skip validation during reconnection to preserve grace period // validateSinglePrimary() would clear primary slot during reconnection window + sm.logger.Debug(). + Str("sessionID", session.ID). + Msg("AddSession: RETURNING from reconnection path") go sm.broadcastSessionListUpdate() return nil } if len(sm.sessions) >= sm.maxSessions { + sm.logger.Warn(). + Int("currentSessions", len(sm.sessions)). + Int("maxSessions", sm.maxSessions). + Msg("AddSession: MAX SESSIONS REACHED") return ErrMaxSessionsReached }