kvm/app.log

296 KiB

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"}]