{"level":"info","message":"GodEye Backend Server running on port 3000","timestamp":"2025-09-28T12:41:07.295Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-28T12:49:22.323Z"} {"level":"info","message":"New connection: mX1pdFCVZYqXIRhsAAAB","timestamp":"2025-09-28T12:49:39.821Z"} {"level":"info","message":"New connection: kux60JRMHb6AaZ5gAAAD","timestamp":"2025-09-28T12:49:55.727Z"} {"level":"info","message":"New connection: VSJkJzFgh-NrhcHlAAAF","timestamp":"2025-09-28T12:50:01.133Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T12:50:01.139Z"} {"level":"info","message":"New connection: xAXOEXcXIraBjf3EAAAH","timestamp":"2025-09-28T12:50:19.565Z"} {"androidVersion":"12","availableCameras":"ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-28T12:50:19.571Z"} {"level":"info","message":"Client disconnected: xAXOEXcXIraBjf3EAAAH, reason: client namespace disconnect","timestamp":"2025-09-28T12:50:57.785Z"} {"level":"info","message":"Cleanup completed: 0 sessions removed","timestamp":"2025-09-28T12:51:14.378Z"} {"level":"info","message":"Client disconnected: VSJkJzFgh-NrhcHlAAAF, reason: client namespace disconnect","timestamp":"2025-09-28T12:51:24.128Z"} {"level":"info","message":"New connection: f8qtRyxAbYw1PrX1AAAJ","timestamp":"2025-09-28T12:51:25.807Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T12:51:25.810Z"} {"level":"info","message":"Client disconnected: f8qtRyxAbYw1PrX1AAAJ, reason: client namespace disconnect","timestamp":"2025-09-28T12:51:28.112Z"} {"level":"info","message":"New connection: gYDZUIS6j905Vec7AAAL","timestamp":"2025-09-28T12:51:31.405Z"} {"androidVersion":"12","availableCameras":"ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-28T12:51:31.409Z"} {"level":"info","message":"New connection: ZEEJLnduVmo_A6UrAAAN","timestamp":"2025-09-28T12:51:35.149Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T12:51:35.153Z"} {"cameraType":"ultra_wide","deviceId":"demo-device-001","level":"info","message":"Camera request created: 3bff59fc-2ddc-4d5c-85d4-6bf2e9a2f909","operatorId":"demo-operator-001","timestamp":"2025-09-28T12:51:37.788Z"} {"level":"info","message":"Camera stream started: session 3bff59fc-2ddc-4d5c-85d4-6bf2e9a2f909","timestamp":"2025-09-28T12:52:17.240Z"} {"level":"info","message":"Cleanup completed: 0 sessions removed","timestamp":"2025-09-28T12:53:07.488Z"} {"level":"info","message":"Client disconnected: ZEEJLnduVmo_A6UrAAAN, reason: client namespace disconnect","timestamp":"2025-09-28T12:53:08.936Z"} {"level":"info","message":"Client disconnected: gYDZUIS6j905Vec7AAAL, reason: client namespace disconnect","timestamp":"2025-09-28T12:53:14.120Z"} {"level":"info","message":"Client disconnected: mX1pdFCVZYqXIRhsAAAB, reason: transport close","timestamp":"2025-09-28T12:53:16.572Z"} {"level":"info","message":"New connection: Ukd6_UnPB96KPdeNAAAP","timestamp":"2025-09-28T12:53:16.720Z"} {"level":"info","message":"Client disconnected: Ukd6_UnPB96KPdeNAAAP, reason: transport close","timestamp":"2025-09-28T12:53:31.998Z"} {"level":"info","message":"New connection: 76cTOZsndbh2C5cRAAAR","timestamp":"2025-09-28T12:53:32.059Z"} {"level":"info","message":"Client disconnected: 76cTOZsndbh2C5cRAAAR, reason: transport close","timestamp":"2025-09-28T12:53:33.009Z"} {"level":"info","message":"New connection: DulKCJjpXnmEAiZWAAAT","timestamp":"2025-09-28T12:53:33.064Z"} {"level":"info","message":"Client disconnected: DulKCJjpXnmEAiZWAAAT, reason: transport close","timestamp":"2025-09-28T12:53:42.944Z"} {"level":"info","message":"New connection: 8Q3sq4H_rEFakirwAAAV","timestamp":"2025-09-28T12:53:42.996Z"} {"level":"info","message":"Client disconnected: 8Q3sq4H_rEFakirwAAAV, reason: transport close","timestamp":"2025-09-28T12:53:59.622Z"} {"level":"info","message":"New connection: 60uCMcsvLkRJ6WgyAAAX","timestamp":"2025-09-28T12:53:59.690Z"} {"level":"info","message":"New connection: -PXCQgHNuhIzUo_yAAAZ","timestamp":"2025-09-28T12:54:05.924Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-28T12:54:05.927Z"} {"level":"info","message":"New connection: QvuWwgAAfr7da037AAAb","timestamp":"2025-09-28T12:54:08.324Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T12:54:08.329Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 84ba3896-9a57-421d-9dca-bed0a8c5f1bd","operatorId":"demo-operator-001","timestamp":"2025-09-28T12:54:12.505Z"} {"level":"info","message":"Camera stream started: session 84ba3896-9a57-421d-9dca-bed0a8c5f1bd","timestamp":"2025-09-28T12:54:28.024Z"} {"level":"info","message":"Client disconnected: 60uCMcsvLkRJ6WgyAAAX, reason: transport close","timestamp":"2025-09-28T12:55:14.411Z"} {"level":"info","message":"Client disconnected: QvuWwgAAfr7da037AAAb, reason: transport close","timestamp":"2025-09-28T12:55:14.412Z"} {"level":"info","message":"Client disconnected: -PXCQgHNuhIzUo_yAAAZ, reason: transport close","timestamp":"2025-09-28T12:55:14.413Z"} {"level":"info","message":"Client disconnected: kux60JRMHb6AaZ5gAAAD, reason: transport close","timestamp":"2025-09-28T12:55:22.414Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-28T13:07:35.870Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-28T13:07:39.141Z"} {"level":"info","message":"New connection: TOwjiXpkzAaNcww1AAAB","timestamp":"2025-09-28T13:07:43.327Z"} {"level":"info","message":"New connection: 8qm3SbgxALD2dYwXAAAD","timestamp":"2025-09-28T13:07:53.227Z"} {"level":"info","message":"New connection: 8fefWf4s5sF42BsoAAAF","timestamp":"2025-09-28T13:08:01.451Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-28T13:08:01.458Z"} {"level":"info","message":"New connection: xE6kR4i2_3ivGkOHAAAH","timestamp":"2025-09-28T13:08:11.250Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T13:08:11.254Z"} {"cameraType":"telephoto","deviceId":"demo-device-001","level":"info","message":"Camera request created: 44f00d25-73ff-430d-a1fe-8e15e6f2167d","operatorId":"demo-operator-001","timestamp":"2025-09-28T13:08:15.469Z"} {"level":"info","message":"Camera stream started: session 44f00d25-73ff-430d-a1fe-8e15e6f2167d","timestamp":"2025-09-28T13:08:28.966Z"} {"level":"info","message":"Client disconnected: xE6kR4i2_3ivGkOHAAAH, reason: client namespace disconnect","timestamp":"2025-09-28T13:08:33.734Z"} {"level":"info","message":"New connection: qsVHZRabY941fJ0kAAAJ","timestamp":"2025-09-28T13:08:34.347Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T13:08:34.352Z"} {"level":"info","message":"Client disconnected: 8qm3SbgxALD2dYwXAAAD, reason: transport close","timestamp":"2025-09-28T13:08:38.032Z"} {"level":"info","message":"Client disconnected: qsVHZRabY941fJ0kAAAJ, reason: transport close","timestamp":"2025-09-28T13:08:38.033Z"} {"level":"info","message":"Client disconnected: 8fefWf4s5sF42BsoAAAF, reason: transport close","timestamp":"2025-09-28T13:08:38.034Z"} {"level":"info","message":"New connection: RbkyqT0u0lZ8jim4AAAL","timestamp":"2025-09-28T13:08:38.103Z"} {"level":"info","message":"New connection: CXQg4YqyPRJm91MDAAAN","timestamp":"2025-09-28T13:08:40.620Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T13:08:40.624Z"} {"level":"info","message":"New connection: TxEB09fdUheTVAtXAAAP","timestamp":"2025-09-28T13:08:44.899Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-28T13:08:44.903Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 73aafdc4-6336-4ed3-b44b-4dc95d123ee0","operatorId":"demo-operator-001","timestamp":"2025-09-28T13:08:51.455Z"} {"level":"info","message":"Camera stream started: session 73aafdc4-6336-4ed3-b44b-4dc95d123ee0","timestamp":"2025-09-28T13:08:55.206Z"} {"level":"info","message":"Session terminated: 73aafdc4-6336-4ed3-b44b-4dc95d123ee0","timestamp":"2025-09-28T13:10:08.919Z"} {"level":"info","message":"Client disconnected: CXQg4YqyPRJm91MDAAAN, reason: client namespace disconnect","timestamp":"2025-09-28T13:10:09.925Z"} {"level":"info","message":"Client disconnected: TxEB09fdUheTVAtXAAAP, reason: client namespace disconnect","timestamp":"2025-09-28T13:10:12.485Z"} {"level":"info","message":"Client disconnected: RbkyqT0u0lZ8jim4AAAL, reason: transport close","timestamp":"2025-09-28T13:12:49.230Z"} {"level":"info","message":"New connection: 9CMKZpMs5Jr1nGx6AAAR","timestamp":"2025-09-28T13:12:49.313Z"} {"level":"info","message":"New connection: JJ5JeLM7AFkkdw5AAAAT","timestamp":"2025-09-28T20:09:32.803Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-28T20:09:32.816Z"} {"level":"info","message":"New connection: HKbZIcK70yUsFQ4jAAAV","timestamp":"2025-09-28T20:09:37.702Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T20:09:37.706Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 00ae6aa0-72e4-4755-a05b-9ddd37216abd","operatorId":"demo-operator-001","timestamp":"2025-09-28T20:09:41.282Z"} {"level":"info","message":"Camera stream started: session 00ae6aa0-72e4-4755-a05b-9ddd37216abd","timestamp":"2025-09-28T20:09:45.541Z"} {"level":"info","message":"New connection: A_VOg3rQD4UAIwkxAAAX","timestamp":"2025-09-28T20:11:46.905Z"} {"level":"info","message":"New connection: 1CRdL4rUu9WnfuXjAAAZ","timestamp":"2025-09-28T20:11:51.441Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-28T20:11:51.445Z"} {"level":"info","message":"New connection: FKPx7oA-qTbfPkwQAAAb","timestamp":"2025-09-28T20:11:53.845Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-28T20:11:53.850Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: a5c73d0d-3499-48bc-8dac-49b9b4dfb19b","operatorId":"demo-operator-001","timestamp":"2025-09-28T20:11:58.053Z"} {"level":"info","message":"Camera stream started: session a5c73d0d-3499-48bc-8dac-49b9b4dfb19b","timestamp":"2025-09-28T20:12:00.332Z"} {"level":"info","message":"Client disconnected: A_VOg3rQD4UAIwkxAAAX, reason: transport close","timestamp":"2025-09-29T04:15:01.332Z"} {"level":"info","message":"Client disconnected: FKPx7oA-qTbfPkwQAAAb, reason: transport close","timestamp":"2025-09-29T04:15:01.536Z"} {"level":"info","message":"Client disconnected: 1CRdL4rUu9WnfuXjAAAZ, reason: transport close","timestamp":"2025-09-29T04:15:01.544Z"} {"level":"info","message":"Client disconnected: 9CMKZpMs5Jr1nGx6AAAR, reason: transport close","timestamp":"2025-09-29T04:15:01.601Z"} {"level":"info","message":"Client disconnected: TOwjiXpkzAaNcww1AAAB, reason: transport close","timestamp":"2025-09-29T04:15:01.602Z"} {"level":"info","message":"Client disconnected: HKbZIcK70yUsFQ4jAAAV, reason: transport close","timestamp":"2025-09-29T04:15:01.634Z"} {"level":"info","message":"Client disconnected: JJ5JeLM7AFkkdw5AAAAT, reason: transport close","timestamp":"2025-09-29T04:15:01.635Z"} {"level":"info","message":"New connection: 97JgMZ0gVT7A4pKwAAAh","timestamp":"2025-09-29T04:15:03.431Z"} {"level":"info","message":"New connection: 0tDQjFnkB7k4qP3_AAAk","timestamp":"2025-09-29T04:15:03.599Z"} {"level":"info","message":"New connection: dinxq82YadFswcC2AAAl","timestamp":"2025-09-29T04:15:03.663Z"} {"level":"info","message":"New connection: _Evsiph14OPNbvC4AAAm","timestamp":"2025-09-29T04:15:03.668Z"} {"level":"info","message":"New connection: kg5hypiJpGks4SU0AAAn","timestamp":"2025-09-29T04:15:03.801Z"} {"level":"info","message":"New connection: LI_E6_cvpC_rmqqgAAAo","timestamp":"2025-09-29T04:15:03.823Z"} {"level":"info","message":"New connection: 9wgx-r06TjudhXTEAAAp","timestamp":"2025-09-29T04:15:03.880Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T04:15:03.925Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T04:15:03.956Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T04:15:03.970Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T04:15:04.046Z"} {"level":"info","message":"Client disconnected: 97JgMZ0gVT7A4pKwAAAh, reason: transport close","timestamp":"2025-09-29T09:52:30.997Z"} {"level":"info","message":"Client disconnected: dinxq82YadFswcC2AAAl, reason: transport close","timestamp":"2025-09-29T09:52:30.998Z"} {"level":"info","message":"Client disconnected: 0tDQjFnkB7k4qP3_AAAk, reason: transport close","timestamp":"2025-09-29T09:52:30.998Z"} {"level":"info","message":"New connection: F2XK55fWFgSZuH3eAAAr","timestamp":"2025-09-29T09:52:31.178Z"} {"level":"info","message":"New connection: sBzEc2UfYS2CjxopAAAt","timestamp":"2025-09-29T09:52:34.323Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T09:52:34.329Z"} {"level":"info","message":"New connection: GSppwJTc16o12JtbAAAv","timestamp":"2025-09-29T09:52:38.660Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T09:52:38.664Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 7ded0872-a7df-4723-9994-321802f86055","operatorId":"demo-operator-001","timestamp":"2025-09-29T09:52:39.723Z"} {"level":"info","message":"Camera stream started: session 7ded0872-a7df-4723-9994-321802f86055","timestamp":"2025-09-29T09:52:43.673Z"} {"level":"info","message":"Camera session ended: 7ded0872-a7df-4723-9994-321802f86055","timestamp":"2025-09-29T09:53:14.167Z"} {"level":"info","message":"Client disconnected: sBzEc2UfYS2CjxopAAAt, reason: client namespace disconnect","timestamp":"2025-09-29T09:53:15.142Z"} {"level":"info","message":"Client disconnected: GSppwJTc16o12JtbAAAv, reason: client namespace disconnect","timestamp":"2025-09-29T09:53:20.806Z"} {"level":"info","message":"Client disconnected: F2XK55fWFgSZuH3eAAAr, reason: transport close","timestamp":"2025-09-29T09:53:22.513Z"} {"level":"info","message":"New connection: XryoZ5WBD6ZPm5YnAAAx","timestamp":"2025-09-29T09:53:22.588Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T10:30:01.265Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T10:58:41.475Z"} {"level":"info","message":"New connection: voM0ea0WnBvfN6EEAAAB","timestamp":"2025-09-29T10:58:43.098Z"} {"level":"info","message":"New connection: Btyckko-WC9kHgXAAAAD","timestamp":"2025-09-29T10:58:44.071Z"} {"level":"info","message":"New connection: 9s8QIqUJ0DSqAisyAAAF","timestamp":"2025-09-29T10:58:50.075Z"} {"level":"info","message":"Operator registered: 41d832f8-5086-48d8-aea8-78878aee7ca6","timestamp":"2025-09-29T10:58:50.078Z"} {"level":"info","message":"New connection: 1ZS5N93IihFOYVxzAAAH","timestamp":"2025-09-29T10:59:00.721Z"} {"level":"info","message":"New connection: LOJCJU_TWq6_2wnmAAAJ","timestamp":"2025-09-29T10:59:04.664Z"} {"androidVersion":"12","availableCameras":"ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T10:59:04.669Z"} {"level":"info","message":"Client disconnected: 9s8QIqUJ0DSqAisyAAAF, reason: client namespace disconnect","timestamp":"2025-09-29T10:59:11.658Z"} {"level":"info","message":"New connection: owbeQJUkW3Zatjz3AAAL","timestamp":"2025-09-29T10:59:12.277Z"} {"level":"info","message":"Operator registered: 41d832f8-5086-48d8-aea8-78878aee7ca6","timestamp":"2025-09-29T10:59:12.278Z"} {"level":"info","message":"New connection: 5YNDnd7CAwE42pf1AAAN","timestamp":"2025-09-29T10:59:16.391Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T10:59:16.395Z"} {"cameraType":"ultra_wide","deviceId":"demo-device-001","level":"info","message":"Camera request created: 31d2e731-d0fa-4be5-b929-904d39554221","operatorId":"demo-operator-001","timestamp":"2025-09-29T10:59:17.568Z"} {"level":"info","message":"Client disconnected: owbeQJUkW3Zatjz3AAAL, reason: client namespace disconnect","timestamp":"2025-09-29T10:59:23.618Z"} {"level":"info","message":"New connection: n3JZ_vfV84hRmcmeAAAP","timestamp":"2025-09-29T10:59:24.317Z"} {"level":"info","message":"Operator registered: 41d832f8-5086-48d8-aea8-78878aee7ca6","timestamp":"2025-09-29T10:59:24.318Z"} {"level":"info","message":"Camera stream started: session 31d2e731-d0fa-4be5-b929-904d39554221","timestamp":"2025-09-29T10:59:27.314Z"} {"level":"info","message":"Client disconnected: n3JZ_vfV84hRmcmeAAAP, reason: client namespace disconnect","timestamp":"2025-09-29T10:59:40.817Z"} {"level":"info","message":"New connection: QYFkIcfIbNPEVWafAAAR","timestamp":"2025-09-29T10:59:44.589Z"} {"level":"info","message":"Operator registered: 41d832f8-5086-48d8-aea8-78878aee7ca6","timestamp":"2025-09-29T10:59:44.590Z"} {"level":"info","message":"Client disconnected: 5YNDnd7CAwE42pf1AAAN, reason: client namespace disconnect","timestamp":"2025-09-29T11:00:20.049Z"} {"level":"info","message":"Client disconnected: QYFkIcfIbNPEVWafAAAR, reason: client namespace disconnect","timestamp":"2025-09-29T11:00:22.241Z"} {"level":"info","message":"New connection: btX_fTq3Ytvxf2MuAAAT","timestamp":"2025-09-29T11:00:23.469Z"} {"level":"info","message":"Operator registered: 41d832f8-5086-48d8-aea8-78878aee7ca6","timestamp":"2025-09-29T11:00:23.469Z"} {"level":"info","message":"Client disconnected: btX_fTq3Ytvxf2MuAAAT, reason: transport close","timestamp":"2025-09-29T11:00:46.103Z"} {"level":"info","message":"New connection: LtB0BIP4sPYLUpYUAAAV","timestamp":"2025-09-29T11:01:44.011Z"} {"level":"info","message":"Operator registered: 0b48f3fa-62b1-4964-b72e-b336f4c6b2e0","timestamp":"2025-09-29T11:01:44.012Z"} {"level":"info","message":"Client disconnected: LtB0BIP4sPYLUpYUAAAV, reason: transport close","timestamp":"2025-09-29T11:01:51.537Z"} {"level":"info","message":"New connection: yivPy-kWsIrKSscjAAAX","timestamp":"2025-09-29T11:08:20.234Z"} {"level":"info","message":"Operator registered: 78150dc9-5267-4dea-879e-accad86029b5","timestamp":"2025-09-29T11:08:20.237Z"} {"level":"info","message":"Client disconnected: yivPy-kWsIrKSscjAAAX, reason: transport close","timestamp":"2025-09-29T11:08:33.273Z"} {"level":"info","message":"New connection: wxXoaqfemHy_yv_GAAAZ","timestamp":"2025-09-29T11:08:38.314Z"} {"level":"info","message":"Operator registered: e6096590-cb13-4730-b1aa-7e27358f7cad","timestamp":"2025-09-29T11:08:38.317Z"} {"level":"info","message":"Client disconnected: LOJCJU_TWq6_2wnmAAAJ, reason: client namespace disconnect","timestamp":"2025-09-29T11:09:17.546Z"} {"level":"info","message":"New connection: vdNh1U96gsD_iUF2AAAb","timestamp":"2025-09-29T11:09:19.967Z"} {"androidVersion":"12","availableCameras":"back","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T11:09:19.972Z"} {"level":"info","message":"Client disconnected: vdNh1U96gsD_iUF2AAAb, reason: client namespace disconnect","timestamp":"2025-09-29T11:09:21.922Z"} {"level":"info","message":"New connection: W3iuiis_EBlomYAWAAAd","timestamp":"2025-09-29T11:09:22.422Z"} {"androidVersion":"12","availableCameras":"ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T11:09:22.426Z"} {"level":"info","message":"New connection: fKbGk5v6SG7EbTpKAAAf","timestamp":"2025-09-29T11:10:00.479Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T11:10:00.482Z"} {"level":"info","message":"Client disconnected: W3iuiis_EBlomYAWAAAd, reason: client namespace disconnect","timestamp":"2025-09-29T11:10:57.722Z"} {"level":"info","message":"New connection: GMbIV98mowTIJpAvAAAh","timestamp":"2025-09-29T11:11:06.741Z"} {"androidVersion":"12","availableCameras":"ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T11:11:06.747Z"} {"cameraType":"ultra_wide","deviceId":"demo-device-001","level":"info","message":"Camera request created: ba45f7e0-6d6c-4779-b1cb-641f0dd0f109","operatorId":"demo-operator-001","timestamp":"2025-09-29T11:11:12.697Z"} {"level":"info","message":"Camera stream started: session ba45f7e0-6d6c-4779-b1cb-641f0dd0f109","timestamp":"2025-09-29T11:11:20.386Z"} {"level":"info","message":"Client disconnected: wxXoaqfemHy_yv_GAAAZ, reason: client namespace disconnect","timestamp":"2025-09-29T11:12:00.602Z"} {"level":"info","message":"New connection: IYknyLMNzYXIDJSPAAAj","timestamp":"2025-09-29T11:12:02.091Z"} {"level":"info","message":"Operator registered: e6096590-cb13-4730-b1aa-7e27358f7cad","timestamp":"2025-09-29T11:12:02.092Z"} {"level":"info","message":"Client disconnected: 1ZS5N93IihFOYVxzAAAH, reason: transport close","timestamp":"2025-09-29T11:14:48.410Z"} {"level":"info","message":"Client disconnected: GMbIV98mowTIJpAvAAAh, reason: transport close","timestamp":"2025-09-29T11:14:48.415Z"} {"level":"info","message":"Client disconnected: fKbGk5v6SG7EbTpKAAAf, reason: transport error","timestamp":"2025-09-29T11:14:48.423Z"} {"level":"info","message":"New connection: k2PhsP4hEsLMmefDAAAl","timestamp":"2025-09-29T11:14:48.580Z"} {"level":"info","message":"Client disconnected: k2PhsP4hEsLMmefDAAAl, reason: transport close","timestamp":"2025-09-29T11:14:49.330Z"} {"level":"info","message":"New connection: -4UcL_3TnXK84nygAAAn","timestamp":"2025-09-29T11:14:49.394Z"} {"level":"info","message":"New connection: XFitxhQn0A2UgxeSAAAp","timestamp":"2025-09-29T11:15:01.607Z"} {"androidVersion":"14","availableCameras":"ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S29","timestamp":"2025-09-29T11:15:01.611Z"} {"level":"info","message":"New connection: QCb2AvZTis-8R4fuAAAr","timestamp":"2025-09-29T11:16:07.836Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T11:16:07.839Z"} {"level":"info","message":"Client disconnected: XFitxhQn0A2UgxeSAAAp, reason: client namespace disconnect","timestamp":"2025-09-29T11:16:21.466Z"} {"level":"info","message":"New connection: FucP5Bu9czftzAkgAAAt","timestamp":"2025-09-29T11:16:26.670Z"} {"androidVersion":"14","availableCameras":"telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Samsung Vasya","model":"Samsung Galaxy S29","timestamp":"2025-09-29T11:16:26.676Z"} {"cameraType":"telephoto","deviceId":"Samsung Vasya","level":"info","message":"Camera request created: 3df0a429-7b7a-43e0-b0ef-04328638adcc","operatorId":"demo-operator-001","timestamp":"2025-09-29T11:16:33.086Z"} {"level":"info","message":"Client disconnected: IYknyLMNzYXIDJSPAAAj, reason: client namespace disconnect","timestamp":"2025-09-29T11:16:43.378Z"} {"level":"info","message":"New connection: LMKZnpdOdSvRKikaAAAv","timestamp":"2025-09-29T11:16:44.707Z"} {"level":"info","message":"Operator registered: e6096590-cb13-4730-b1aa-7e27358f7cad","timestamp":"2025-09-29T11:16:44.708Z"} {"level":"info","message":"Client disconnected: LMKZnpdOdSvRKikaAAAv, reason: transport close","timestamp":"2025-09-29T11:21:19.789Z"} {"level":"info","message":"New connection: KNSxbiC37dJbq3ChAAAx","timestamp":"2025-09-29T11:21:25.097Z"} {"level":"info","message":"Operator registered: 7d5de612-af3e-4dd2-8117-5e854c906c3e","timestamp":"2025-09-29T11:21:25.099Z"} {"level":"info","message":"Camera request denied: session 3df0a429-7b7a-43e0-b0ef-04328638adcc","timestamp":"2025-09-29T11:21:52.361Z"} {"level":"info","message":"Client disconnected: FucP5Bu9czftzAkgAAAt, reason: client namespace disconnect","timestamp":"2025-09-29T11:21:53.169Z"} {"level":"info","message":"New connection: AH_c8orKe-RkkymvAAAz","timestamp":"2025-09-29T11:21:56.109Z"} {"androidVersion":"14","availableCameras":"front","level":"info","manufacturer":"Samsung","message":"Android client registered: Samsung Vasya","model":"Samsung Galaxy S29","timestamp":"2025-09-29T11:21:56.118Z"} {"level":"info","message":"Client disconnected: KNSxbiC37dJbq3ChAAAx, reason: client namespace disconnect","timestamp":"2025-09-29T11:22:02.617Z"} {"level":"info","message":"New connection: oK1QHfZH5xnJBkFcAAA1","timestamp":"2025-09-29T11:22:04.693Z"} {"level":"info","message":"Operator registered: 7d5de612-af3e-4dd2-8117-5e854c906c3e","timestamp":"2025-09-29T11:22:04.694Z"} {"cameraType":"front","deviceId":"Samsung Vasya","level":"info","message":"Camera request created: 9016ec5e-6d46-4ccd-a71a-5fa2bf00ca3a","operatorId":"demo-operator-001","timestamp":"2025-09-29T11:22:14.756Z"} {"level":"info","message":"Client disconnected: -4UcL_3TnXK84nygAAAn, reason: transport close","timestamp":"2025-09-29T11:22:18.260Z"} {"level":"info","message":"Client disconnected: AH_c8orKe-RkkymvAAAz, reason: transport close","timestamp":"2025-09-29T11:22:18.261Z"} {"level":"info","message":"Client disconnected: QCb2AvZTis-8R4fuAAAr, reason: transport error","timestamp":"2025-09-29T11:22:18.263Z"} {"level":"info","message":"New connection: 1s3C4snKZNerOtWCAAA3","timestamp":"2025-09-29T11:22:18.472Z"} {"level":"info","message":"New connection: p6r6w-MPEc20fYjvAAA5","timestamp":"2025-09-29T11:22:21.414Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T11:22:21.419Z"} {"level":"info","message":"New connection: mBnumY_jHkTvrGiBAAA7","timestamp":"2025-09-29T11:22:25.815Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T11:22:25.820Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 79e8e703-d088-4984-9da3-1cf7ea923bf8","operatorId":"demo-operator-001","timestamp":"2025-09-29T11:22:28.235Z"} {"level":"info","message":"Client disconnected: oK1QHfZH5xnJBkFcAAA1, reason: client namespace disconnect","timestamp":"2025-09-29T12:00:28.458Z"} {"level":"info","message":"New connection: -BGbQxjKEPQDwlXYAAA9","timestamp":"2025-09-29T12:00:30.053Z"} {"level":"info","message":"Operator registered: 7d5de612-af3e-4dd2-8117-5e854c906c3e","timestamp":"2025-09-29T12:00:30.055Z"} {"level":"info","message":"Camera stream started: session 79e8e703-d088-4984-9da3-1cf7ea923bf8","timestamp":"2025-09-29T12:00:36.355Z"} {"level":"info","message":"Client disconnected: -BGbQxjKEPQDwlXYAAA9, reason: client namespace disconnect","timestamp":"2025-09-29T12:00:40.288Z"} {"level":"info","message":"New connection: G37B_pZPGKcMh--wAAA_","timestamp":"2025-09-29T12:00:40.948Z"} {"level":"info","message":"Operator registered: 7d5de612-af3e-4dd2-8117-5e854c906c3e","timestamp":"2025-09-29T12:00:40.949Z"} {"level":"info","message":"Client disconnected: G37B_pZPGKcMh--wAAA_, reason: transport close","timestamp":"2025-09-29T12:00:49.699Z"} {"level":"info","message":"New connection: JBb6Jp0Iq3g71D8nAABB","timestamp":"2025-09-29T12:00:54.965Z"} {"level":"info","message":"Operator registered: 90073c11-0b5e-4248-8a37-da80a018f643","timestamp":"2025-09-29T12:00:54.968Z"} {"level":"info","message":"Camera session ended: 79e8e703-d088-4984-9da3-1cf7ea923bf8","timestamp":"2025-09-29T12:01:16.081Z"} {"level":"info","message":"Client disconnected: p6r6w-MPEc20fYjvAAA5, reason: client namespace disconnect","timestamp":"2025-09-29T12:01:17.073Z"} {"level":"info","message":"New connection: h1JAEqlRFDG5vk0qAABD","timestamp":"2025-09-29T12:01:19.697Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:01:19.708Z"} {"level":"info","message":"Client disconnected: mBnumY_jHkTvrGiBAAA7, reason: client namespace disconnect","timestamp":"2025-09-29T12:01:22.568Z"} {"level":"info","message":"Client disconnected: 1s3C4snKZNerOtWCAAA3, reason: transport close","timestamp":"2025-09-29T12:01:24.673Z"} {"level":"info","message":"Client disconnected: h1JAEqlRFDG5vk0qAABD, reason: transport close","timestamp":"2025-09-29T12:01:24.674Z"} {"level":"info","message":"New connection: HS2eFuJsSFuOu48CAABF","timestamp":"2025-09-29T12:01:24.903Z"} {"level":"info","message":"New connection: e1TmuxmbK12j-Q0pAABH","timestamp":"2025-09-29T12:01:27.051Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:01:27.055Z"} {"level":"info","message":"Client disconnected: JBb6Jp0Iq3g71D8nAABB, reason: client namespace disconnect","timestamp":"2025-09-29T12:01:28.524Z"} {"level":"info","message":"New connection: tLZGmzr1rmKvP9v4AABJ","timestamp":"2025-09-29T12:01:29.512Z"} {"level":"info","message":"Operator registered: 90073c11-0b5e-4248-8a37-da80a018f643","timestamp":"2025-09-29T12:01:29.514Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:44.503Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:45.440Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:45.633Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:45.809Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:45.984Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:46.152Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:46.347Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:49.680Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:50.066Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:50.434Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:51.560Z"} {"level":"info","message":"Client disconnected: tLZGmzr1rmKvP9v4AABJ, reason: client namespace disconnect","timestamp":"2025-09-29T12:01:53.832Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:56.324Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:57.184Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:58.176Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:58.392Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:01:58.586Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T12:02:33.198Z"} {"level":"info","message":"New connection: UdCrnBfnTvXKR1tOAAAB","timestamp":"2025-09-29T12:02:34.589Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:02:34.598Z"} {"level":"info","message":"New connection: O6JuDrm_7ipjokwsAAAD","timestamp":"2025-09-29T12:02:36.948Z"} {"level":"info","message":"New connection: JIbaTAHJbYL1wcfWAAAF","timestamp":"2025-09-29T12:02:37.070Z"} {"level":"info","message":"New connection: 9AhcRllgAZ-ngdJNAAAH","timestamp":"2025-09-29T12:02:38.070Z"} {"level":"info","message":"New connection: kvyPjVfVd2nt8doqAAAJ","timestamp":"2025-09-29T12:02:40.646Z"} {"level":"info","message":"Operator registered: 90073c11-0b5e-4248-8a37-da80a018f643","timestamp":"2025-09-29T12:02:40.648Z"} {"level":"info","message":"Client disconnected: UdCrnBfnTvXKR1tOAAAB, reason: client namespace disconnect","timestamp":"2025-09-29T12:03:04.532Z"} {"level":"info","message":"Client disconnected: O6JuDrm_7ipjokwsAAAD, reason: transport close","timestamp":"2025-09-29T12:03:05.582Z"} {"level":"info","message":"New connection: GdScSgDDEuA4E7uCAAAL","timestamp":"2025-09-29T12:03:05.681Z"} {"level":"info","message":"New connection: qzzb-MW6yjzg34ZcAAAN","timestamp":"2025-09-29T12:03:09.421Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:03:09.426Z"} {"level":"info","message":"New connection: zIb2SbZXOokfofNvAAAP","timestamp":"2025-09-29T12:03:19.101Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T12:03:19.106Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: e832ef5c-fdff-4e2c-8045-903571939920","operatorId":"demo-operator-001","timestamp":"2025-09-29T12:03:20.239Z"} {"level":"info","message":"Client disconnected: kvyPjVfVd2nt8doqAAAJ, reason: client namespace disconnect","timestamp":"2025-09-29T12:03:25.976Z"} {"level":"info","message":"New connection: ub5EP5KlktYD9-o6AAAR","timestamp":"2025-09-29T12:03:27.225Z"} {"level":"info","message":"Operator registered: 90073c11-0b5e-4248-8a37-da80a018f643","timestamp":"2025-09-29T12:03:27.226Z"} {"level":"info","message":"Camera stream started: session e832ef5c-fdff-4e2c-8045-903571939920","timestamp":"2025-09-29T12:03:31.449Z"} {"level":"info","message":"Client disconnected: ub5EP5KlktYD9-o6AAAR, reason: client namespace disconnect","timestamp":"2025-09-29T12:03:34.120Z"} {"level":"info","message":"New connection: _vzqnKdr4a5zRWgRAAAT","timestamp":"2025-09-29T12:03:34.780Z"} {"level":"info","message":"Operator registered: 90073c11-0b5e-4248-8a37-da80a018f643","timestamp":"2025-09-29T12:03:34.781Z"} {"level":"info","message":"Camera session ended: e832ef5c-fdff-4e2c-8045-903571939920","timestamp":"2025-09-29T12:03:39.297Z"} {"level":"info","message":"Client disconnected: qzzb-MW6yjzg34ZcAAAN, reason: client namespace disconnect","timestamp":"2025-09-29T12:03:40.136Z"} {"level":"info","message":"New connection: IFEA2VHwsviZfG6lAAAV","timestamp":"2025-09-29T12:03:40.974Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:03:40.978Z"} {"level":"info","message":"Client disconnected: zIb2SbZXOokfofNvAAAP, reason: client namespace disconnect","timestamp":"2025-09-29T12:03:44.672Z"} {"level":"info","message":"New connection: aAseas-xzgvtv_9CAAAX","timestamp":"2025-09-29T12:03:45.335Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T12:03:45.340Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: f686c3dd-d385-4a52-8c70-8c15b6b28ca1","operatorId":"demo-operator-001","timestamp":"2025-09-29T12:03:58.602Z"} {"level":"info","message":"Camera stream started: session f686c3dd-d385-4a52-8c70-8c15b6b28ca1","timestamp":"2025-09-29T12:04:00.592Z"} {"level":"info","message":"Client disconnected: aAseas-xzgvtv_9CAAAX, reason: client namespace disconnect","timestamp":"2025-09-29T12:04:06.024Z"} {"level":"info","message":"Client disconnected: IFEA2VHwsviZfG6lAAAV, reason: client namespace disconnect","timestamp":"2025-09-29T12:04:07.752Z"} {"level":"info","message":"New connection: oIffTW2_d4E9KfCjAAAZ","timestamp":"2025-09-29T12:04:08.850Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:04:08.855Z"} {"level":"info","message":"New connection: 6ZOhiRihPWTrfTVAAAAb","timestamp":"2025-09-29T12:04:11.933Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T12:04:11.937Z"} {"cameraType":"front","deviceId":"demo-device-001","level":"info","message":"Camera request created: defe7588-3cdd-4c68-8e71-4564114fc758","operatorId":"demo-operator-001","timestamp":"2025-09-29T12:04:16.066Z"} {"level":"info","message":"Client disconnected: _vzqnKdr4a5zRWgRAAAT, reason: client namespace disconnect","timestamp":"2025-09-29T12:04:20.856Z"} {"level":"info","message":"New connection: n9p-QUUjj5Lgy816AAAd","timestamp":"2025-09-29T12:04:21.779Z"} {"level":"info","message":"Operator registered: 90073c11-0b5e-4248-8a37-da80a018f643","timestamp":"2025-09-29T12:04:21.780Z"} {"level":"info","message":"Client disconnected: n9p-QUUjj5Lgy816AAAd, reason: transport close","timestamp":"2025-09-29T12:08:49.802Z"} {"level":"info","message":"New connection: U5T0S8tKLOpMwgLYAAAf","timestamp":"2025-09-29T12:08:55.514Z"} {"level":"info","message":"Operator registered: 36c75acd-0160-4ef7-a369-87bb7584de00","timestamp":"2025-09-29T12:08:55.520Z"} {"level":"info","message":"Client disconnected: U5T0S8tKLOpMwgLYAAAf, reason: client namespace disconnect","timestamp":"2025-09-29T12:08:59.312Z"} {"level":"info","message":"New connection: 7qOAfa5rd35DlyTYAAAh","timestamp":"2025-09-29T12:08:59.828Z"} {"level":"info","message":"Operator registered: 36c75acd-0160-4ef7-a369-87bb7584de00","timestamp":"2025-09-29T12:08:59.829Z"} {"level":"info","message":"Camera stream started: session defe7588-3cdd-4c68-8e71-4564114fc758","timestamp":"2025-09-29T12:09:04.946Z"} {"level":"info","message":"Camera session ended: defe7588-3cdd-4c68-8e71-4564114fc758","timestamp":"2025-09-29T12:09:05.768Z"} {"level":"info","message":"Client disconnected: oIffTW2_d4E9KfCjAAAZ, reason: client namespace disconnect","timestamp":"2025-09-29T12:09:06.464Z"} {"level":"info","message":"New connection: kaOTuag73GlnHVgTAAAj","timestamp":"2025-09-29T12:09:07.658Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:09:07.667Z"} {"level":"info","message":"Client disconnected: 6ZOhiRihPWTrfTVAAAAb, reason: client namespace disconnect","timestamp":"2025-09-29T12:09:10.048Z"} {"level":"info","message":"New connection: P4yg6kuVf12J723aAAAl","timestamp":"2025-09-29T12:09:10.648Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T12:09:10.654Z"} {"level":"info","message":"Client disconnected: P4yg6kuVf12J723aAAAl, reason: client namespace disconnect","timestamp":"2025-09-29T12:09:11.664Z"} {"level":"info","message":"Client disconnected: kaOTuag73GlnHVgTAAAj, reason: client namespace disconnect","timestamp":"2025-09-29T12:09:14.113Z"} {"level":"info","message":"New connection: DBzwxtQ2DTvtyXmqAAAn","timestamp":"2025-09-29T12:09:22.021Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S96","timestamp":"2025-09-29T12:09:22.025Z"} {"level":"info","message":"Client disconnected: 7qOAfa5rd35DlyTYAAAh, reason: client namespace disconnect","timestamp":"2025-09-29T12:11:06.104Z"} {"level":"info","message":"New connection: PtbJNJq6mfxE9e3HAAAp","timestamp":"2025-09-29T12:11:07.435Z"} {"level":"info","message":"Operator registered: 36c75acd-0160-4ef7-a369-87bb7584de00","timestamp":"2025-09-29T12:11:07.437Z"} {"level":"info","message":"Camera request: operator 36c75acd-0160-4ef7-a369-87bb7584de00 -> device demo-device-001","timestamp":"2025-09-29T12:11:11.769Z"} {"level":"info","message":"Camera stream started: session f9e24ed3-0025-436d-b4ac-b32beeab5296","timestamp":"2025-09-29T12:11:21.480Z"} {"level":"info","message":"Client disconnected: PtbJNJq6mfxE9e3HAAAp, reason: client namespace disconnect","timestamp":"2025-09-29T12:12:11.016Z"} {"level":"info","message":"Client disconnected: DBzwxtQ2DTvtyXmqAAAn, reason: client namespace disconnect","timestamp":"2025-09-29T12:12:13.960Z"} {"level":"info","message":"New connection: HIZ6KuyXe5AVeyFgAAAr","timestamp":"2025-09-29T12:12:14.652Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S96","timestamp":"2025-09-29T12:12:14.656Z"} {"level":"info","message":"New connection: 3pBt4Mfx7hONFzxTAAAt","timestamp":"2025-09-29T12:12:16.404Z"} {"level":"info","message":"Operator registered: 36c75acd-0160-4ef7-a369-87bb7584de00","timestamp":"2025-09-29T12:12:16.405Z"} {"level":"info","message":"Camera request: operator 36c75acd-0160-4ef7-a369-87bb7584de00 -> device demo-device-001","timestamp":"2025-09-29T12:12:19.344Z"} {"level":"info","message":"Camera stream started: session 1baad697-4c16-458f-acbb-ad41d0dceebf","timestamp":"2025-09-29T12:12:31.000Z"} {"level":"info","message":"New connection: SFZ9BU7pDT12JdRGAAAv","timestamp":"2025-09-29T12:15:54.943Z"} {"level":"info","message":"Client disconnected: SFZ9BU7pDT12JdRGAAAv, reason: transport close","timestamp":"2025-09-29T12:15:56.501Z"} {"level":"info","message":"New connection: Hah4NB7tsUuQZ6l7AAAx","timestamp":"2025-09-29T12:15:56.521Z"} {"level":"info","message":"Client disconnected: Hah4NB7tsUuQZ6l7AAAx, reason: transport close","timestamp":"2025-09-29T12:16:41.818Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:29.177Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:30.114Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:52.818Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:53.034Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:53.226Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:53.403Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:53.554Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:53.724Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:53.899Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:54.050Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:54.202Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:54.354Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:54.523Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:54.698Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:26:54.874Z"} {"level":"info","message":"Client disconnected: 3pBt4Mfx7hONFzxTAAAt, reason: client namespace disconnect","timestamp":"2025-09-29T12:26:59.516Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:02.622Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:03.333Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:03.571Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:03.787Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:03.987Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:04.203Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:04.458Z"} {"level":"info","message":"Client disconnected: HIZ6KuyXe5AVeyFgAAAr, reason: client namespace disconnect","timestamp":"2025-09-29T12:27:08.747Z"} {"level":"info","message":"Client disconnected: GdScSgDDEuA4E7uCAAAL, reason: transport close","timestamp":"2025-09-29T12:27:11.759Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:15.891Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:16.540Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:16.822Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:17.018Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:17.211Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:17.387Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:17.557Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:17.730Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:17.883Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:18.059Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:18.205Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:18.379Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:27:18.507Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T12:27:35.608Z"} {"level":"info","message":"New connection: rn5lKFj1a4MFlHDzAAAB","timestamp":"2025-09-29T12:27:40.615Z"} {"level":"info","message":"Operator registered: 36c75acd-0160-4ef7-a369-87bb7584de00","timestamp":"2025-09-29T12:27:40.619Z"} {"level":"info","message":"New connection: 6lfJSglv-RGdEtJJAAAD","timestamp":"2025-09-29T12:28:27.092Z"} {"level":"info","message":"New connection: 9wuv2p6Dlo9q2HK8AAAF","timestamp":"2025-09-29T12:28:33.489Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:28:33.495Z"} {"level":"info","message":"Client disconnected: rn5lKFj1a4MFlHDzAAAB, reason: client namespace disconnect","timestamp":"2025-09-29T12:28:38.908Z"} {"level":"info","message":"New connection: JKXESo_JJi3C13dvAAAH","timestamp":"2025-09-29T12:28:39.760Z"} {"level":"info","message":"Operator registered: 36c75acd-0160-4ef7-a369-87bb7584de00","timestamp":"2025-09-29T12:28:39.761Z"} {"level":"info","message":"Client disconnected: JKXESo_JJi3C13dvAAAH, reason: client namespace disconnect","timestamp":"2025-09-29T12:28:47.035Z"} {"level":"info","message":"Client disconnected: 9wuv2p6Dlo9q2HK8AAAF, reason: client namespace disconnect","timestamp":"2025-09-29T12:28:49.163Z"} {"level":"info","message":"New connection: ZPNw-el1D092j8sVAAAJ","timestamp":"2025-09-29T12:29:03.146Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Vasya-Galasy 101","model":"Samsung Galaxy S101","timestamp":"2025-09-29T12:29:03.150Z"} {"level":"info","message":"New connection: PTBqs5Oyvts558VLAAAL","timestamp":"2025-09-29T12:29:04.911Z"} {"level":"info","message":"Operator registered: 36c75acd-0160-4ef7-a369-87bb7584de00","timestamp":"2025-09-29T12:29:04.913Z"} {"level":"info","message":"Camera request: operator 36c75acd-0160-4ef7-a369-87bb7584de00 -> device Vasya-Galasy 101","timestamp":"2025-09-29T12:29:09.038Z"} {"level":"info","message":"Camera stream started: session 31dce7ff-a7e4-4371-822d-07214a94478b","timestamp":"2025-09-29T12:29:13.676Z"} {"level":"info","message":"Client disconnected: PTBqs5Oyvts558VLAAAL, reason: transport close","timestamp":"2025-09-29T12:29:48.250Z"} {"level":"info","message":"New connection: 9NhCdBVh7-ldYfO_AAAN","timestamp":"2025-09-29T12:34:24.633Z"} {"level":"info","message":"Client disconnected: 9NhCdBVh7-ldYfO_AAAN, reason: transport close","timestamp":"2025-09-29T12:34:31.252Z"} {"level":"info","message":"Client disconnected: ZPNw-el1D092j8sVAAAJ, reason: client namespace disconnect","timestamp":"2025-09-29T12:36:08.558Z"} {"level":"info","message":"Client disconnected: 6lfJSglv-RGdEtJJAAAD, reason: transport close","timestamp":"2025-09-29T12:41:23.968Z"} {"level":"info","message":"New connection: 3lQsF2P63g1fUwM6AAAP","timestamp":"2025-09-29T12:41:24.283Z"} {"level":"info","message":"New connection: 4Rjyv6LKJgz25f8ZAAAR","timestamp":"2025-09-29T12:41:27.380Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:41:27.384Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:14.090Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:14.529Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:14.919Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:22.952Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:23.602Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:24.640Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:25.071Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:25.266Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:25.439Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:25.592Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:25.775Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:25.920Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:26.072Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:26.239Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:29.401Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:29.721Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:29.921Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:30.111Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:30.287Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:30.480Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:30.695Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:31.019Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:31.216Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:31.386Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:31.537Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:31.735Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:31.969Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:32.255Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:33.105Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:33.303Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:33.455Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:34.567Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:35.000Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:35.175Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:35.367Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:36.290Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:36.487Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:36.657Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:37.339Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T12:43:41.352Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T12:43:58.663Z"} {"level":"info","message":"New connection: 2r1VPnxW24i9vPgeAAAB","timestamp":"2025-09-29T12:44:00.083Z"} {"level":"info","message":"New connection: fQ56hKqGWHoXD2gxAAAD","timestamp":"2025-09-29T12:44:02.497Z"} {"level":"info","message":"New connection: 0WVYicnHDR28YhRuAAAF","timestamp":"2025-09-29T12:44:03.568Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:44:03.590Z"} {"level":"info","message":"New connection: Msps460RFhglT2LJAAAH","timestamp":"2025-09-29T12:44:04.074Z"} {"level":"info","message":"Client disconnected: 0WVYicnHDR28YhRuAAAF, reason: transport close","timestamp":"2025-09-29T12:44:09.804Z"} {"level":"info","message":"Client disconnected: fQ56hKqGWHoXD2gxAAAD, reason: transport close","timestamp":"2025-09-29T12:44:09.805Z"} {"level":"info","message":"New connection: v-7u3VwYin-5qtddAAAJ","timestamp":"2025-09-29T12:44:10.111Z"} {"level":"info","message":"New connection: b683yFfE86SOF2KnAAAL","timestamp":"2025-09-29T12:44:23.612Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Vasya_Test1","model":"Samsung Galaxy S96","timestamp":"2025-09-29T12:44:23.617Z"} {"level":"info","message":"New connection: LbtZNj-a7NCGlGjOAAAN","timestamp":"2025-09-29T12:45:27.879Z"} {"level":"info","message":"Operator registered: 85a108a9-2126-4941-8d0f-d4914d6a5138","timestamp":"2025-09-29T12:45:27.882Z"} {"level":"info","message":"Camera request: operator 85a108a9-2126-4941-8d0f-d4914d6a5138 -> device Vasya_Test1","timestamp":"2025-09-29T12:45:31.459Z"} {"level":"info","message":"Camera stream started: session b8efc55b-5ab2-4ab4-8da9-466ecb1bbfbc","timestamp":"2025-09-29T12:45:38.057Z"} {"level":"info","message":"Client disconnected: v-7u3VwYin-5qtddAAAJ, reason: transport close","timestamp":"2025-09-29T12:46:20.814Z"} {"level":"info","message":"Client disconnected: b683yFfE86SOF2KnAAAL, reason: transport close","timestamp":"2025-09-29T12:46:20.815Z"} {"level":"info","message":"New connection: NinJL_kVgxtIyzBvAAAP","timestamp":"2025-09-29T12:46:21.019Z"} {"level":"info","message":"Client disconnected: LbtZNj-a7NCGlGjOAAAN, reason: client namespace disconnect","timestamp":"2025-09-29T12:46:26.832Z"} {"level":"info","message":"New connection: G6X1k4A6eLuacyFxAAAR","timestamp":"2025-09-29T12:46:28.238Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:46:28.242Z"} {"level":"info","message":"New connection: LhlF3fXZKddGSN5WAAAT","timestamp":"2025-09-29T12:46:30.189Z"} {"level":"info","message":"Operator registered: 85a108a9-2126-4941-8d0f-d4914d6a5138","timestamp":"2025-09-29T12:46:30.191Z"} {"level":"info","message":"Camera request: operator 85a108a9-2126-4941-8d0f-d4914d6a5138 -> device demo-device-001","timestamp":"2025-09-29T12:46:32.017Z"} {"level":"info","message":"Camera stream started: session 6cda572d-f388-4660-9c1b-8772fa73c230","timestamp":"2025-09-29T12:46:34.112Z"} {"level":"info","message":"Client disconnected: 2r1VPnxW24i9vPgeAAAB, reason: transport close","timestamp":"2025-09-29T12:48:16.132Z"} {"level":"info","message":"Client disconnected: Msps460RFhglT2LJAAAH, reason: transport close","timestamp":"2025-09-29T12:48:16.542Z"} {"level":"info","message":"Client disconnected: NinJL_kVgxtIyzBvAAAP, reason: transport close","timestamp":"2025-09-29T12:48:18.396Z"} {"level":"info","message":"Client disconnected: G6X1k4A6eLuacyFxAAAR, reason: transport close","timestamp":"2025-09-29T12:48:18.397Z"} {"level":"info","message":"New connection: MnMrvSpVt9yCqJ6EAAAV","timestamp":"2025-09-29T12:48:18.462Z"} {"level":"info","message":"Client disconnected: MnMrvSpVt9yCqJ6EAAAV, reason: transport close","timestamp":"2025-09-29T12:48:19.343Z"} {"level":"info","message":"New connection: I4wTsCLxaOXNyaw8AAAX","timestamp":"2025-09-29T12:48:19.408Z"} {"level":"info","message":"Client disconnected: I4wTsCLxaOXNyaw8AAAX, reason: transport close","timestamp":"2025-09-29T12:48:19.765Z"} {"level":"info","message":"New connection: dFQAJy2dC5QmREylAAAZ","timestamp":"2025-09-29T12:48:19.824Z"} {"level":"info","message":"Client disconnected: dFQAJy2dC5QmREylAAAZ, reason: transport close","timestamp":"2025-09-29T12:48:42.163Z"} {"level":"info","message":"New connection: HgC1_2R1tyLrTe2sAAAb","timestamp":"2025-09-29T12:48:42.216Z"} {"level":"info","message":"Client disconnected: LhlF3fXZKddGSN5WAAAT, reason: client namespace disconnect","timestamp":"2025-09-29T12:50:51.875Z"} {"level":"info","message":"New connection: jrHB6kFH9PlAkwyXAAAd","timestamp":"2025-09-29T12:50:53.020Z"} {"level":"info","message":"Operator registered: 85a108a9-2126-4941-8d0f-d4914d6a5138","timestamp":"2025-09-29T12:50:53.021Z"} {"level":"info","message":"New connection: CygCruufyfGH-z5PAAAf","timestamp":"2025-09-29T12:51:02.081Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T12:51:02.090Z"} {"level":"info","message":"Client disconnected: CygCruufyfGH-z5PAAAf, reason: client namespace disconnect","timestamp":"2025-09-29T12:51:04.329Z"} {"level":"info","message":"New connection: crayF_48AZ2Mp-2gAAAh","timestamp":"2025-09-29T12:51:11.013Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung123","message":"Android client registered: asdasdc","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:51:11.021Z"} {"level":"info","message":"Client disconnected: jrHB6kFH9PlAkwyXAAAd, reason: client namespace disconnect","timestamp":"2025-09-29T12:51:14.401Z"} {"level":"info","message":"New connection: OZCLhDRNkdw7ykI4AAAj","timestamp":"2025-09-29T12:51:15.069Z"} {"level":"info","message":"Operator registered: 85a108a9-2126-4941-8d0f-d4914d6a5138","timestamp":"2025-09-29T12:51:15.070Z"} {"level":"info","message":"Camera request: operator 85a108a9-2126-4941-8d0f-d4914d6a5138 -> device asdasdc","timestamp":"2025-09-29T12:51:17.981Z"} {"level":"info","message":"Camera stream started: session 1c478823-b323-4fd3-9b8e-fa4d96f3feba","timestamp":"2025-09-29T12:51:35.202Z"} {"level":"info","message":"New connection: h-AYm6tg1wQ2bTe6AAAl","timestamp":"2025-09-29T12:51:41.750Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T12:51:41.754Z"} {"level":"info","message":"Client disconnected: crayF_48AZ2Mp-2gAAAh, reason: client namespace disconnect","timestamp":"2025-09-29T12:51:44.313Z"} {"level":"info","message":"New connection: i7DH9nkvJVFJiXRXAAAn","timestamp":"2025-09-29T12:51:44.894Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung123","message":"Android client registered: asdasdc","model":"Samsung Galaxy S21","timestamp":"2025-09-29T12:51:44.898Z"} {"cameraType":"back","deviceId":"asdasdc","level":"info","message":"Camera request created: eb8e80da-1be0-4749-a6d8-589abb9b129a","operatorId":"demo-operator-001","timestamp":"2025-09-29T12:51:47.806Z"} {"level":"info","message":"Camera stream started: session eb8e80da-1be0-4749-a6d8-589abb9b129a","timestamp":"2025-09-29T12:51:54.385Z"} {"level":"info","message":"Client disconnected: OZCLhDRNkdw7ykI4AAAj, reason: client namespace disconnect","timestamp":"2025-09-29T12:59:14.271Z"} {"level":"info","message":"New connection: -u2fKsMvTRwBZSHFAAAp","timestamp":"2025-09-29T12:59:15.204Z"} {"level":"info","message":"Operator registered: 85a108a9-2126-4941-8d0f-d4914d6a5138","timestamp":"2025-09-29T12:59:15.207Z"} {"level":"info","message":"New connection: MBpSOf3ncxyPJ8rTAAAr","timestamp":"2025-09-29T13:01:18.317Z"} {"level":"info","message":"Client disconnected: -u2fKsMvTRwBZSHFAAAp, reason: transport close","timestamp":"2025-09-29T13:25:48.310Z"} {"level":"info","message":"New connection: sHbg-bENlnp8b5chAAAt","timestamp":"2025-09-29T13:25:58.178Z"} {"level":"info","message":"Operator registered: c09ddde2-cfeb-43d4-b18d-94080184ded4","timestamp":"2025-09-29T13:25:58.180Z"} {"level":"info","message":"Client disconnected: sHbg-bENlnp8b5chAAAt, reason: client namespace disconnect","timestamp":"2025-09-29T13:28:24.735Z"} {"level":"info","message":"New connection: BEgKsg8i8snEmGP6AAAv","timestamp":"2025-09-29T13:28:26.024Z"} {"level":"info","message":"Operator registered: c09ddde2-cfeb-43d4-b18d-94080184ded4","timestamp":"2025-09-29T13:28:26.026Z"} {"level":"info","message":"New connection: c3bpyBddVUYGU6I9AAAx","timestamp":"2025-09-29T13:29:47.088Z"} {"level":"info","message":"Client disconnected: c3bpyBddVUYGU6I9AAAx, reason: transport close","timestamp":"2025-09-29T13:29:59.061Z"} {"level":"info","message":"New connection: jX5VgCyBR1scp2BJAAAz","timestamp":"2025-09-29T13:29:59.142Z"} {"level":"info","message":"Client disconnected: jX5VgCyBR1scp2BJAAAz, reason: transport close","timestamp":"2025-09-29T13:30:13.568Z"} {"level":"info","message":"New connection: HQb2OdPh92dM3bq2AAA1","timestamp":"2025-09-29T13:30:13.609Z"} {"level":"info","message":"Client disconnected: HQb2OdPh92dM3bq2AAA1, reason: transport close","timestamp":"2025-09-29T13:30:50.339Z"} {"level":"info","message":"New connection: 2z1HVuqpGB5JayYHAAA3","timestamp":"2025-09-29T13:30:50.391Z"} {"level":"info","message":"Client disconnected: 2z1HVuqpGB5JayYHAAA3, reason: transport close","timestamp":"2025-09-29T13:31:09.350Z"} {"level":"info","message":"New connection: fqJRo3E370l4tgmCAAA5","timestamp":"2025-09-29T13:31:09.472Z"} {"level":"info","message":"Client disconnected: fqJRo3E370l4tgmCAAA5, reason: transport close","timestamp":"2025-09-29T13:33:09.049Z"} {"level":"info","message":"New connection: xwQkd5mttb4WsgKBAAA7","timestamp":"2025-09-29T13:33:09.087Z"} {"level":"info","message":"Client disconnected: xwQkd5mttb4WsgKBAAA7, reason: transport close","timestamp":"2025-09-29T13:33:15.313Z"} {"level":"info","message":"New connection: lSvFy_GiffvPEM0HAAA9","timestamp":"2025-09-29T13:33:15.368Z"} {"level":"info","message":"Client disconnected: lSvFy_GiffvPEM0HAAA9, reason: transport close","timestamp":"2025-09-29T13:35:49.604Z"} {"level":"info","message":"New connection: HqohmjON7b1XM6v0AAA_","timestamp":"2025-09-29T13:35:49.640Z"} {"level":"info","message":"Client disconnected: HqohmjON7b1XM6v0AAA_, reason: transport close","timestamp":"2025-09-29T13:36:31.507Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T19:56:45.118Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T19:56:46.135Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T19:56:47.757Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T19:56:48.189Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T19:56:48.558Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T19:57:02.670Z"} {"level":"info","message":"New connection: sr8GsznQETO4RuVVAAAB","timestamp":"2025-09-29T19:57:03.095Z"} {"level":"info","message":"New connection: m3biyXB72iukXgkkAAAD","timestamp":"2025-09-29T19:57:04.071Z"} {"level":"info","message":"New connection: W3ntuW8Sr0fa10PWAAAG","timestamp":"2025-09-29T19:57:05.071Z"} {"level":"info","message":"New connection: xy4FqZzUckK2U2iSAAAH","timestamp":"2025-09-29T19:57:05.074Z"} {"level":"info","message":"Operator registered: c09ddde2-cfeb-43d4-b18d-94080184ded4","timestamp":"2025-09-29T19:57:05.078Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-29T19:57:05.080Z"} {"level":"info","message":"New connection: e5gCvCFAINqz1AkwAAAJ","timestamp":"2025-09-29T19:57:06.072Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung123","message":"Android client registered: asdasdc","model":"Samsung Galaxy S21","timestamp":"2025-09-29T19:57:06.079Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T20:17:56.788Z"} {"level":"info","message":"New connection: WrsmSIwCCm51uh_IAAAB","timestamp":"2025-09-29T20:17:57.090Z"} {"level":"info","message":"New connection: UPIsXZqh-SbXtWFIAAAD","timestamp":"2025-09-29T20:18:02.131Z"} {"level":"info","message":"Operator registered: c09ddde2-cfeb-43d4-b18d-94080184ded4","timestamp":"2025-09-29T20:18:02.172Z"} {"level":"info","message":"Client disconnected: UPIsXZqh-SbXtWFIAAAD, reason: client namespace disconnect","timestamp":"2025-09-29T20:18:07.974Z"} {"level":"info","message":"New connection: NZtUH12qIryVffY8AAAF","timestamp":"2025-09-29T20:18:09.485Z"} {"level":"info","message":"Operator registered: c09ddde2-cfeb-43d4-b18d-94080184ded4","timestamp":"2025-09-29T20:18:09.487Z"} {"level":"info","message":"New connection: 6heh5hwoHHL492SPAAAH","timestamp":"2025-09-29T20:18:19.599Z"} {"level":"info","message":"New connection: dShQ6DkFhcOeXszdAAAJ","timestamp":"2025-09-29T20:18:23.426Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T20:18:23.432Z"} {"level":"info","message":"Client disconnected: NZtUH12qIryVffY8AAAF, reason: client namespace disconnect","timestamp":"2025-09-29T20:18:26.237Z"} {"level":"info","message":"New connection: TbeGarfCR36ULmmzAAAL","timestamp":"2025-09-29T20:18:26.890Z"} {"level":"info","message":"Operator registered: c09ddde2-cfeb-43d4-b18d-94080184ded4","timestamp":"2025-09-29T20:18:26.892Z"} {"level":"info","message":"Camera request: operator c09ddde2-cfeb-43d4-b18d-94080184ded4 -> device demo-device-001","timestamp":"2025-09-29T20:18:32.191Z"} {"level":"info","message":"Camera stream started: session b249e218-d9c6-43a3-90d6-4d532b2cdc34","timestamp":"2025-09-29T20:18:37.038Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-29T20:27:05.054Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-29T20:27:05.056Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T20:28:50.134Z"} {"level":"info","message":"Client disconnected: TbeGarfCR36ULmmzAAAL, reason: client namespace disconnect","timestamp":"2025-09-29T20:29:00.985Z"} {"level":"info","message":"New connection: q_chux9CUavyd0QaAAAB","timestamp":"2025-09-29T20:29:19.770Z"} {"level":"info","message":"Operator registered: 9b36d681-3a47-4946-835f-bf68dac61de5","timestamp":"2025-09-29T20:29:19.773Z"} {"level":"info","message":"Client disconnected: q_chux9CUavyd0QaAAAB, reason: client namespace disconnect","timestamp":"2025-09-29T20:29:30.819Z"} {"level":"info","message":"Client disconnected: dShQ6DkFhcOeXszdAAAJ, reason: client namespace disconnect","timestamp":"2025-09-29T20:29:53.019Z"} {"level":"info","message":"New connection: VnxUOzQNiBNgtiYKAAAD","timestamp":"2025-09-29T20:29:55.182Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T20:29:55.189Z"} {"level":"info","message":"New connection: s-wHZGmJv9VkPpPBAAAF","timestamp":"2025-09-29T20:30:01.405Z"} {"level":"info","message":"Operator registered: 9b36d681-3a47-4946-835f-bf68dac61de5","timestamp":"2025-09-29T20:30:01.406Z"} {"level":"info","message":"Camera request: operator 9b36d681-3a47-4946-835f-bf68dac61de5 -> device demo-device-001","timestamp":"2025-09-29T20:30:03.539Z"} {"level":"info","message":"Camera stream started: session 8e353789-b850-46b3-8c90-37ed71ae79b4","timestamp":"2025-09-29T20:30:10.935Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-29T20:40:18.663Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-29T20:40:18.663Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-29T20:41:11.660Z"} {"level":"info","message":"Client disconnected: s-wHZGmJv9VkPpPBAAAF, reason: client namespace disconnect","timestamp":"2025-09-29T20:41:35.518Z"} {"level":"info","message":"New connection: JaqPIXATlxe85VX-AAAB","timestamp":"2025-09-29T20:41:38.200Z"} {"level":"info","message":"Operator registered: 9b36d681-3a47-4946-835f-bf68dac61de5","timestamp":"2025-09-29T20:41:38.202Z"} {"level":"info","message":"Client disconnected: JaqPIXATlxe85VX-AAAB, reason: client namespace disconnect","timestamp":"2025-09-29T20:41:41.445Z"} {"level":"info","message":"Client disconnected: VnxUOzQNiBNgtiYKAAAD, reason: client namespace disconnect","timestamp":"2025-09-29T20:42:04.872Z"} {"level":"info","message":"Process terminated","timestamp":"2025-09-29T20:42:04.882Z"} {"level":"info","message":"New connection: E7OY4beOxvcBCgjfAAAD","timestamp":"2025-09-29T20:42:07.700Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-29T20:42:07.705Z"} {"level":"info","message":"New connection: tVxQC_nW-tDIXdrjAAAF","timestamp":"2025-09-29T20:42:17.220Z"} {"level":"info","message":"Operator registered: 9b36d681-3a47-4946-835f-bf68dac61de5","timestamp":"2025-09-29T20:42:17.222Z"} {"level":"info","message":"Camera request: operator 9b36d681-3a47-4946-835f-bf68dac61de5 -> device demo-device-001","timestamp":"2025-09-29T20:42:20.798Z"} {"level":"info","message":"Camera stream started: session 794ec562-96dd-4864-9aeb-573595c74c76","timestamp":"2025-09-29T20:42:31.736Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-29T20:44:47.936Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:46.325Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:47.114Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:47.311Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:47.460Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:47.634Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:47.763Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:47.894Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T08:57:48.026Z"} {"level":"info","message":"Client disconnected: tVxQC_nW-tDIXdrjAAAF, reason: transport close","timestamp":"2025-09-30T08:58:24.033Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-30T08:58:30.959Z"} {"level":"info","message":"New connection: 7TSm31xHKk7nFZn2AAAB","timestamp":"2025-09-30T08:58:33.092Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-30T08:58:33.105Z"} {"level":"info","message":"Client disconnected: 7TSm31xHKk7nFZn2AAAB, reason: client namespace disconnect","timestamp":"2025-09-30T08:58:46.834Z"} {"level":"info","message":"New connection: oGr_hboHcV6KsEdkAAAD","timestamp":"2025-09-30T08:59:12.870Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T08:59:12.873Z"} {"level":"info","message":"New connection: -bNSmhrdug9iudfiAAAF","timestamp":"2025-09-30T08:59:31.072Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Test Device","model":"Samsung Galaxy S21","timestamp":"2025-09-30T08:59:31.076Z"} {"level":"info","message":"Client disconnected: oGr_hboHcV6KsEdkAAAD, reason: client namespace disconnect","timestamp":"2025-09-30T08:59:34.179Z"} {"level":"info","message":"New connection: qb1feA-OAXeJrTvVAAAH","timestamp":"2025-09-30T08:59:34.749Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T08:59:34.750Z"} {"level":"info","message":"Camera request: operator b915d531-0b35-47f2-8116-93727ba74be1 -> device Test Device","timestamp":"2025-09-30T08:59:36.900Z"} {"level":"info","message":"Camera stream started: session be05579a-1bad-46ef-852f-18d95f9313b9","timestamp":"2025-09-30T08:59:40.659Z"} {"level":"info","message":"Client disconnected: -bNSmhrdug9iudfiAAAF, reason: transport close","timestamp":"2025-09-30T09:00:05.200Z"} {"level":"info","message":"Client disconnected: 6heh5hwoHHL492SPAAAH, reason: transport close","timestamp":"2025-09-30T09:00:05.206Z"} {"level":"info","message":"New connection: BdMtgeMO6o9hvaTzAAAJ","timestamp":"2025-09-30T09:00:05.437Z"} {"level":"info","message":"New connection: SCd_nbVhLjsruc3pAAAL","timestamp":"2025-09-30T09:00:08.447Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-30T09:00:08.451Z"} {"level":"info","message":"Client disconnected: qb1feA-OAXeJrTvVAAAH, reason: client namespace disconnect","timestamp":"2025-09-30T09:00:10.858Z"} {"level":"info","message":"New connection: -Cq3eKJaRd44673ZAAAN","timestamp":"2025-09-30T09:00:11.558Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:00:11.559Z"} {"level":"info","message":"Camera request: operator b915d531-0b35-47f2-8116-93727ba74be1 -> device demo-device-001","timestamp":"2025-09-30T09:00:12.610Z"} {"level":"info","message":"Camera stream started: session 6fc263dc-0e22-4107-90dd-56633c171bca","timestamp":"2025-09-30T09:00:15.882Z"} {"level":"info","message":"Client disconnected: -Cq3eKJaRd44673ZAAAN, reason: client namespace disconnect","timestamp":"2025-09-30T09:02:42.993Z"} {"level":"info","message":"New connection: 6frkbGtIzOzCSutOAAAP","timestamp":"2025-09-30T09:04:24.382Z"} {"level":"info","message":"Client disconnected: 6frkbGtIzOzCSutOAAAP, reason: client namespace disconnect","timestamp":"2025-09-30T09:04:39.323Z"} {"level":"info","message":"New connection: YQ8InTTADRUbpi1YAAAR","timestamp":"2025-09-30T09:06:14.287Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:06:14.291Z"} {"level":"info","message":"Client disconnected: YQ8InTTADRUbpi1YAAAR, reason: client namespace disconnect","timestamp":"2025-09-30T09:06:18.289Z"} {"level":"info","message":"New connection: Czhj7IN8kTp6oQLjAAAT","timestamp":"2025-09-30T09:06:19.434Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:06:19.435Z"} {"level":"info","message":"New connection: 1gQvtRcgvepCoyPmAAAV","timestamp":"2025-09-30T09:07:16.483Z"} {"level":"info","message":"Client disconnected: 1gQvtRcgvepCoyPmAAAV, reason: transport close","timestamp":"2025-09-30T09:07:20.363Z"} {"level":"info","message":"New connection: tJKD-uUHnyCwvAzOAAAX","timestamp":"2025-09-30T09:08:42.531Z"} {"level":"info","message":"Client disconnected: Czhj7IN8kTp6oQLjAAAT, reason: client namespace disconnect","timestamp":"2025-09-30T09:08:52.720Z"} {"level":"info","message":"New connection: phWIz8Owu3_UYYEdAAAZ","timestamp":"2025-09-30T09:08:54.592Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:08:54.593Z"} {"level":"info","message":"Client disconnected: tJKD-uUHnyCwvAzOAAAX, reason: client namespace disconnect","timestamp":"2025-09-30T09:08:57.491Z"} {"level":"info","message":"New connection: W9BQjefXSfWV3RsAAAAc","timestamp":"2025-09-30T09:17:33.785Z"} {"level":"info","message":"Client disconnected: W9BQjefXSfWV3RsAAAAc, reason: client namespace disconnect","timestamp":"2025-09-30T09:17:48.733Z"} {"level":"info","message":"New connection: fUHGgGyHI5UOZt-6AAAe","timestamp":"2025-09-30T09:20:48.675Z"} {"level":"info","message":"Client disconnected: fUHGgGyHI5UOZt-6AAAe, reason: client namespace disconnect","timestamp":"2025-09-30T09:21:03.625Z"} {"level":"info","message":"New connection: NR5Kg_vSPjbQG-DjAAAg","timestamp":"2025-09-30T09:23:18.835Z"} {"level":"info","message":"Client disconnected: NR5Kg_vSPjbQG-DjAAAg, reason: client namespace disconnect","timestamp":"2025-09-30T09:23:33.222Z"} {"level":"info","message":"New connection: 3UqwOX-MOBC3HdrVAAAi","timestamp":"2025-09-30T09:25:26.443Z"} {"level":"info","message":"Client disconnected: 3UqwOX-MOBC3HdrVAAAi, reason: client namespace disconnect","timestamp":"2025-09-30T09:25:41.393Z"} {"level":"info","message":"New connection: jr7r6tVfDDIU1VDjAAAk","timestamp":"2025-09-30T09:26:36.178Z"} {"level":"info","message":"Client disconnected: jr7r6tVfDDIU1VDjAAAk, reason: client namespace disconnect","timestamp":"2025-09-30T09:26:51.113Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:28:22.779Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:28:22.799Z"} {"level":"info","message":"Client disconnected: phWIz8Owu3_UYYEdAAAZ, reason: client namespace disconnect","timestamp":"2025-09-30T09:28:27.940Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-30T09:30:58.822Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: RJRHBL3MlYz5s9J7AAAB","timestamp":"2025-09-30T09:30:59.670Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:30:59.677Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: IZvcFNylPwEVFx5ZAAAD","timestamp":"2025-09-30T09:31:01.261Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:31:01.265Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: 7ahzHXjUVS4M6doBAAAF","timestamp":"2025-09-30T09:31:01.400Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:31:01.401Z"} {"level":"info","message":"Client disconnected: RJRHBL3MlYz5s9J7AAAB, reason: client namespace disconnect","timestamp":"2025-09-30T09:31:02.155Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: rvGe52m9lpxA09p0AAAH","timestamp":"2025-09-30T09:31:03.034Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: K6AxJDSUsluAi5ZFAAAJ","timestamp":"2025-09-30T09:31:07.632Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:31:07.634Z"} {"level":"info","message":"Client disconnected: K6AxJDSUsluAi5ZFAAAJ, reason: client namespace disconnect","timestamp":"2025-09-30T09:31:22.923Z"} {"address":"::ffff:127.0.0.1","level":"info","message":"New connection: NxTi1eK2SdZGvuenAAAL","timestamp":"2025-09-30T09:31:52.625Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"Client disconnected: NxTi1eK2SdZGvuenAAAL, reason: client namespace disconnect","timestamp":"2025-09-30T09:32:07.581Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:32:40.386Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:33:50.758Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:33:52.628Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:33:52.823Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:33:53.020Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:33:53.324Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:33:53.709Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-09-30T09:33:54.077Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-30T09:34:10.370Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: JyUH7aNSB8jqJsF9AAAB","timestamp":"2025-09-30T09:34:11.068Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:34:11.073Z"} {"level":"info","message":"Client disconnected: JyUH7aNSB8jqJsF9AAAB, reason: client namespace disconnect","timestamp":"2025-09-30T09:34:12.272Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: ZEsAyI6xjJ0jbpmKAAAD","timestamp":"2025-09-30T09:34:13.344Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:34:13.346Z"} {"level":"info","message":"Client disconnected: ZEsAyI6xjJ0jbpmKAAAD, reason: client namespace disconnect","timestamp":"2025-09-30T09:34:15.604Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: 9ZG4rGl7UwRUmGg0AAAF","timestamp":"2025-09-30T09:34:16.170Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:34:16.171Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: lN34qt91ZCrcqLpfAAAH","timestamp":"2025-09-30T09:34:29.479Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"Client disconnected: lN34qt91ZCrcqLpfAAAH, reason: client namespace disconnect","timestamp":"2025-09-30T09:34:44.447Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: xQJh4s4TA1DGiylFAAAJ","timestamp":"2025-09-30T09:34:50.530Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:34:50.533Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: SDvRGIXmX4coVNdsAAAL","timestamp":"2025-09-30T09:34:50.946Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:34:50.948Z"} {"address":"::ffff:192.168.219.108","level":"info","message":"New connection: 3Vta8mv93aF4rT2jAAAN","timestamp":"2025-09-30T09:34:51.102Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:34:51.103Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:37:25.091Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:37:25.092Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:37:25.092Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:37:45.942Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:37:45.943Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:37:45.941Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-30T09:37:48.273Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: J0y9EsOIdW-bPh_yAAAB","timestamp":"2025-09-30T09:37:52.194Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: J0y9EsOIdW-bPh_yAAAB","timestamp":"2025-09-30T09:37:52.195Z"} {"level":"info","message":"Client disconnected: J0y9EsOIdW-bPh_yAAAB, reason: client namespace disconnect","timestamp":"2025-09-30T09:38:07.152Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: R-TO56_iMeyKRYEoAAAD","timestamp":"2025-09-30T09:39:41.857Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: R-TO56_iMeyKRYEoAAAD","timestamp":"2025-09-30T09:39:41.857Z"} {"level":"info","message":"Client disconnected: R-TO56_iMeyKRYEoAAAD, reason: client namespace disconnect","timestamp":"2025-09-30T09:39:56.831Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: aqyQHRoJF_YTwoWLAAAF","timestamp":"2025-09-30T09:41:19.988Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: aqyQHRoJF_YTwoWLAAAF","timestamp":"2025-09-30T09:41:19.989Z"} {"level":"info","message":"Client disconnected: aqyQHRoJF_YTwoWLAAAF, reason: client namespace disconnect","timestamp":"2025-09-30T09:41:34.951Z"} {"address":"::1","isAndroid":false,"level":"info","message":"New connection: 5_XhXEkpA1zk8eoSAAAH","timestamp":"2025-09-30T09:42:15.009Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"::1","isAndroid":false,"level":"info","message":"New connection: uXsO3TgopqRdg1nBAAAJ","timestamp":"2025-09-30T09:42:34.982Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-30T09:42:34.987Z"} {"level":"info","message":"Client disconnected: uXsO3TgopqRdg1nBAAAJ, reason: client namespace disconnect","timestamp":"2025-09-30T09:42:45.710Z"} {"level":"info","message":"Client disconnected: SCd_nbVhLjsruc3pAAAL, reason: client namespace disconnect","timestamp":"2025-09-30T09:42:54.063Z"} {"address":"::1","isAndroid":false,"level":"info","message":"New connection: 6j_iPqgZI6tYiE2dAAAL","timestamp":"2025-09-30T09:42:55.187Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: test test","model":"Samsung Galaxy S21","timestamp":"2025-09-30T09:42:55.191Z"} {"level":"info","message":"Client disconnected: 9ZG4rGl7UwRUmGg0AAAF, reason: client namespace disconnect","timestamp":"2025-09-30T09:43:05.759Z"} {"address":"::ffff:192.168.219.108","isAndroid":false,"level":"info","message":"New connection: q1efdCzbSx_LvPS1AAAN","timestamp":"2025-09-30T09:43:06.529Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T09:43:06.531Z"} {"level":"info","message":"Camera request: operator b915d531-0b35-47f2-8116-93727ba74be1 -> device test test","timestamp":"2025-09-30T09:43:08.289Z"} {"level":"info","message":"Camera stream started: session a9b4b7fe-8a48-4733-9390-84a83e6cb4fb","timestamp":"2025-09-30T09:43:13.119Z"} {"level":"info","message":"Camera session ended: a9b4b7fe-8a48-4733-9390-84a83e6cb4fb","timestamp":"2025-09-30T09:45:24.784Z"} {"level":"info","message":"Client disconnected: 6j_iPqgZI6tYiE2dAAAL, reason: client namespace disconnect","timestamp":"2025-09-30T09:45:25.711Z"} {"level":"info","message":"Client disconnected: q1efdCzbSx_LvPS1AAAN, reason: client namespace disconnect","timestamp":"2025-09-30T09:45:37.350Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: Z_IuUuDyJBdPyJn3AAAP","timestamp":"2025-09-30T09:46:25.275Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Z_IuUuDyJBdPyJn3AAAP","timestamp":"2025-09-30T09:46:25.275Z"} {"level":"info","message":"Client disconnected: Z_IuUuDyJBdPyJn3AAAP, reason: client namespace disconnect","timestamp":"2025-09-30T09:46:40.239Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:48:41.586Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:48:41.586Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:48:41.586Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:48:41.603Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:14.670Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:14.670Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:14.670Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:14.670Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:58.945Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:58.945Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:58.945Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T09:49:58.945Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-30T09:51:03.325Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: XPdMHh37oDEZDYPZAAAB","timestamp":"2025-09-30T09:51:11.014Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: XPdMHh37oDEZDYPZAAAB","timestamp":"2025-09-30T09:51:11.014Z"} {"level":"info","message":"Client disconnected: XPdMHh37oDEZDYPZAAAB, reason: client namespace disconnect","timestamp":"2025-09-30T09:51:25.954Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: J7MLyWpYMzKt4kP8AAAD","timestamp":"2025-09-30T09:54:49.112Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: J7MLyWpYMzKt4kP8AAAD","timestamp":"2025-09-30T09:54:49.113Z"} {"level":"info","message":"Client disconnected: J7MLyWpYMzKt4kP8AAAD, reason: client namespace disconnect","timestamp":"2025-09-30T09:55:04.075Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: KCwHIl6cvkVQ5olvAAAF","timestamp":"2025-09-30T12:01:36.291Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KCwHIl6cvkVQ5olvAAAF","timestamp":"2025-09-30T12:01:36.293Z"} {"level":"info","message":"Client disconnected: KCwHIl6cvkVQ5olvAAAF, reason: client namespace disconnect","timestamp":"2025-09-30T12:01:51.244Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: OVQpww3etNxPrNUUAAAH","timestamp":"2025-09-30T12:06:40.601Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: OVQpww3etNxPrNUUAAAH","timestamp":"2025-09-30T12:06:40.604Z"} {"level":"info","message":"Client disconnected: OVQpww3etNxPrNUUAAAH, reason: client namespace disconnect","timestamp":"2025-09-30T12:06:55.535Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: 1f8DjAkLAg4_mjKRAAAJ","timestamp":"2025-09-30T12:09:23.254Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 1f8DjAkLAg4_mjKRAAAJ","timestamp":"2025-09-30T12:09:23.256Z"} {"level":"info","message":"Client disconnected: 1f8DjAkLAg4_mjKRAAAJ, reason: client namespace disconnect","timestamp":"2025-09-30T12:09:43.223Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: O-E3oSc90_jYhI8AAAAL","timestamp":"2025-09-30T12:16:12.548Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: O-E3oSc90_jYhI8AAAAL","timestamp":"2025-09-30T12:16:12.550Z"} {"level":"info","message":"Client disconnected: O-E3oSc90_jYhI8AAAAL, reason: client namespace disconnect","timestamp":"2025-09-30T12:16:32.506Z"} {"address":"::ffff:192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 8ioQEIrBnr9WTDxaAAAN","timestamp":"2025-09-30T12:16:46.265Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T12:16:46.287Z"} {"level":"info","message":"Client disconnected: 8ioQEIrBnr9WTDxaAAAN, reason: client namespace disconnect","timestamp":"2025-09-30T12:16:48.454Z"} {"address":"::ffff:192.168.219.107","isAndroid":true,"level":"info","message":"New connection: KNZ0sIWRrNkl7P42AAAP","timestamp":"2025-09-30T12:25:43.126Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KNZ0sIWRrNkl7P42AAAP","timestamp":"2025-09-30T12:25:43.127Z"} {"level":"info","message":"Client disconnected: KNZ0sIWRrNkl7P42AAAP, reason: client namespace disconnect","timestamp":"2025-09-30T12:26:03.049Z"} {"address":"::ffff:192.168.219.107","isAndroid":true,"level":"info","message":"New connection: KPbRGzPzE-2--L11AAAR","timestamp":"2025-09-30T12:26:08.054Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KPbRGzPzE-2--L11AAAR","timestamp":"2025-09-30T12:26:08.054Z"} {"level":"info","message":"Client disconnected: KPbRGzPzE-2--L11AAAR, reason: client namespace disconnect","timestamp":"2025-09-30T12:26:28.063Z"} {"address":"::ffff:192.168.219.108","isAndroid":false,"level":"info","message":"New connection: ftLIXoH3o6eE90WkAAAT","timestamp":"2025-09-30T12:27:47.718Z","userAgent":""} {"address":"::ffff:192.168.219.108","isAndroid":false,"level":"info","message":"New connection: ZDmFHiWVnSlESbciAAAV","timestamp":"2025-09-30T12:27:47.776Z","userAgent":""} {"address":"::ffff:192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 5dfzImipjcmH-h1yAAAX","timestamp":"2025-09-30T12:27:48.167Z","userAgent":""} {"address":"::1","isAndroid":false,"level":"info","message":"New connection: 9lY9L83OPcxgYalFAAAZ","timestamp":"2025-09-30T12:27:49.077Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T12:28:03.624Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T12:28:03.623Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T12:28:03.623Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-09-30T12:28:06.313Z"} {"address":"::ffff:192.168.219.107","isAndroid":false,"level":"info","message":"New connection: Zd-_aRBx5GdNlfSuAAAB","timestamp":"2025-09-30T12:28:29.014Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.155 Mobile Safari/537.36"} {"address":"::ffff:192.168.219.107","isAndroid":true,"level":"info","message":"New connection: 7jBwLPDfA6jHV9tLAAAD","timestamp":"2025-09-30T12:28:46.104Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 7jBwLPDfA6jHV9tLAAAD","timestamp":"2025-09-30T12:28:46.105Z"} {"level":"info","message":"Client disconnected: 7jBwLPDfA6jHV9tLAAAD, reason: client namespace disconnect","timestamp":"2025-09-30T12:29:06.110Z"} {"level":"info","message":"Client disconnected: Zd-_aRBx5GdNlfSuAAAB, reason: ping timeout","timestamp":"2025-09-30T12:34:14.419Z"} {"address":"::ffff:192.168.219.108","isAndroid":false,"level":"info","message":"New connection: GPl2jTg3l28ET1_QAAAF","timestamp":"2025-09-30T12:34:29.453Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: x_YfvuvQXW3MSN0uAAAH","timestamp":"2025-09-30T12:45:29.615Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: x_YfvuvQXW3MSN0uAAAH","timestamp":"2025-09-30T12:45:29.617Z"} {"level":"info","message":"Client disconnected: x_YfvuvQXW3MSN0uAAAH, reason: client namespace disconnect","timestamp":"2025-09-30T12:45:44.558Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: DQ0YPSLpm-3cNybHAAAJ","timestamp":"2025-09-30T12:46:56.857Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: DQ0YPSLpm-3cNybHAAAJ","timestamp":"2025-09-30T12:46:56.867Z"} {"level":"info","message":"Client disconnected: DQ0YPSLpm-3cNybHAAAJ, reason: client namespace disconnect","timestamp":"2025-09-30T12:47:11.849Z"} {"address":"::ffff:192.168.219.107","isAndroid":true,"level":"info","message":"New connection: 4sBKnGX8xaMp85xfAAAL","timestamp":"2025-09-30T12:49:24.278Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 4sBKnGX8xaMp85xfAAAL","timestamp":"2025-09-30T12:49:24.278Z"} {"level":"info","message":"Client disconnected: 4sBKnGX8xaMp85xfAAAL, reason: client namespace disconnect","timestamp":"2025-09-30T12:49:39.323Z"} {"address":"::ffff:192.168.219.107","isAndroid":true,"level":"info","message":"New connection: Mnie3S-uIHbbvgTiAAAN","timestamp":"2025-09-30T12:49:49.544Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Mnie3S-uIHbbvgTiAAAN","timestamp":"2025-09-30T12:49:49.544Z"} {"level":"info","message":"Client disconnected: Mnie3S-uIHbbvgTiAAAN, reason: client namespace disconnect","timestamp":"2025-09-30T12:50:04.530Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: KrzA2LCVvGjKu0JdAAAP","timestamp":"2025-09-30T12:50:27.635Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KrzA2LCVvGjKu0JdAAAP","timestamp":"2025-09-30T12:50:27.635Z"} {"level":"info","message":"Client disconnected: KrzA2LCVvGjKu0JdAAAP, reason: client namespace disconnect","timestamp":"2025-09-30T12:50:42.584Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: RCRHPIjRPxH3LUH8AAAR","timestamp":"2025-09-30T12:52:03.143Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: RCRHPIjRPxH3LUH8AAAR","timestamp":"2025-09-30T12:52:03.144Z"} {"level":"info","message":"Client disconnected: RCRHPIjRPxH3LUH8AAAR, reason: client namespace disconnect","timestamp":"2025-09-30T12:52:18.097Z"} {"address":"::ffff:192.168.219.107","isAndroid":true,"level":"info","message":"New connection: orwFrfKVR9YWuI6sAAAT","timestamp":"2025-09-30T12:52:23.270Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: orwFrfKVR9YWuI6sAAAT","timestamp":"2025-09-30T12:52:23.270Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: QGR0znqo5sgmXlb5AAAV","timestamp":"2025-09-30T12:52:30.511Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: QGR0znqo5sgmXlb5AAAV","timestamp":"2025-09-30T12:52:30.511Z"} {"level":"info","message":"Client disconnected: orwFrfKVR9YWuI6sAAAT, reason: client namespace disconnect","timestamp":"2025-09-30T12:52:38.224Z"} {"level":"info","message":"Client disconnected: QGR0znqo5sgmXlb5AAAV, reason: client namespace disconnect","timestamp":"2025-09-30T12:52:45.506Z"} {"address":"::ffff:192.168.219.108","isAndroid":false,"level":"info","message":"New connection: liXRCPIrRl03YcbaAAAX","timestamp":"2025-09-30T19:29:06.070Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-09-30T19:29:06.076Z"} {"address":"::ffff:192.168.219.108","isAndroid":true,"level":"info","message":"New connection: gJ_rv8fc1lm_UisaAAAZ","timestamp":"2025-09-30T19:29:26.435Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: gJ_rv8fc1lm_UisaAAAZ","timestamp":"2025-09-30T19:29:26.435Z"} {"level":"info","message":"Client disconnected: gJ_rv8fc1lm_UisaAAAZ, reason: client namespace disconnect","timestamp":"2025-09-30T19:29:41.210Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: 4Ni5chW-igaZKEYHAAAb","timestamp":"2025-09-30T19:30:12.532Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 4Ni5chW-igaZKEYHAAAb","timestamp":"2025-09-30T19:30:12.532Z"} {"level":"info","message":"Client disconnected: 4Ni5chW-igaZKEYHAAAb, reason: client namespace disconnect","timestamp":"2025-09-30T19:30:27.491Z"} {"address":"::ffff:127.0.0.1","isAndroid":false,"level":"info","message":"New connection: SdRfZu5_yOmGuklNAAAd","timestamp":"2025-09-30T19:30:33.208Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: SdRfZu5_yOmGuklNAAAd, reason: transport close","timestamp":"2025-09-30T19:30:37.992Z"} {"address":"::ffff:127.0.0.1","isAndroid":false,"level":"info","message":"New connection: w5nalagg-X0Tutc6AAAf","timestamp":"2025-09-30T19:30:38.074Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: w5nalagg-X0Tutc6AAAf, reason: transport close","timestamp":"2025-09-30T19:30:59.517Z"} {"address":"::ffff:127.0.0.1","isAndroid":true,"level":"info","message":"New connection: 7W4HSt1MsEzxuV8SAAAh","timestamp":"2025-09-30T19:31:05.126Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 7W4HSt1MsEzxuV8SAAAh","timestamp":"2025-09-30T19:31:05.126Z"} {"level":"info","message":"Client disconnected: 7W4HSt1MsEzxuV8SAAAh, reason: client namespace disconnect","timestamp":"2025-09-30T19:31:20.098Z"} {"level":"info","message":"Client disconnected: GPl2jTg3l28ET1_QAAAF, reason: transport close","timestamp":"2025-09-30T19:32:19.746Z"} {"level":"info","message":"Client disconnected: 9lY9L83OPcxgYalFAAAZ, reason: transport close","timestamp":"2025-09-30T19:32:20.179Z"} {"level":"info","message":"Client disconnected: BdMtgeMO6o9hvaTzAAAJ, reason: forced close","timestamp":"2025-09-30T19:32:30.748Z"} {"address":"::1","isAndroid":false,"level":"info","message":"New connection: O43WQ12dmwi424OOAAAj","timestamp":"2025-09-30T19:32:30.809Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"::1","isAndroid":false,"level":"info","message":"New connection: 9CA7vfGAsxeYOU2tAAAl","timestamp":"2025-09-30T19:55:59.509Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-30T19:55:59.521Z"} {"address":"::1","isAndroid":false,"level":"info","message":"New connection: 7rridL04m4ZoRwDeAAAn","timestamp":"2025-09-30T19:56:02.221Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-30T19:56:02.225Z"} {"cameraType":"telephoto","deviceId":"demo-device-001","level":"info","message":"Camera request created: adf5f927-7ede-4c95-accf-7416b3956516","operatorId":"demo-operator-001","timestamp":"2025-09-30T19:56:12.291Z"} {"level":"info","message":"Camera stream started: session adf5f927-7ede-4c95-accf-7416b3956516","timestamp":"2025-09-30T19:56:18.461Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T19:58:30.462Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T19:58:30.463Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-09-30T19:58:30.463Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-09-30T19:58:33.250Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: lq3h_WWYHno7_NhPAAAB","timestamp":"2025-09-30T19:58:35.095Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: iaQjdabz9jMNTzHgAAAD","timestamp":"2025-09-30T19:58:58.841Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: iaQjdabz9jMNTzHgAAAD, reason: transport close","timestamp":"2025-09-30T19:59:00.815Z"} {"level":"info","message":"Client disconnected: 9CA7vfGAsxeYOU2tAAAl, reason: client namespace disconnect","timestamp":"2025-09-30T19:59:11.414Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: lBJnvpTebymCZvlTAAAF","timestamp":"2025-09-30T19:59:13.450Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-09-30T19:59:13.456Z"} {"level":"info","message":"Client disconnected: 7rridL04m4ZoRwDeAAAn, reason: client namespace disconnect","timestamp":"2025-09-30T19:59:22.179Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: VlLP3YH7OdlasAmqAAAH","timestamp":"2025-09-30T19:59:22.873Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-09-30T19:59:22.878Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: E4bdGMS5lVLi1XjiAAAJ","timestamp":"2025-09-30T19:59:47.320Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: E4bdGMS5lVLi1XjiAAAJ","timestamp":"2025-09-30T19:59:47.320Z"} {"level":"info","message":"Client disconnected: E4bdGMS5lVLi1XjiAAAJ, reason: client namespace disconnect","timestamp":"2025-09-30T20:00:02.270Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: wBvMXvALGqg-j9UGAAAL","timestamp":"2025-09-30T20:00:12.724Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: wBvMXvALGqg-j9UGAAAL, reason: transport close","timestamp":"2025-09-30T20:00:14.323Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: h2ULQGixzprJjAIfAAAN","timestamp":"2025-09-30T20:01:05.245Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: h2ULQGixzprJjAIfAAAN","timestamp":"2025-09-30T20:01:05.247Z"} {"level":"info","message":"Client disconnected: h2ULQGixzprJjAIfAAAN, reason: client namespace disconnect","timestamp":"2025-09-30T20:01:20.201Z"} {"address":"192.168.219.107","isAndroid":false,"level":"info","message":"New connection: TN9R7-qobLMq8vV4AAAP","timestamp":"2025-10-01T09:24:38.809Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.155 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: TN9R7-qobLMq8vV4AAAP, reason: transport close","timestamp":"2025-10-01T09:24:45.061Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: 8ti-3mLtjoHxeNovAAAR","timestamp":"2025-10-01T10:32:54.103Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 8ti-3mLtjoHxeNovAAAR","timestamp":"2025-10-01T10:32:54.105Z"} {"level":"info","message":"Client disconnected: 8ti-3mLtjoHxeNovAAAR, reason: client namespace disconnect","timestamp":"2025-10-01T10:33:09.062Z"} {"level":"info","message":"Client disconnected: lBJnvpTebymCZvlTAAAF, reason: client namespace disconnect","timestamp":"2025-10-01T10:36:41.904Z"} {"level":"info","message":"Client disconnected: VlLP3YH7OdlasAmqAAAH, reason: client namespace disconnect","timestamp":"2025-10-01T10:36:44.318Z"} {"level":"info","message":"Client disconnected: O43WQ12dmwi424OOAAAj, reason: transport close","timestamp":"2025-10-01T10:36:47.043Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: 3Oa0holA2ZcIOyzLAAAT","timestamp":"2025-10-01T10:36:47.249Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:23.504Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:24.965Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:25.182Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:25.373Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:25.615Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:25.829Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:25.998Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:27.743Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-01T10:38:28.710Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-01T10:38:41.354Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: DWLlh8_qrTOkoDT_AAAB","timestamp":"2025-10-01T10:38:41.981Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 4MTxewpVvn6hjaqEAAAD","timestamp":"2025-10-01T10:38:42.075Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: kz3UWQogDDGHe6zVAAAF","timestamp":"2025-10-01T10:38:43.114Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-10-01T10:38:43.121Z"} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-10-01T10:38:43.122Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: Xf_he-IDbDMV68QcAAAH","timestamp":"2025-10-01T10:38:43.223Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: Y3DmCOyyNBYam_1QAAAJ","timestamp":"2025-10-01T10:38:43.961Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-10-01T10:38:43.962Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: UiGVE-j9rMBnJLjqAAAL","timestamp":"2025-10-01T10:38:44.053Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-10-01T10:38:44.054Z"} {"level":"info","message":"Client disconnected: kz3UWQogDDGHe6zVAAAF, reason: client namespace disconnect","timestamp":"2025-10-01T10:38:46.390Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 2I_h00SyNxxNNNvpAAAN","timestamp":"2025-10-01T10:38:48.555Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-10-01T10:38:48.556Z"} {"level":"info","message":"Client disconnected: 2I_h00SyNxxNNNvpAAAN, reason: client namespace disconnect","timestamp":"2025-10-01T10:39:11.325Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: Di5Ed2s12fll_o1YAAAP","timestamp":"2025-10-01T10:39:27.827Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Vasya-pupkin","model":"Samsung Galaxy S210","timestamp":"2025-10-01T10:39:27.831Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: hGoNSS_fIsv3piN4AAAR","timestamp":"2025-10-01T10:39:29.969Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-10-01T10:39:29.970Z"} {"level":"info","message":"Camera request: operator b915d531-0b35-47f2-8116-93727ba74be1 -> device Vasya-pupkin","timestamp":"2025-10-01T10:39:31.159Z"} {"level":"info","message":"Camera stream started: session 75d577a9-421a-44bb-8773-217615db3cb1","timestamp":"2025-10-01T10:39:33.854Z"} {"level":"info","message":"Client disconnected: hGoNSS_fIsv3piN4AAAR, reason: client namespace disconnect","timestamp":"2025-10-01T20:05:48.107Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: ULu13QkP7N4Fd11GAAAT","timestamp":"2025-10-01T20:05:49.579Z","userAgent":""} {"level":"info","message":"Operator registered: b915d531-0b35-47f2-8116-93727ba74be1","timestamp":"2025-10-01T20:05:49.581Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-02T09:51:05.231Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: 0vLBLORNx1sZ99OeAAAB","timestamp":"2025-10-02T09:51:22.357Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: mBiyv6psLjXR85FLAAAD","timestamp":"2025-10-02T09:51:28.753Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: MUAeujbkPbwJceyTAAAF","timestamp":"2025-10-02T09:51:44.509Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: Wg3fUohYbz3mBR14AAAH","timestamp":"2025-10-02T09:51:49.165Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-02T09:51:49.171Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: d2zyCJvRBGed_rW_AAAJ","timestamp":"2025-10-02T09:51:52.916Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-02T09:51:52.921Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: e48e5725-7176-4c40-a30d-65fa77419075","operatorId":"demo-operator-001","timestamp":"2025-10-02T09:51:54.156Z"} {"level":"info","message":"Camera stream started: session e48e5725-7176-4c40-a30d-65fa77419075","timestamp":"2025-10-02T09:52:10.520Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-02T10:07:56.098Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 1jNOkDjNWDw0BIK-AAAB","timestamp":"2025-10-02T10:11:44.212Z","userAgent":""} {"level":"info","message":"Operator registered: 2473a90a-8596-4291-8726-abf4fd78894e","timestamp":"2025-10-02T10:11:44.214Z"} {"level":"info","message":"Client disconnected: 1jNOkDjNWDw0BIK-AAAB, reason: client namespace disconnect","timestamp":"2025-10-02T10:11:46.680Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: oQnrRyIduy0UysFZAAAD","timestamp":"2025-10-02T10:12:07.010Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: AsFMeGnBLVY0kvtpAAAF","timestamp":"2025-10-02T10:12:23.755Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-demo-test","model":"Samsung Galaxy S21","timestamp":"2025-10-02T10:12:23.760Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: UADfyQupZKlKryXxAAAH","timestamp":"2025-10-02T10:12:26.619Z","userAgent":""} {"level":"info","message":"Operator registered: 2473a90a-8596-4291-8726-abf4fd78894e","timestamp":"2025-10-02T10:12:26.621Z"} {"level":"info","message":"Camera request: operator 2473a90a-8596-4291-8726-abf4fd78894e -> device demo-demo-test","timestamp":"2025-10-02T10:12:27.610Z"} {"level":"info","message":"Camera stream started: session 33b4a433-deab-4507-9550-704c35cc445c","timestamp":"2025-10-02T10:12:29.560Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: LQOtj07D7U-_ZxEUAAAJ","timestamp":"2025-10-02T11:08:48.187Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: whfKfrH-e3qVwODuAAAL","timestamp":"2025-10-02T11:09:14.335Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-02T11:09:14.343Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: ZaYQtRNQTnzyz1rVAAAN","timestamp":"2025-10-02T11:09:17.304Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-02T11:09:17.309Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 33ae8500-b728-4b04-bcf0-aa256c4508de","operatorId":"demo-operator-001","timestamp":"2025-10-02T11:09:23.128Z"} {"level":"info","message":"Camera stream started: session 33ae8500-b728-4b04-bcf0-aa256c4508de","timestamp":"2025-10-02T11:09:29.321Z"} {"level":"info","message":"Client disconnected: ZaYQtRNQTnzyz1rVAAAN, reason: transport close","timestamp":"2025-10-02T11:10:15.990Z"} {"level":"info","message":"Client disconnected: whfKfrH-e3qVwODuAAAL, reason: transport close","timestamp":"2025-10-02T11:10:16.003Z"} {"level":"info","message":"Client disconnected: LQOtj07D7U-_ZxEUAAAJ, reason: transport close","timestamp":"2025-10-02T11:10:16.005Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: jEd5LWLtNfegRyvCAAAP","timestamp":"2025-10-02T11:10:22.388Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: jEd5LWLtNfegRyvCAAAP, reason: transport close","timestamp":"2025-10-02T11:10:39.386Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: pb8PkqrAPiBAl4XnAAAR","timestamp":"2025-10-02T11:10:39.415Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: pb8PkqrAPiBAl4XnAAAR, reason: transport close","timestamp":"2025-10-02T11:11:03.603Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: 81Q6Mvupnx-bng0RAAAU","timestamp":"2025-10-02T11:11:28.379Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: 81Q6Mvupnx-bng0RAAAU, reason: transport close","timestamp":"2025-10-02T11:11:30.765Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: SdagfL5wuElMUlikAAAW","timestamp":"2025-10-02T11:11:56.272Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: rGYQ9ghV-TB4Q8_bAAAY","timestamp":"2025-10-02T11:12:00.966Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-02T11:12:00.971Z"} {"level":"info","message":"Cleanup completed: 0 sessions removed","timestamp":"2025-10-02T11:12:27.504Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: tJeAxgpnjBjpgpDlAAAa","timestamp":"2025-10-02T11:12:41.733Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-02T11:12:41.740Z"} {"level":"info","message":"Client disconnected: UADfyQupZKlKryXxAAAH, reason: client namespace disconnect","timestamp":"2025-10-02T11:12:53.532Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: -6sPzV1lbw-zfGELAAAc","timestamp":"2025-10-02T11:12:54.404Z","userAgent":""} {"level":"info","message":"Operator registered: 2473a90a-8596-4291-8726-abf4fd78894e","timestamp":"2025-10-02T11:12:54.406Z"} {"level":"info","message":"Camera request: operator 2473a90a-8596-4291-8726-abf4fd78894e -> device demo-device-001","timestamp":"2025-10-02T11:12:56.286Z"} {"level":"info","message":"Camera stream started: session 52a34721-1c16-40ac-878e-ea0e9f179d45","timestamp":"2025-10-02T11:12:59.783Z"} {"level":"info","message":"Client disconnected: rGYQ9ghV-TB4Q8_bAAAY, reason: transport close","timestamp":"2025-10-02T11:14:23.281Z"} {"level":"info","message":"Client disconnected: tJeAxgpnjBjpgpDlAAAa, reason: transport close","timestamp":"2025-10-02T11:14:23.283Z"} {"level":"info","message":"Client disconnected: SdagfL5wuElMUlikAAAW, reason: transport close","timestamp":"2025-10-02T11:14:23.283Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T02:16:58.910Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: gH6YL34wy32pdQeuAAAB","timestamp":"2025-10-03T02:17:42.023Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: kAbAsmbuLnF4TEfGAAAD","timestamp":"2025-10-03T02:18:15.601Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: Lo2nAlCaKjZoUTRUAAAF","timestamp":"2025-10-03T02:18:24.479Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:18:24.485Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 1f_8Io5qIwa_mrnLAAAH","timestamp":"2025-10-03T02:18:39.962Z","userAgent":""} {"level":"info","message":"Operator registered: 33aded6c-9b1a-44cc-af06-04282c674af8","timestamp":"2025-10-03T02:18:39.966Z"} {"level":"info","message":"Client disconnected: 1f_8Io5qIwa_mrnLAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T02:18:43.261Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: uNyWCbDsTZqUS8yDAAAJ","timestamp":"2025-10-03T02:18:44.063Z","userAgent":""} {"level":"info","message":"Operator registered: 33aded6c-9b1a-44cc-af06-04282c674af8","timestamp":"2025-10-03T02:18:44.064Z"} {"level":"info","message":"Camera request: operator 33aded6c-9b1a-44cc-af06-04282c674af8 -> device demo-device-001","timestamp":"2025-10-03T02:18:46.558Z"} {"level":"info","message":"Camera stream started: session 6df1cb82-d4cb-4900-a874-71fc47dc4c13","timestamp":"2025-10-03T02:18:48.804Z"} {"level":"info","message":"Client disconnected: uNyWCbDsTZqUS8yDAAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T02:19:42.851Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: JT6GQFW5lVcogKukAAAL","timestamp":"2025-10-03T02:19:43.838Z","userAgent":""} {"level":"info","message":"Operator registered: 33aded6c-9b1a-44cc-af06-04282c674af8","timestamp":"2025-10-03T02:19:43.839Z"} {"level":"info","message":"Client disconnected: Lo2nAlCaKjZoUTRUAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T02:19:49.146Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: r6E3uRI3iV-SScoGAAAN","timestamp":"2025-10-03T02:19:51.078Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:19:51.081Z"} {"level":"info","message":"Client disconnected: r6E3uRI3iV-SScoGAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T02:19:53.306Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: xFvwdrT7hi_yaOGxAAAP","timestamp":"2025-10-03T02:20:05.917Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"SELECT * FROM USERS;","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:20:05.919Z"} {"level":"info","message":"Client disconnected: JT6GQFW5lVcogKukAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T02:20:08.218Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: yka0YIwieNgChaJxAAAR","timestamp":"2025-10-03T02:20:08.798Z","userAgent":""} {"level":"info","message":"Operator registered: 33aded6c-9b1a-44cc-af06-04282c674af8","timestamp":"2025-10-03T02:20:08.799Z"} {"level":"info","message":"Camera request: operator 33aded6c-9b1a-44cc-af06-04282c674af8 -> device demo-device-001","timestamp":"2025-10-03T02:20:12.947Z"} {"level":"info","message":"Camera stream started: session 209d4db5-993d-44e5-a853-1d78f80e909b","timestamp":"2025-10-03T02:20:17.994Z"} {"level":"info","message":"Client disconnected: xFvwdrT7hi_yaOGxAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T02:20:44.410Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: 0oKGzCFDLkqnDfHPAAAT","timestamp":"2025-10-03T02:20:58.204Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"SELECT * FROM USERS;","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"SELECT * FROM users;","timestamp":"2025-10-03T02:20:58.207Z"} {"level":"info","message":"Client disconnected: yka0YIwieNgChaJxAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T02:21:07.074Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: A0clbXYT5L0u_X7uAAAV","timestamp":"2025-10-03T02:21:09.277Z","userAgent":""} {"level":"info","message":"Operator registered: 33aded6c-9b1a-44cc-af06-04282c674af8","timestamp":"2025-10-03T02:21:09.278Z"} {"level":"info","message":"Camera request: operator 33aded6c-9b1a-44cc-af06-04282c674af8 -> device demo-device-001","timestamp":"2025-10-03T02:21:15.362Z"} {"level":"info","message":"Camera stream started: session 0f46e9e1-945f-4557-bb81-4ee091fd9a38","timestamp":"2025-10-03T02:21:16.906Z"} {"level":"info","message":"Client disconnected: gH6YL34wy32pdQeuAAAB, reason: transport close","timestamp":"2025-10-03T02:27:47.082Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: etAbHfWPjYlnNBENAAAX","timestamp":"2025-10-03T02:32:36.662Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: etAbHfWPjYlnNBENAAAX, reason: transport close","timestamp":"2025-10-03T02:32:41.919Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: FOguqS5EDSxGgO0wAAAZ","timestamp":"2025-10-03T02:33:45.812Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: FOguqS5EDSxGgO0wAAAZ, reason: transport close","timestamp":"2025-10-03T02:34:06.000Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: Q7sVg1ifbvNTh3PyAAAb","timestamp":"2025-10-03T02:34:06.027Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: Q7sVg1ifbvNTh3PyAAAb, reason: transport close","timestamp":"2025-10-03T02:34:07.946Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 3rzpPhCMzXVMYom5AAAd","timestamp":"2025-10-03T02:34:07.967Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: 3rzpPhCMzXVMYom5AAAd, reason: transport close","timestamp":"2025-10-03T02:34:21.587Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T02:34:52.761Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T02:35:31.281Z"} {"level":"info","message":"Client disconnected: A0clbXYT5L0u_X7uAAAV, reason: client namespace disconnect","timestamp":"2025-10-03T02:35:37.938Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: u_fj_AAsfF24nEMAAAAB","timestamp":"2025-10-03T02:35:52.759Z","userAgent":""} {"level":"info","message":"Operator registered: efcb7e45-71ce-4cbd-9992-6226cc39908d","timestamp":"2025-10-03T02:35:52.761Z"} {"level":"info","message":"Client disconnected: u_fj_AAsfF24nEMAAAAB, reason: client namespace disconnect","timestamp":"2025-10-03T02:35:56.795Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 1A7Xg9_yJaEc-Y1aAAAD","timestamp":"2025-10-03T02:36:15.685Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: LCu0ibMhYl2pyUA7AAAF","timestamp":"2025-10-03T02:36:19.437Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:36:19.441Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: _C9nKSpH70IH5GkdAAAH","timestamp":"2025-10-03T02:36:20.950Z","userAgent":""} {"level":"info","message":"Operator registered: efcb7e45-71ce-4cbd-9992-6226cc39908d","timestamp":"2025-10-03T02:36:20.952Z"} {"level":"info","message":"Camera request: operator efcb7e45-71ce-4cbd-9992-6226cc39908d -> device demo-device-001","timestamp":"2025-10-03T02:36:22.931Z"} {"level":"info","message":"Camera stream started: session aa7daa24-0c79-49d0-b8ad-8a60bc457e2a","timestamp":"2025-10-03T02:36:26.122Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: V9GiTd4gBJXt2NclAAAJ","timestamp":"2025-10-03T02:36:54.000Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"Client disconnected: LCu0ibMhYl2pyUA7AAAF, reason: client namespace disconnect","timestamp":"2025-10-03T02:37:39.948Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:05.268Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:06.545Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:06.914Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:07.129Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:07.322Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:07.497Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:07.690Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:07.841Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:07.993Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T02:38:08.121Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T02:38:35.820Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: tpSX_nHC_ctGEYevAAAB","timestamp":"2025-10-03T02:38:35.949Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: QuNa-mG1NVGyNqoZAAAD","timestamp":"2025-10-03T02:38:38.953Z","userAgent":""} {"level":"info","message":"Operator registered: efcb7e45-71ce-4cbd-9992-6226cc39908d","timestamp":"2025-10-03T02:38:38.954Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 60UcoeV9yS1VPpBgAAAF","timestamp":"2025-10-03T02:38:53.071Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: gvgOW0yD1H--vJnQAAAH","timestamp":"2025-10-03T02:38:59.773Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:38:59.779Z"} {"level":"info","message":"Client disconnected: QuNa-mG1NVGyNqoZAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T02:39:13.091Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: japOSYKSKKmY3g5CAAAJ","timestamp":"2025-10-03T02:39:14.133Z","userAgent":""} {"level":"info","message":"Operator registered: efcb7e45-71ce-4cbd-9992-6226cc39908d","timestamp":"2025-10-03T02:39:14.134Z"} {"level":"info","message":"Camera request: operator efcb7e45-71ce-4cbd-9992-6226cc39908d -> device demo-device-001","timestamp":"2025-10-03T02:39:15.563Z"} {"level":"info","message":"Camera stream started: session fc8ecfc4-059f-4a92-b908-ec438bfda09e","timestamp":"2025-10-03T02:39:25.155Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: G8-Adp007ysfppTjAAAL","timestamp":"2025-10-03T02:39:34.336Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T02:39:34.340Z"} {"level":"info","message":"Client disconnected: G8-Adp007ysfppTjAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T02:39:35.100Z"} {"level":"info","message":"Client disconnected: japOSYKSKKmY3g5CAAAJ, reason: transport close","timestamp":"2025-10-03T02:40:30.585Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: rhLviUM63y4O_GasAAAN","timestamp":"2025-10-03T02:40:31.666Z","userAgent":""} {"level":"info","message":"Operator registered: 805ccfb5-f1eb-4cdd-91d0-7e1adf5ad327","timestamp":"2025-10-03T02:40:31.668Z"} {"level":"info","message":"Client disconnected: rhLviUM63y4O_GasAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T02:40:38.674Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: Uwf2PctGouF4p7JuAAAP","timestamp":"2025-10-03T02:40:41.061Z","userAgent":""} {"level":"info","message":"Operator registered: 805ccfb5-f1eb-4cdd-91d0-7e1adf5ad327","timestamp":"2025-10-03T02:40:41.062Z"} {"level":"info","message":"Client disconnected: Uwf2PctGouF4p7JuAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T02:40:42.009Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: A7vGdzA53wljR5CQAAAR","timestamp":"2025-10-03T02:40:42.221Z","userAgent":""} {"level":"info","message":"Operator registered: 805ccfb5-f1eb-4cdd-91d0-7e1adf5ad327","timestamp":"2025-10-03T02:40:42.222Z"} {"level":"info","message":"Client disconnected: A7vGdzA53wljR5CQAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T02:40:43.753Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: iDqdgGVeQwg7MRH4AAAT","timestamp":"2025-10-03T02:40:44.532Z","userAgent":""} {"level":"info","message":"Operator registered: 805ccfb5-f1eb-4cdd-91d0-7e1adf5ad327","timestamp":"2025-10-03T02:40:44.533Z"} {"level":"info","message":"Client disconnected: iDqdgGVeQwg7MRH4AAAT, reason: client namespace disconnect","timestamp":"2025-10-03T02:40:47.449Z"} {"level":"info","message":"Client disconnected: gvgOW0yD1H--vJnQAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T02:40:52.283Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 3WMGTLESVuy1mQYhAAAV","timestamp":"2025-10-03T02:40:54.569Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:40:54.573Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: PfkWJBS3jcuaC_RZAAAX","timestamp":"2025-10-03T02:40:56.493Z","userAgent":""} {"level":"info","message":"Operator registered: 805ccfb5-f1eb-4cdd-91d0-7e1adf5ad327","timestamp":"2025-10-03T02:40:56.494Z"} {"level":"info","message":"Camera request: operator 805ccfb5-f1eb-4cdd-91d0-7e1adf5ad327 -> device demo-device-001asdsadd","timestamp":"2025-10-03T02:41:03.186Z"} {"level":"info","message":"Camera stream started: session 4b3bb969-83f0-4856-9933-d40fff5e91be","timestamp":"2025-10-03T02:41:05.250Z"} {"level":"info","message":"Client disconnected: tpSX_nHC_ctGEYevAAAB, reason: transport close","timestamp":"2025-10-03T02:42:45.330Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: VXhYZOxmeaka_rQaAAAZ","timestamp":"2025-10-03T02:43:04.323Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: VXhYZOxmeaka_rQaAAAZ, reason: transport close","timestamp":"2025-10-03T02:43:10.474Z"} {"level":"info","message":"Client disconnected: PfkWJBS3jcuaC_RZAAAX, reason: client namespace disconnect","timestamp":"2025-10-03T02:43:15.305Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T02:46:55.657Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T02:46:55.657Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T02:47:03.597Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: jU9YtIRLnTRWZ7V4AAAB","timestamp":"2025-10-03T02:47:30.189Z","userAgent":""} {"level":"info","message":"Operator registered: ea0335b1-7078-4192-945c-36e237520f47","timestamp":"2025-10-03T02:47:30.191Z"} {"level":"info","message":"Client disconnected: jU9YtIRLnTRWZ7V4AAAB, reason: client namespace disconnect","timestamp":"2025-10-03T02:47:31.793Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: otIQ2EJkMiuN7dkkAAAD","timestamp":"2025-10-03T02:47:35.602Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"Client disconnected: 3WMGTLESVuy1mQYhAAAV, reason: client namespace disconnect","timestamp":"2025-10-03T02:47:39.533Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: ZtG9gg2hynKN1_p9AAAF","timestamp":"2025-10-03T02:47:40.386Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:47:40.391Z"} {"level":"info","message":"Client disconnected: ZtG9gg2hynKN1_p9AAAF, reason: client namespace disconnect","timestamp":"2025-10-03T02:47:42.815Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 05AMLTD6jje67T9mAAAH","timestamp":"2025-10-03T02:47:44.786Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T02:47:44.789Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: p_pO8AuyYUOFNcPSAAAJ","timestamp":"2025-10-03T02:47:47.604Z","userAgent":""} {"level":"info","message":"Operator registered: ea0335b1-7078-4192-945c-36e237520f47","timestamp":"2025-10-03T02:47:47.605Z"} {"level":"info","message":"Camera request: operator ea0335b1-7078-4192-945c-36e237520f47 -> device demo-device-001asdsadd","timestamp":"2025-10-03T02:47:49.258Z"} {"level":"info","message":"Camera stream started: session dd5c0c23-a330-4ef0-b735-654f2f4c6464","timestamp":"2025-10-03T02:47:57.883Z"} {"level":"info","message":"Camera switch requested: session dd5c0c23-a330-4ef0-b735-654f2f4c6464, camera front","timestamp":"2025-10-03T02:48:04.985Z"} {"level":"info","message":"Camera switch requested: session dd5c0c23-a330-4ef0-b735-654f2f4c6464, camera back","timestamp":"2025-10-03T02:48:09.113Z"} {"level":"info","message":"Camera switch requested: session dd5c0c23-a330-4ef0-b735-654f2f4c6464, camera wide","timestamp":"2025-10-03T02:48:10.417Z"} {"address":"127.0.0.1","isAndroid":false,"level":"info","message":"New connection: Tlpx8z8Du2OHLK0nAAAL","timestamp":"2025-10-03T02:48:30.493Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-00123321","model":"Samsung Galaxy S21йц","timestamp":"2025-10-03T02:48:30.498Z"} {"level":"info","message":"Client disconnected: otIQ2EJkMiuN7dkkAAAD, reason: transport close","timestamp":"2025-10-03T02:48:51.886Z"} {"level":"info","message":"Client disconnected: Tlpx8z8Du2OHLK0nAAAL, reason: transport close","timestamp":"2025-10-03T02:48:51.887Z"} {"level":"info","message":"Camera switch requested: session dd5c0c23-a330-4ef0-b735-654f2f4c6464, camera back","timestamp":"2025-10-03T02:50:51.793Z"} {"level":"info","message":"Camera switch requested: session dd5c0c23-a330-4ef0-b735-654f2f4c6464, camera front","timestamp":"2025-10-03T02:50:52.345Z"} {"level":"info","message":"Camera switch requested: session dd5c0c23-a330-4ef0-b735-654f2f4c6464, camera wide","timestamp":"2025-10-03T02:50:53.025Z"} {"level":"info","message":"Client disconnected: p_pO8AuyYUOFNcPSAAAJ, reason: transport close","timestamp":"2025-10-03T02:51:01.323Z"} {"level":"info","message":"Client disconnected: 05AMLTD6jje67T9mAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T02:51:12.749Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T02:54:45.422Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T02:54:45.422Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T02:54:45.422Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T02:55:07.766Z"} {"address":"192.168.219.108","isAndroid":true,"level":"info","message":"New connection: _MpBahBvJoLXItbyAAAB","timestamp":"2025-10-03T02:55:11.487Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: _MpBahBvJoLXItbyAAAB","timestamp":"2025-10-03T02:55:11.487Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: zkmuvYXKVHu7eftlAAAD","timestamp":"2025-10-03T02:55:19.700Z","userAgent":""} {"level":"info","message":"Operator registered: ef801bd5-0e2e-4aef-9735-d8fedcb6769f","timestamp":"2025-10-03T02:55:19.702Z"} {"level":"info","message":"Client disconnected: _MpBahBvJoLXItbyAAAB, reason: transport close","timestamp":"2025-10-03T02:55:54.601Z"} {"address":"192.168.219.108","isAndroid":true,"level":"info","message":"New connection: i64ZkAMgjch5GctFAAAF","timestamp":"2025-10-03T02:55:57.290Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: i64ZkAMgjch5GctFAAAF","timestamp":"2025-10-03T02:55:57.290Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 6l7QngRReRkHaLYMAAAJ","timestamp":"2025-10-03T02:55:59.442Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: 6l7QngRReRkHaLYMAAAJ, reason: transport close","timestamp":"2025-10-03T02:56:02.409Z"} {"level":"info","message":"Client disconnected: i64ZkAMgjch5GctFAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T02:56:20.672Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: u5avpO_VS7oQA79-AAAL","timestamp":"2025-10-03T02:56:20.679Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: u5avpO_VS7oQA79-AAAL","timestamp":"2025-10-03T02:56:20.679Z"} {"level":"info","message":"Client disconnected: zkmuvYXKVHu7eftlAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T02:56:26.962Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: pU-zHm5a-NjosFu1AAAN","timestamp":"2025-10-03T03:15:14.721Z","userAgent":""} {"level":"info","message":"Operator registered: ef801bd5-0e2e-4aef-9735-d8fedcb6769f","timestamp":"2025-10-03T03:15:14.722Z"} {"level":"info","message":"Client disconnected: u5avpO_VS7oQA79-AAAL, reason: client namespace disconnect","timestamp":"2025-10-03T03:15:18.332Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: SYDR5u1KaqzJnuAeAAAP","timestamp":"2025-10-03T03:15:18.350Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: SYDR5u1KaqzJnuAeAAAP","timestamp":"2025-10-03T03:15:18.351Z"} {"level":"info","message":"Client disconnected: SYDR5u1KaqzJnuAeAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T03:15:19.290Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: Maqc4hBKH5tR4cfFAAAR","timestamp":"2025-10-03T03:15:19.296Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Maqc4hBKH5tR4cfFAAAR","timestamp":"2025-10-03T03:15:19.296Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: bZNGXVi5PLmA7pxGAAAT","timestamp":"2025-10-03T03:15:28.966Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T03:15:28.970Z"} {"level":"info","message":"Client disconnected: pU-zHm5a-NjosFu1AAAN, reason: client namespace disconnect","timestamp":"2025-10-03T03:15:35.573Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: XmTMqsKRy47h3b6kAAAV","timestamp":"2025-10-03T03:15:36.136Z","userAgent":""} {"level":"info","message":"Operator registered: ef801bd5-0e2e-4aef-9735-d8fedcb6769f","timestamp":"2025-10-03T03:15:36.137Z"} {"level":"info","message":"Camera request: operator ef801bd5-0e2e-4aef-9735-d8fedcb6769f -> device demo-device-001asdsadd","timestamp":"2025-10-03T03:15:38.711Z"} {"level":"info","message":"Camera stream started: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263","timestamp":"2025-10-03T03:15:42.896Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera back","timestamp":"2025-10-03T03:15:59.710Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera front","timestamp":"2025-10-03T03:16:01.021Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera wide","timestamp":"2025-10-03T03:16:04.469Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera front","timestamp":"2025-10-03T03:17:24.501Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera front","timestamp":"2025-10-03T03:17:25.477Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera back","timestamp":"2025-10-03T03:17:31.757Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera wide","timestamp":"2025-10-03T03:17:32.397Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera front","timestamp":"2025-10-03T03:17:32.957Z"} {"level":"info","message":"Camera switch requested: session 4dc25d1e-c5fb-4cb9-93dc-790ec575d263, camera wide","timestamp":"2025-10-03T03:17:33.541Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T03:18:10.713Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T03:18:10.713Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T03:18:10.714Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T03:18:12.032Z"} {"level":"info","message":"Client disconnected: Maqc4hBKH5tR4cfFAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T03:18:16.080Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: 582WEBso0bHzMg6BAAAB","timestamp":"2025-10-03T03:18:16.098Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 582WEBso0bHzMg6BAAAB","timestamp":"2025-10-03T03:18:16.098Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: zekOloO3KrG2a56FAAAD","timestamp":"2025-10-03T03:18:47.487Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T03:18:47.490Z"} {"level":"info","message":"Client disconnected: zekOloO3KrG2a56FAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T03:19:07.197Z"} {"level":"info","message":"Camera session ended: 4dc25d1e-c5fb-4cb9-93dc-790ec575d263","timestamp":"2025-10-03T03:19:17.705Z"} {"level":"info","message":"Client disconnected: bZNGXVi5PLmA7pxGAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T03:19:18.494Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: mjaCA_bMdo0fOzFNAAAF","timestamp":"2025-10-03T03:19:22.568Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T03:19:22.572Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: FFqKsBP1Snw5NXQ3AAAH","timestamp":"2025-10-03T03:19:25.801Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T03:19:25.802Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001asdsadd","timestamp":"2025-10-03T03:19:28.174Z"} {"level":"info","message":"Camera stream started: session efabf740-f105-4ea1-9a22-78d1d36071b0","timestamp":"2025-10-03T03:19:29.728Z"} {"level":"info","message":"Camera switch requested: session efabf740-f105-4ea1-9a22-78d1d36071b0, camera front","timestamp":"2025-10-03T03:19:34.709Z"} {"level":"info","message":"Camera switch requested: session efabf740-f105-4ea1-9a22-78d1d36071b0, camera front","timestamp":"2025-10-03T03:19:35.597Z"} {"level":"info","message":"Camera switch requested: session efabf740-f105-4ea1-9a22-78d1d36071b0, camera wide","timestamp":"2025-10-03T03:19:41.461Z"} {"level":"info","message":"Camera switch requested: session efabf740-f105-4ea1-9a22-78d1d36071b0, camera back","timestamp":"2025-10-03T03:19:42.413Z"} {"level":"info","message":"Client disconnected: 60UcoeV9yS1VPpBgAAAF, reason: forced close","timestamp":"2025-10-03T03:19:55.847Z"} {"level":"info","message":"Client disconnected: mjaCA_bMdo0fOzFNAAAF, reason: transport close","timestamp":"2025-10-03T03:19:55.847Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: XFBjEYUqwFHp7demAAAJ","timestamp":"2025-10-03T03:19:55.907Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: Xx2dbH8UI3DfFZ6NAAAL","timestamp":"2025-10-03T03:19:58.398Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T03:19:58.401Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001asdsadd","timestamp":"2025-10-03T03:21:11.845Z"} {"level":"info","message":"Camera stream started: session e3656a38-d969-4376-9c6c-939e3e705c50","timestamp":"2025-10-03T03:21:22.015Z"} {"level":"info","message":"Camera switch requested: session e3656a38-d969-4376-9c6c-939e3e705c50, camera front","timestamp":"2025-10-03T03:21:30.324Z"} {"level":"info","message":"Camera switch requested: session e3656a38-d969-4376-9c6c-939e3e705c50, camera wide","timestamp":"2025-10-03T03:21:32.325Z"} {"level":"info","message":"Client disconnected: 582WEBso0bHzMg6BAAAB, reason: client namespace disconnect","timestamp":"2025-10-03T03:21:51.739Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: BtltC1IK3biHVV_JAAAN","timestamp":"2025-10-03T03:21:51.745Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: BtltC1IK3biHVV_JAAAN","timestamp":"2025-10-03T03:21:51.745Z"} {"level":"info","message":"Client disconnected: BtltC1IK3biHVV_JAAAN, reason: transport close","timestamp":"2025-10-03T03:21:57.541Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: Cle5V419rjFJe5-xAAAP","timestamp":"2025-10-03T03:21:58.754Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: Cle5V419rjFJe5-xAAAP, reason: transport close","timestamp":"2025-10-03T03:22:10.797Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: QdaSQ2X7Wok7I5nrAAAR","timestamp":"2025-10-03T03:22:11.295Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: QdaSQ2X7Wok7I5nrAAAR","timestamp":"2025-10-03T03:22:11.295Z"} {"level":"info","message":"Client disconnected: QdaSQ2X7Wok7I5nrAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T03:22:12.923Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: V-mDq7Y2cDLI1Fn4AAAT","timestamp":"2025-10-03T03:22:12.929Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: V-mDq7Y2cDLI1Fn4AAAT","timestamp":"2025-10-03T03:22:12.929Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: v5SPs6QicQvNxVl9AAAW","timestamp":"2025-10-03T03:22:43.004Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: v5SPs6QicQvNxVl9AAAW, reason: transport close","timestamp":"2025-10-03T03:22:46.288Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: SPsiA_djzfsOUh6QAAAY","timestamp":"2025-10-03T03:22:46.326Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: V-mDq7Y2cDLI1Fn4AAAT, reason: transport close","timestamp":"2025-10-03T03:22:46.537Z"} {"level":"info","message":"Client disconnected: SPsiA_djzfsOUh6QAAAY, reason: transport close","timestamp":"2025-10-03T03:22:48.842Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: etbF2lDEcPENA_RyAAAa","timestamp":"2025-10-03T03:22:48.884Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: etbF2lDEcPENA_RyAAAa, reason: transport close","timestamp":"2025-10-03T03:23:44.243Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: o2yXR2dhrealJ4bDAAAc","timestamp":"2025-10-03T03:23:44.273Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: KLRooDXPvVyR3y6EAAAe","timestamp":"2025-10-03T03:23:50.660Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KLRooDXPvVyR3y6EAAAe","timestamp":"2025-10-03T03:23:50.660Z"} {"level":"info","message":"Client disconnected: o2yXR2dhrealJ4bDAAAc, reason: transport close","timestamp":"2025-10-03T03:23:51.638Z"} {"level":"info","message":"Client disconnected: KLRooDXPvVyR3y6EAAAe, reason: client namespace disconnect","timestamp":"2025-10-03T03:23:55.227Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: qltHFxZ0x3OJh4dnAAAg","timestamp":"2025-10-03T03:24:08.691Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: qltHFxZ0x3OJh4dnAAAg","timestamp":"2025-10-03T03:24:08.691Z"} {"level":"info","message":"Client disconnected: qltHFxZ0x3OJh4dnAAAg, reason: transport close","timestamp":"2025-10-03T03:25:03.254Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: Klx7LZLTeduczKgdAAAi","timestamp":"2025-10-03T03:29:14.837Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Klx7LZLTeduczKgdAAAi","timestamp":"2025-10-03T03:29:14.837Z"} {"level":"info","message":"Client disconnected: Klx7LZLTeduczKgdAAAi, reason: transport close","timestamp":"2025-10-03T03:30:45.316Z"} {"level":"info","message":"Client disconnected: FFqKsBP1Snw5NXQ3AAAH, reason: client namespace disconnect","timestamp":"2025-10-03T03:32:36.395Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: CSkuMlUr8RwtmlX8AAAk","timestamp":"2025-10-03T03:32:53.881Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: CSkuMlUr8RwtmlX8AAAk","timestamp":"2025-10-03T03:32:53.881Z"} {"level":"info","message":"Client disconnected: CSkuMlUr8RwtmlX8AAAk, reason: client namespace disconnect","timestamp":"2025-10-03T03:33:02.943Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: jZeJ1ILzjvirvFOZAAAm","timestamp":"2025-10-03T03:33:02.949Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: jZeJ1ILzjvirvFOZAAAm","timestamp":"2025-10-03T03:33:02.949Z"} {"level":"info","message":"Client disconnected: jZeJ1ILzjvirvFOZAAAm, reason: transport close","timestamp":"2025-10-03T03:33:11.473Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: swyNt-WAiPqnq9FZAAAo","timestamp":"2025-10-03T03:33:12.914Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: swyNt-WAiPqnq9FZAAAo","timestamp":"2025-10-03T03:33:12.914Z"} {"level":"info","message":"Client disconnected: swyNt-WAiPqnq9FZAAAo, reason: client namespace disconnect","timestamp":"2025-10-03T03:33:28.696Z"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: RMm10O0BT9gAB0yDAAAq","timestamp":"2025-10-03T03:33:28.708Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: RMm10O0BT9gAB0yDAAAq","timestamp":"2025-10-03T03:33:28.708Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: RXq0_l_baiiPZtm6AAAs","timestamp":"2025-10-03T03:33:39.432Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"Client disconnected: RMm10O0BT9gAB0yDAAAq, reason: transport close","timestamp":"2025-10-03T03:33:43.032Z"} {"level":"info","message":"Client disconnected: RXq0_l_baiiPZtm6AAAs, reason: transport close","timestamp":"2025-10-03T03:33:44.107Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: DScJbTViVG8mHXe8AAAu","timestamp":"2025-10-03T03:33:44.138Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36"} {"address":"127.0.0.1","isAndroid":true,"level":"info","message":"New connection: WRhOo2eSdFwwSxfVAAAw","timestamp":"2025-10-03T03:33:49.112Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: WRhOo2eSdFwwSxfVAAAw","timestamp":"2025-10-03T03:33:49.113Z"} {"level":"info","message":"Client disconnected: DScJbTViVG8mHXe8AAAu, reason: transport close","timestamp":"2025-10-03T03:33:54.480Z"} {"level":"info","message":"Client disconnected: WRhOo2eSdFwwSxfVAAAw, reason: client namespace disconnect","timestamp":"2025-10-03T03:34:09.296Z"} {"address":"192.168.219.108","isAndroid":true,"level":"info","message":"New connection: _0a6znn_CCtBD3CZAAAy","timestamp":"2025-10-03T03:34:09.301Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: _0a6znn_CCtBD3CZAAAy","timestamp":"2025-10-03T03:34:09.302Z"} {"level":"info","message":"Client disconnected: _0a6znn_CCtBD3CZAAAy, reason: client namespace disconnect","timestamp":"2025-10-03T03:42:17.437Z"} {"address":"192.168.219.108","isAndroid":true,"level":"info","message":"New connection: 2ILx12GUkWdq50gdAAA0","timestamp":"2025-10-03T03:42:17.442Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 2ILx12GUkWdq50gdAAA0","timestamp":"2025-10-03T03:42:17.442Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: 3hYDGasTmj34Pp__AAA2","timestamp":"2025-10-03T03:42:21.384Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T03:42:21.385Z"} {"level":"info","message":"Client disconnected: 3hYDGasTmj34Pp__AAA2, reason: client namespace disconnect","timestamp":"2025-10-03T03:42:22.537Z"} {"level":"info","message":"Client disconnected: 2ILx12GUkWdq50gdAAA0, reason: transport close","timestamp":"2025-10-03T03:44:33.059Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: Eb32Md3xqzaO-UMQAAA4","timestamp":"2025-10-03T03:52:10.522Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Eb32Md3xqzaO-UMQAAA4","timestamp":"2025-10-03T03:52:10.522Z"} {"level":"info","message":"Client disconnected: Eb32Md3xqzaO-UMQAAA4, reason: client namespace disconnect","timestamp":"2025-10-03T03:52:12.772Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: 2j2uGRY-yIUCJdTXAAA6","timestamp":"2025-10-03T03:52:12.797Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 2j2uGRY-yIUCJdTXAAA6","timestamp":"2025-10-03T03:52:12.798Z"} {"address":"192.168.219.107","isAndroid":false,"level":"info","message":"New connection: HH8ZdOOm9YJHW8s_AAA8","timestamp":"2025-10-03T03:52:58.216Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"address":"192.168.219.107","isAndroid":false,"level":"info","message":"New connection: Z6YXG6QRPy0EiiVVAAA-","timestamp":"2025-10-03T03:53:07.315Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T03:53:07.341Z"} {"address":"192.168.219.108","isAndroid":false,"level":"info","message":"New connection: yx4QTADJlTp-HTSAAABA","timestamp":"2025-10-03T03:53:11.756Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T03:53:11.757Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001","timestamp":"2025-10-03T03:53:13.857Z"} {"level":"info","message":"Camera stream started: session 4b428438-0094-4010-ad5b-c31126ffbd24","timestamp":"2025-10-03T03:53:16.781Z"} {"level":"info","message":"Camera switch requested: session 4b428438-0094-4010-ad5b-c31126ffbd24, camera back","timestamp":"2025-10-03T03:53:29.920Z"} {"level":"info","message":"Camera switch requested: session 4b428438-0094-4010-ad5b-c31126ffbd24, camera front","timestamp":"2025-10-03T03:53:30.449Z"} {"level":"info","message":"Camera switch requested: session 4b428438-0094-4010-ad5b-c31126ffbd24, camera wide","timestamp":"2025-10-03T03:53:30.777Z"} {"level":"info","message":"Camera switch requested: session 4b428438-0094-4010-ad5b-c31126ffbd24, camera telephoto","timestamp":"2025-10-03T03:53:31.745Z"} {"level":"info","message":"Client disconnected: HH8ZdOOm9YJHW8s_AAA8, reason: transport close","timestamp":"2025-10-03T03:53:36.475Z"} {"level":"info","message":"Client disconnected: Z6YXG6QRPy0EiiVVAAA-, reason: transport close","timestamp":"2025-10-03T03:53:36.476Z"} {"level":"info","message":"Client disconnected: 2j2uGRY-yIUCJdTXAAA6, reason: transport close","timestamp":"2025-10-03T03:54:05.102Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: YJdh_WLlDIRYvzL1AABC","timestamp":"2025-10-03T03:54:12.248Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: YJdh_WLlDIRYvzL1AABC","timestamp":"2025-10-03T03:54:12.248Z"} {"level":"info","message":"Client disconnected: YJdh_WLlDIRYvzL1AABC, reason: client namespace disconnect","timestamp":"2025-10-03T03:54:22.844Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: tVh9VS1cG2vuKZ20AABE","timestamp":"2025-10-03T03:54:22.880Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: tVh9VS1cG2vuKZ20AABE","timestamp":"2025-10-03T03:54:22.880Z"} {"level":"info","message":"Client disconnected: tVh9VS1cG2vuKZ20AABE, reason: client namespace disconnect","timestamp":"2025-10-03T03:54:27.796Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: G-AAg_6bebajHyLFAABG","timestamp":"2025-10-03T03:54:27.811Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: G-AAg_6bebajHyLFAABG","timestamp":"2025-10-03T03:54:27.811Z"} {"level":"info","message":"Client disconnected: G-AAg_6bebajHyLFAABG, reason: client namespace disconnect","timestamp":"2025-10-03T03:54:28.555Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: MPKA7Ya4NO3K47aUAABI","timestamp":"2025-10-03T03:54:28.579Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: MPKA7Ya4NO3K47aUAABI","timestamp":"2025-10-03T03:54:28.579Z"} {"level":"info","message":"Client disconnected: MPKA7Ya4NO3K47aUAABI, reason: client namespace disconnect","timestamp":"2025-10-03T03:54:29.108Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: YLegWPeiwAzMyNg_AABK","timestamp":"2025-10-03T03:54:29.122Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: YLegWPeiwAzMyNg_AABK","timestamp":"2025-10-03T03:54:29.122Z"} {"level":"info","message":"Client disconnected: YLegWPeiwAzMyNg_AABK, reason: client namespace disconnect","timestamp":"2025-10-03T03:55:55.216Z"} {"address":"192.168.219.107","isAndroid":true,"level":"info","message":"New connection: N17I7L6zmvd7UzhtAABM","timestamp":"2025-10-03T03:55:55.233Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: N17I7L6zmvd7UzhtAABM","timestamp":"2025-10-03T03:55:55.233Z"} {"address":"192.168.219.107","isAndroid":false,"level":"info","message":"New connection: vpuDCtq59wuDUirXAABO","timestamp":"2025-10-03T03:57:38.163Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T03:59:19.690Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T03:59:19.690Z"} {"level":"info","message":"Client disconnected: N17I7L6zmvd7UzhtAABM, reason: ping timeout","timestamp":"2025-10-03T03:59:35.711Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T03:59:49.014Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: KyYvwjiiIZCjfllrAAAB","timestamp":"2025-10-03T04:00:24.470Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: vpuDCtq59wuDUirXAABO, reason: transport close","timestamp":"2025-10-03T04:00:37.345Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: pH5VSMZluSTmuFL4AAAD","timestamp":"2025-10-03T04:00:37.609Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: pH5VSMZluSTmuFL4AAAD","timestamp":"2025-10-03T04:00:37.610Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: _XOgZs4-DP-XbXfuAAAF","timestamp":"2025-10-03T04:00:50.076Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: _XOgZs4-DP-XbXfuAAAF","timestamp":"2025-10-03T04:00:50.077Z"} {"deviceId":"demo-device-001","deviceInfo":{"androidVersion":"12","availableCameras":"back,front","manufacturer":"Samsung","model":"Samsung Galaxy S21"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:00:50.099Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:00:50.100Z"} {"level":"info","message":"Client disconnected: yx4QTADJlTp-HTSAAABA, reason: client namespace disconnect","timestamp":"2025-10-03T04:00:59.356Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: hFV46IEUDy2w1RAiAAAH","timestamp":"2025-10-03T04:01:00.104Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:01:00.106Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001","timestamp":"2025-10-03T04:01:00.949Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"f95235a4-da4f-45a4-96c1-db5b027730fc","streamUrl":"webrtc","timestamp":"2025-10-03T04:01:03.167Z"} {"level":"info","message":"Camera stream started: session f95235a4-da4f-45a4-96c1-db5b027730fc","timestamp":"2025-10-03T04:01:03.168Z"} {"level":"info","message":"Camera switch requested: session f95235a4-da4f-45a4-96c1-db5b027730fc, camera front","timestamp":"2025-10-03T04:01:05.910Z"} {"level":"info","message":"Client disconnected: _XOgZs4-DP-XbXfuAAAF, reason: transport close","timestamp":"2025-10-03T04:01:15.350Z"} {"level":"info","message":"Client disconnected: pH5VSMZluSTmuFL4AAAD, reason: transport close","timestamp":"2025-10-03T04:01:15.355Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: o660WyUPAVWtmhWtAAAJ","timestamp":"2025-10-03T04:01:57.484Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: o660WyUPAVWtmhWtAAAJ","timestamp":"2025-10-03T04:01:57.485Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T04:02:12.204Z"} {"level":"info","message":"Client disconnected: hFV46IEUDy2w1RAiAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T04:02:42.781Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T04:02:55.303Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T04:02:55.517Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T04:03:02.819Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: T7sjwRIDaKgmPc03AAAB","timestamp":"2025-10-03T04:03:03.769Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: T7sjwRIDaKgmPc03AAAB","timestamp":"2025-10-03T04:03:03.769Z"} {"level":"info","message":"Client disconnected: T7sjwRIDaKgmPc03AAAB, reason: transport close","timestamp":"2025-10-03T04:03:05.827Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: wflAvSTc4pEqVHsWAAAD","timestamp":"2025-10-03T04:03:05.898Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: wflAvSTc4pEqVHsWAAAD","timestamp":"2025-10-03T04:03:05.898Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: h1by7gNy6R-Ko9OVAAAF","timestamp":"2025-10-03T04:03:06.037Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 8l-KsZDWsW9vBTKDAAAH","timestamp":"2025-10-03T04:03:06.155Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: l-vwkVkrYUpDgi3aAAAJ","timestamp":"2025-10-03T04:03:07.005Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:03:07.006Z"} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:03:07.007Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: z4eKoBeNhUZrw2hHAAAL","timestamp":"2025-10-03T04:03:09.500Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: z4eKoBeNhUZrw2hHAAAL","timestamp":"2025-10-03T04:03:09.501Z"} {"deviceId":"demo-device-001","deviceInfo":{"androidVersion":"12","availableCameras":"back,front","manufacturer":"Samsung","model":"Samsung Galaxy S21"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:03:09.513Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:03:09.514Z"} {"level":"info","message":"Client disconnected: l-vwkVkrYUpDgi3aAAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T04:03:14.142Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Zsba_i1HIZzwmspMAAAN","timestamp":"2025-10-03T04:03:14.586Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:03:14.587Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001","timestamp":"2025-10-03T04:03:15.599Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"bb67a565-1186-4d2b-b6bb-6d0fbe649fd7","streamUrl":"webrtc","timestamp":"2025-10-03T04:03:17.646Z"} {"level":"info","message":"Camera stream started: session bb67a565-1186-4d2b-b6bb-6d0fbe649fd7","timestamp":"2025-10-03T04:03:17.647Z"} {"level":"info","message":"Camera switch requested: session bb67a565-1186-4d2b-b6bb-6d0fbe649fd7, camera back","timestamp":"2025-10-03T04:03:28.119Z"} {"level":"info","message":"Camera switch requested: session bb67a565-1186-4d2b-b6bb-6d0fbe649fd7, camera front","timestamp":"2025-10-03T04:03:30.766Z"} {"level":"info","message":"Client disconnected: z4eKoBeNhUZrw2hHAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T04:05:27.939Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: UVEcjRj36hZ-R8L7AAAP","timestamp":"2025-10-03T04:05:28.656Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: UVEcjRj36hZ-R8L7AAAP","timestamp":"2025-10-03T04:05:28.656Z"} {"deviceId":"demo-device-001","deviceInfo":{"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","manufacturer":"Samsung","model":"Samsung Galaxy S21"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:05:28.681Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:05:28.681Z"} {"level":"info","message":"Client disconnected: Zsba_i1HIZzwmspMAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T04:05:33.871Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: lczD3dQqCTwFEZ-uAAAR","timestamp":"2025-10-03T04:05:34.468Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:05:34.470Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001","timestamp":"2025-10-03T04:05:35.655Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"7ce6b66d-6a2a-4a48-be75-4fed7facc99e","streamUrl":"webrtc","timestamp":"2025-10-03T04:05:37.234Z"} {"level":"info","message":"Camera stream started: session 7ce6b66d-6a2a-4a48-be75-4fed7facc99e","timestamp":"2025-10-03T04:05:37.235Z"} {"level":"info","message":"Camera switch requested: session 7ce6b66d-6a2a-4a48-be75-4fed7facc99e, camera wide","timestamp":"2025-10-03T04:05:42.176Z"} {"level":"info","message":"Camera switch requested: session 7ce6b66d-6a2a-4a48-be75-4fed7facc99e, camera back","timestamp":"2025-10-03T04:05:42.727Z"} {"level":"info","message":"Camera switch requested: session 7ce6b66d-6a2a-4a48-be75-4fed7facc99e, camera front","timestamp":"2025-10-03T04:05:43.287Z"} {"level":"info","message":"Camera switch requested: session 7ce6b66d-6a2a-4a48-be75-4fed7facc99e, camera wide","timestamp":"2025-10-03T04:05:43.783Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:08:41.795Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:08:41.795Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:08:41.795Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T04:08:49.779Z"} {"level":"info","message":"Client disconnected: wflAvSTc4pEqVHsWAAAD, reason: transport close","timestamp":"2025-10-03T04:09:22.541Z"} {"level":"info","message":"Client disconnected: UVEcjRj36hZ-R8L7AAAP, reason: transport close","timestamp":"2025-10-03T04:09:22.544Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: wCxFlT7yFRkIhR8bAAAB","timestamp":"2025-10-03T04:09:22.623Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: wCxFlT7yFRkIhR8bAAAB","timestamp":"2025-10-03T04:09:22.624Z"} {"address":"192.168.219.107","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: iBYfS-mjtxZUdKFHAAAD","timestamp":"2025-10-03T04:09:35.140Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: iBYfS-mjtxZUdKFHAAAD","timestamp":"2025-10-03T04:09:35.140Z"} {"level":"info","message":"Client disconnected: iBYfS-mjtxZUdKFHAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T04:09:39.372Z"} {"address":"192.168.219.107","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: OCniwhPEWRkqNqoxAAAF","timestamp":"2025-10-03T04:09:39.390Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: OCniwhPEWRkqNqoxAAAF","timestamp":"2025-10-03T04:09:39.390Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: fvmpar6pZq6x-n9cAAAH","timestamp":"2025-10-03T04:11:03.240Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: fvmpar6pZq6x-n9cAAAH","timestamp":"2025-10-03T04:11:03.241Z"} {"deviceId":"demo-device-001","deviceInfo":{"androidVersion":"12","availableCameras":"back,front","manufacturer":"Samsung","model":"Samsung Galaxy S21"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:11:03.262Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:11:03.263Z"} {"level":"info","message":"Client disconnected: lczD3dQqCTwFEZ-uAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T04:11:04.569Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: t-85YDRGe5eOxER0AAAJ","timestamp":"2025-10-03T04:11:06.126Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:11:06.128Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001","timestamp":"2025-10-03T04:11:08.378Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"15a0b687-90a5-4749-8727-c7ed007f914a","streamUrl":"webrtc","timestamp":"2025-10-03T04:11:10.332Z"} {"level":"info","message":"Camera stream started: session 15a0b687-90a5-4749-8727-c7ed007f914a","timestamp":"2025-10-03T04:11:10.333Z"} {"level":"info","message":"Camera switch requested: session 15a0b687-90a5-4749-8727-c7ed007f914a, camera front","timestamp":"2025-10-03T04:11:14.578Z"} {"level":"info","message":"Client disconnected: OCniwhPEWRkqNqoxAAAF, reason: ping timeout","timestamp":"2025-10-03T04:14:35.125Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T04:15:03.520Z"} {"level":"info","message":"Client disconnected: wCxFlT7yFRkIhR8bAAAB, reason: transport close","timestamp":"2025-10-03T04:17:12.495Z"} {"level":"info","message":"Client disconnected: fvmpar6pZq6x-n9cAAAH, reason: transport close","timestamp":"2025-10-03T04:17:12.495Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T04:17:59.013Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: p9-cH8T5c4FrS_NkAAAB","timestamp":"2025-10-03T04:18:00.033Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rECfIXlyg9z9nzF_AAAD","timestamp":"2025-10-03T04:18:02.032Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:18:02.037Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: q2CxffoJIFjNXA_sAAAF","timestamp":"2025-10-03T04:18:02.359Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:18:02.360Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: sZGGPUPJDdTLAGGSAAAH","timestamp":"2025-10-03T04:18:05.120Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: sZGGPUPJDdTLAGGSAAAH","timestamp":"2025-10-03T04:18:05.120Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: P6tfTeEGyfOQYmk6AAAJ","timestamp":"2025-10-03T04:18:51.551Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: P6tfTeEGyfOQYmk6AAAJ","timestamp":"2025-10-03T04:18:51.551Z"} {"level":"info","message":"Client disconnected: sZGGPUPJDdTLAGGSAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T04:18:53.473Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Gnh_FFseBf-CUMQ4AAAL","timestamp":"2025-10-03T04:18:53.482Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Gnh_FFseBf-CUMQ4AAAL","timestamp":"2025-10-03T04:18:53.483Z"} {"level":"info","message":"Client disconnected: Gnh_FFseBf-CUMQ4AAAL, reason: transport close","timestamp":"2025-10-03T04:20:19.955Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T04:20:43.795Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:20:53.214Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:20:53.214Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T04:21:02.897Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: 4MBxPSydkVcrcAwOAAAB","timestamp":"2025-10-03T04:21:03.330Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: 4MBxPSydkVcrcAwOAAAB","timestamp":"2025-10-03T04:21:03.331Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6kURY4iJmPxTT5_KAAAD","timestamp":"2025-10-03T04:21:03.931Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:21:03.933Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _TX1Ub8dqi7NoGCBAAAF","timestamp":"2025-10-03T04:21:06.402Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:21:06.406Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: MLVt3nDTM9veyEgjAAAH","timestamp":"2025-10-03T04:21:08.404Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"level":"info","message":"Client disconnected: 4MBxPSydkVcrcAwOAAAB, reason: transport close","timestamp":"2025-10-03T04:21:09.563Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: ynsALGuX8S-4LeVmAAAJ","timestamp":"2025-10-03T04:21:09.646Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: ynsALGuX8S-4LeVmAAAJ","timestamp":"2025-10-03T04:21:09.647Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: O2SWmBwRmyLl0IVEAAAL","timestamp":"2025-10-03T04:21:23.875Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: O2SWmBwRmyLl0IVEAAAL","timestamp":"2025-10-03T04:21:23.875Z"} {"deviceId":"demo-device-001","deviceInfo":{"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","manufacturer":"Samsung","model":"Samsung Galaxy S21"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:21:23.895Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:21:23.895Z"} {"level":"info","message":"Client disconnected: 6kURY4iJmPxTT5_KAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T04:21:30.403Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TnJxtJtuTZGsDkC5AAAN","timestamp":"2025-10-03T04:21:30.960Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:21:30.961Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001","timestamp":"2025-10-03T04:21:35.892Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"757e8c50-2987-4f91-9f4e-0c9f0bc9a9b1","streamUrl":"webrtc","timestamp":"2025-10-03T04:21:37.738Z"} {"level":"info","message":"Camera stream started: session 757e8c50-2987-4f91-9f4e-0c9f0bc9a9b1","timestamp":"2025-10-03T04:21:37.739Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001asdsadd","timestamp":"2025-10-03T04:21:40.763Z"} {"level":"info","message":"🌐 Mobile web event: camera:disconnect","sessionId":"757e8c50-2987-4f91-9f4e-0c9f0bc9a9b1","timestamp":"2025-10-03T04:21:57.084Z"} {"level":"info","message":"Camera session ended: 757e8c50-2987-4f91-9f4e-0c9f0bc9a9b1","timestamp":"2025-10-03T04:21:57.085Z"} {"level":"info","message":"Client disconnected: O2SWmBwRmyLl0IVEAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T04:21:58.152Z"} {"level":"info","message":"Client disconnected: TnJxtJtuTZGsDkC5AAAN, reason: client namespace disconnect","timestamp":"2025-10-03T04:21:59.491Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: EusIGnuF1C-QW0piAAAP","timestamp":"2025-10-03T04:21:59.992Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:21:59.993Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: VhNgo_BhX4OP9yufAAAR","timestamp":"2025-10-03T04:22:25.700Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: VhNgo_BhX4OP9yufAAAR","timestamp":"2025-10-03T04:22:25.700Z"} {"deviceId":"Trevor_test","deviceInfo":{"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","manufacturer":"Samsung","model":"Xiaomi redmi 14"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:22:25.715Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Trevor_test","model":"Xiaomi redmi 14","timestamp":"2025-10-03T04:22:25.715Z"} {"level":"info","message":"Client disconnected: EusIGnuF1C-QW0piAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T04:22:27.915Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 4ai_y4BjGeaBirnhAAAT","timestamp":"2025-10-03T04:22:28.800Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:22:28.800Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device Trevor_test","timestamp":"2025-10-03T04:22:30.179Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"727d0d1e-9fe0-4c9d-b98a-177ad7009d95","streamUrl":"webrtc","timestamp":"2025-10-03T04:22:32.340Z"} {"level":"info","message":"Camera stream started: session 727d0d1e-9fe0-4c9d-b98a-177ad7009d95","timestamp":"2025-10-03T04:22:32.340Z"} {"level":"info","message":"Camera switch requested: session 727d0d1e-9fe0-4c9d-b98a-177ad7009d95, camera back","timestamp":"2025-10-03T04:22:49.339Z"} {"level":"info","message":"Camera switch requested: session 727d0d1e-9fe0-4c9d-b98a-177ad7009d95, camera front","timestamp":"2025-10-03T04:22:51.123Z"} {"level":"info","message":"Camera switch requested: session 727d0d1e-9fe0-4c9d-b98a-177ad7009d95, camera wide","timestamp":"2025-10-03T04:22:51.923Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: wdtzCuQXXOSVIiXxAAAV","timestamp":"2025-10-03T04:24:47.795Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: wdtzCuQXXOSVIiXxAAAV","timestamp":"2025-10-03T04:24:47.795Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: BE3ttKmxA37_SrG6AAAX","timestamp":"2025-10-03T04:24:52.727Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: BE3ttKmxA37_SrG6AAAX","timestamp":"2025-10-03T04:24:52.727Z"} {"deviceId":"demo-device-001","deviceInfo":{"androidVersion":"12","availableCameras":"back,front","manufacturer":"Samsung","model":"Samsung Galaxy S21"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:24:52.735Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:24:52.735Z"} {"level":"info","message":"Client disconnected: 4ai_y4BjGeaBirnhAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T04:25:03.971Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Xp3TLNw8MQ7kvPrUAAAZ","timestamp":"2025-10-03T04:25:04.399Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:25:04.400Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device demo-device-001","timestamp":"2025-10-03T04:25:05.740Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"ce336623-c4ae-4f80-ae7a-7c5bdc396391","streamUrl":"webrtc","timestamp":"2025-10-03T04:25:08.494Z"} {"level":"info","message":"Camera stream started: session ce336623-c4ae-4f80-ae7a-7c5bdc396391","timestamp":"2025-10-03T04:25:08.494Z"} {"level":"info","message":"Camera switch requested: session ce336623-c4ae-4f80-ae7a-7c5bdc396391, camera front","timestamp":"2025-10-03T04:25:12.283Z"} {"level":"info","message":"Camera switch requested: session ce336623-c4ae-4f80-ae7a-7c5bdc396391, camera back","timestamp":"2025-10-03T04:25:13.307Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:25:35.612Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:25:35.612Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:25:35.613Z"} {"level":"info","message":"Client disconnected: wdtzCuQXXOSVIiXxAAAV, reason: transport close","timestamp":"2025-10-03T04:25:58.126Z"} {"level":"info","message":"Client disconnected: BE3ttKmxA37_SrG6AAAX, reason: transport close","timestamp":"2025-10-03T04:25:58.126Z"} {"level":"info","message":"Client disconnected: VhNgo_BhX4OP9yufAAAR, reason: transport close","timestamp":"2025-10-03T04:26:10.246Z"} {"level":"info","message":"Client disconnected: ynsALGuX8S-4LeVmAAAJ, reason: transport close","timestamp":"2025-10-03T04:26:10.247Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T04:26:31.753Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: KKdjuGfF0ByZjqtdAAAB","timestamp":"2025-10-03T04:26:32.286Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:26:32.286Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ebnLmzMZNOC8VmTIAAAD","timestamp":"2025-10-03T04:26:36.620Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: 25lUCsua6OYvp82DAAAF","timestamp":"2025-10-03T04:26:39.703Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: 25lUCsua6OYvp82DAAAF","timestamp":"2025-10-03T04:26:39.703Z"} {"deviceId":"demo-device-001","deviceInfo":{"androidVersion":"12","availableCameras":"back,front","manufacturer":"Samsung","model":"Samsung Galaxy S21"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:26:39.725Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T04:26:39.726Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: KDYCqjsEKl3K5gZeAAAH","timestamp":"2025-10-03T04:26:39.865Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: KDYCqjsEKl3K5gZeAAAH","timestamp":"2025-10-03T04:26:39.865Z"} {"level":"info","message":"Client disconnected: KDYCqjsEKl3K5gZeAAAH, reason: transport close","timestamp":"2025-10-03T04:26:40.808Z"} {"level":"info","message":"Client disconnected: 25lUCsua6OYvp82DAAAF, reason: transport close","timestamp":"2025-10-03T04:26:40.809Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: y_jBtFOrr1uEaTlUAAAJ","timestamp":"2025-10-03T04:26:40.851Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: y_jBtFOrr1uEaTlUAAAJ","timestamp":"2025-10-03T04:26:40.852Z"} {"level":"info","message":"Client disconnected: y_jBtFOrr1uEaTlUAAAJ, reason: transport close","timestamp":"2025-10-03T04:27:17.429Z"} {"address":"192.168.219.107","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: FjeTB3pJ1moNwwv4AAAL","timestamp":"2025-10-03T04:27:26.714Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: FjeTB3pJ1moNwwv4AAAL","timestamp":"2025-10-03T04:27:26.714Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 8qBtw9pZOEEIznKkAAAN","timestamp":"2025-10-03T04:27:40.051Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 8qBtw9pZOEEIznKkAAAN","timestamp":"2025-10-03T04:27:40.051Z"} {"level":"info","message":"Client disconnected: 8qBtw9pZOEEIznKkAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T04:28:02.459Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VHVw5qoiTpinBJW7AAAP","timestamp":"2025-10-03T04:28:02.468Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: VHVw5qoiTpinBJW7AAAP","timestamp":"2025-10-03T04:28:02.468Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: LW22gEchoJdzvM82AAAR","timestamp":"2025-10-03T04:29:16.655Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: LW22gEchoJdzvM82AAAR","timestamp":"2025-10-03T04:29:16.655Z"} {"level":"info","message":"Client disconnected: LW22gEchoJdzvM82AAAR, reason: transport close","timestamp":"2025-10-03T04:29:17.821Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: fVW0zKVSCcfUlsf_AAAT","timestamp":"2025-10-03T04:29:17.852Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: fVW0zKVSCcfUlsf_AAAT","timestamp":"2025-10-03T04:29:17.852Z"} {"level":"info","message":"Client disconnected: fVW0zKVSCcfUlsf_AAAT, reason: transport close","timestamp":"2025-10-03T04:29:31.348Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: otCa65t5kNbXNKk1AAAV","timestamp":"2025-10-03T04:29:33.264Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: otCa65t5kNbXNKk1AAAV","timestamp":"2025-10-03T04:29:33.264Z"} {"level":"info","message":"Client disconnected: otCa65t5kNbXNKk1AAAV, reason: transport close","timestamp":"2025-10-03T04:29:43.084Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: R5zputELOXZ5EVMVAAAX","timestamp":"2025-10-03T04:30:18.585Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 26_1_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: R5zputELOXZ5EVMVAAAX","timestamp":"2025-10-03T04:30:18.585Z"} {"level":"info","message":"Client disconnected: VHVw5qoiTpinBJW7AAAP, reason: transport close","timestamp":"2025-10-03T04:31:00.714Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Y9GfCQfCWriTOUU9AAAZ","timestamp":"2025-10-03T04:31:04.749Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Y9GfCQfCWriTOUU9AAAZ","timestamp":"2025-10-03T04:31:04.749Z"} {"level":"info","message":"Client disconnected: R5zputELOXZ5EVMVAAAX, reason: transport close","timestamp":"2025-10-03T04:31:11.325Z"} {"level":"info","message":"Client disconnected: Y9GfCQfCWriTOUU9AAAZ, reason: client namespace disconnect","timestamp":"2025-10-03T04:31:14.490Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 7tQbgCkXLQTtgAFAAAAb","timestamp":"2025-10-03T04:31:14.499Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 7tQbgCkXLQTtgAFAAAAb","timestamp":"2025-10-03T04:31:14.499Z"} {"level":"info","message":"Client disconnected: 7tQbgCkXLQTtgAFAAAAb, reason: client namespace disconnect","timestamp":"2025-10-03T04:31:14.726Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: xRquJjDNIfGPd1ufAAAd","timestamp":"2025-10-03T04:31:36.259Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: xRquJjDNIfGPd1ufAAAd","timestamp":"2025-10-03T04:31:36.259Z"} {"level":"info","message":"Client disconnected: xRquJjDNIfGPd1ufAAAd, reason: client namespace disconnect","timestamp":"2025-10-03T04:31:39.590Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0a_RuZEEa0E0VnczAAAf","timestamp":"2025-10-03T04:31:39.601Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 0a_RuZEEa0E0VnczAAAf","timestamp":"2025-10-03T04:31:39.601Z"} {"level":"info","message":"Client disconnected: 0a_RuZEEa0E0VnczAAAf, reason: client namespace disconnect","timestamp":"2025-10-03T04:31:46.257Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: 9ztdBd-XO9YQ45PdAAAh","timestamp":"2025-10-03T04:33:44.154Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: 9ztdBd-XO9YQ45PdAAAh","timestamp":"2025-10-03T04:33:44.154Z"} {"level":"info","message":"Client disconnected: 9ztdBd-XO9YQ45PdAAAh, reason: transport close","timestamp":"2025-10-03T04:33:46.719Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: SPqS7URZcDuxIvm6AAAj","timestamp":"2025-10-03T04:33:46.924Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: SPqS7URZcDuxIvm6AAAj","timestamp":"2025-10-03T04:33:46.924Z"} {"level":"info","message":"Client disconnected: SPqS7URZcDuxIvm6AAAj, reason: transport close","timestamp":"2025-10-03T04:33:48.889Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: DfGxlSPPzgflAVo4AAAl","timestamp":"2025-10-03T04:33:49.152Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: DfGxlSPPzgflAVo4AAAl","timestamp":"2025-10-03T04:33:49.152Z"} {"level":"info","message":"Client disconnected: DfGxlSPPzgflAVo4AAAl, reason: transport close","timestamp":"2025-10-03T04:33:56.475Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: WQqd-0y-1bou843OAAAn","timestamp":"2025-10-03T04:34:04.943Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: WQqd-0y-1bou843OAAAn","timestamp":"2025-10-03T04:34:04.944Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: A5uHawBau4SfodZBAAAp","timestamp":"2025-10-03T04:34:26.639Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: A5uHawBau4SfodZBAAAp","timestamp":"2025-10-03T04:34:26.639Z"} {"deviceId":"Trevor_test","deviceInfo":{"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","manufacturer":"Samsung","model":"Xiaomi redmi 14"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T04:34:26.657Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Trevor_test","model":"Xiaomi redmi 14","timestamp":"2025-10-03T04:34:26.657Z"} {"level":"info","message":"Client disconnected: Xp3TLNw8MQ7kvPrUAAAZ, reason: client namespace disconnect","timestamp":"2025-10-03T04:34:31.491Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: phVlHAxIMR0Lx6r8AAAr","timestamp":"2025-10-03T04:34:31.943Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:34:31.945Z"} {"level":"info","message":"Camera request: operator 1a2ca985-0f68-488d-bd50-1245562ae33a -> device Trevor_test","timestamp":"2025-10-03T04:34:32.908Z"} {"accepted":true,"level":"info","message":"🌐 Mobile web event: camera:response","sessionId":"ce90d3bb-0e16-4678-b976-39682410c052","streamUrl":"webrtc","timestamp":"2025-10-03T04:34:34.917Z"} {"level":"info","message":"Camera stream started: session ce90d3bb-0e16-4678-b976-39682410c052","timestamp":"2025-10-03T04:34:34.917Z"} {"level":"info","message":"Camera switch requested: session ce90d3bb-0e16-4678-b976-39682410c052, camera front","timestamp":"2025-10-03T04:34:37.540Z"} {"level":"info","message":"Camera switch requested: session ce90d3bb-0e16-4678-b976-39682410c052, camera wide","timestamp":"2025-10-03T04:34:38.212Z"} {"level":"info","message":"Camera switch requested: session ce90d3bb-0e16-4678-b976-39682410c052, camera telephoto","timestamp":"2025-10-03T04:34:39.500Z"} {"level":"info","message":"Camera switch requested: session ce90d3bb-0e16-4678-b976-39682410c052, camera back","timestamp":"2025-10-03T04:34:40.444Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: evfLfXKUaZc8VX7RAAAt","timestamp":"2025-10-03T04:35:24.801Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: evfLfXKUaZc8VX7RAAAt","timestamp":"2025-10-03T04:35:24.801Z"} {"level":"info","message":"Client disconnected: evfLfXKUaZc8VX7RAAAt, reason: client namespace disconnect","timestamp":"2025-10-03T04:35:27.651Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: nNWNDvfRtyLUKeXJAAAv","timestamp":"2025-10-03T04:35:27.679Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: nNWNDvfRtyLUKeXJAAAv","timestamp":"2025-10-03T04:35:27.680Z"} {"level":"info","message":"Client disconnected: nNWNDvfRtyLUKeXJAAAv, reason: client namespace disconnect","timestamp":"2025-10-03T04:35:34.663Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: nEnNh9Sb5c5UT_kdAAAx","timestamp":"2025-10-03T04:35:44.993Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: nEnNh9Sb5c5UT_kdAAAx","timestamp":"2025-10-03T04:35:44.993Z"} {"level":"info","message":"Client disconnected: nEnNh9Sb5c5UT_kdAAAx, reason: client namespace disconnect","timestamp":"2025-10-03T04:35:54.994Z"} {"level":"info","message":"Client disconnected: FjeTB3pJ1moNwwv4AAAL, reason: ping timeout","timestamp":"2025-10-03T04:36:58.217Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: TG5ssUnYMmxtN4PUAAAz","timestamp":"2025-10-03T04:37:18.722Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 26_1_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: TG5ssUnYMmxtN4PUAAAz","timestamp":"2025-10-03T04:37:18.722Z"} {"level":"info","message":"Client disconnected: TG5ssUnYMmxtN4PUAAAz, reason: transport close","timestamp":"2025-10-03T04:37:34.504Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: NIuAo2LRQDZZkqBoAAA1","timestamp":"2025-10-03T04:42:42.924Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: NIuAo2LRQDZZkqBoAAA1","timestamp":"2025-10-03T04:42:42.924Z"} {"level":"info","message":"Client disconnected: NIuAo2LRQDZZkqBoAAA1, reason: client namespace disconnect","timestamp":"2025-10-03T04:42:52.897Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: XWiOK13bq6TDDkMPAAA3","timestamp":"2025-10-03T04:43:03.595Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: XWiOK13bq6TDDkMPAAA3","timestamp":"2025-10-03T04:43:03.595Z"} {"level":"info","message":"Client disconnected: XWiOK13bq6TDDkMPAAA3, reason: client namespace disconnect","timestamp":"2025-10-03T04:43:13.589Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: K0y92TRJM10fzfjMAAA5","timestamp":"2025-10-03T04:43:47.705Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: K0y92TRJM10fzfjMAAA5","timestamp":"2025-10-03T04:43:47.705Z"} {"level":"info","message":"Client disconnected: K0y92TRJM10fzfjMAAA5, reason: client namespace disconnect","timestamp":"2025-10-03T04:43:57.683Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: a7MuwsaJtRQv6UGjAAA7","timestamp":"2025-10-03T04:54:17.438Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: a7MuwsaJtRQv6UGjAAA7","timestamp":"2025-10-03T04:54:17.438Z"} {"level":"info","message":"Client disconnected: A5uHawBau4SfodZBAAAp, reason: ping timeout","timestamp":"2025-10-03T04:54:24.407Z"} {"level":"info","message":"Client disconnected: WQqd-0y-1bou843OAAAn, reason: ping timeout","timestamp":"2025-10-03T04:54:25.307Z"} {"level":"info","message":"Client disconnected: a7MuwsaJtRQv6UGjAAA7, reason: client namespace disconnect","timestamp":"2025-10-03T04:54:27.416Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: WEeS2SIOHa5stMzEAAA9","timestamp":"2025-10-03T04:54:31.894Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: WEeS2SIOHa5stMzEAAA9","timestamp":"2025-10-03T04:54:31.894Z"} {"level":"info","message":"Client disconnected: WEeS2SIOHa5stMzEAAA9, reason: client namespace disconnect","timestamp":"2025-10-03T04:54:41.892Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:55:31.784Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:55:31.784Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T04:55:31.784Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T04:55:46.723Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T04:55:58.586Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WbSzCNTBDppM-DeyAAAB","timestamp":"2025-10-03T04:56:00.791Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:56:00.793Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -AnH4nsfTP6GlBX1AAAD","timestamp":"2025-10-03T04:56:01.434Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Z76zZ3ppL-R4890HAAAF","timestamp":"2025-10-03T04:56:03.430Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:56:03.431Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T04:57:14.572Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: XPS_cFocxSiRA9zJAAAB","timestamp":"2025-10-03T04:57:14.825Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: of5GlsjaJxoZPILwAAAD","timestamp":"2025-10-03T04:57:16.608Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:57:16.610Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: v4AhaIS3ugUgBBjHAAAF","timestamp":"2025-10-03T04:57:18.680Z","userAgent":""} {"level":"info","message":"Operator registered: 1a2ca985-0f68-488d-bd50-1245562ae33a","timestamp":"2025-10-03T04:57:18.683Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: xt6sKbsyvhOSkp2CAAAH","timestamp":"2025-10-03T04:58:15.877Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: xt6sKbsyvhOSkp2CAAAH","timestamp":"2025-10-03T04:58:15.877Z"} {"level":"info","message":"Client disconnected: xt6sKbsyvhOSkp2CAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T04:58:25.871Z"} {"level":"info","message":"Client disconnected: 0oKGzCFDLkqnDfHPAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T05:02:30.108Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T05:03:18.728Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T05:03:25.098Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zYfwYvYE0mPiZaI2AAAB","timestamp":"2025-10-03T05:03:25.974Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WJh7-S_kyalx9OgsAAAE","timestamp":"2025-10-03T05:03:26.955Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: l1SqtFmhGrmDEetfAAAF","timestamp":"2025-10-03T05:03:26.958Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:03:26.961Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:03:26.965Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: GL4mGTHdhatCnOFGAAAH","timestamp":"2025-10-03T05:03:28.918Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: hQ7CFiDzX1eh07NQAAAK","timestamp":"2025-10-03T05:03:28.953Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: m0PhVHmt-3TL-JfOAAAL","timestamp":"2025-10-03T05:03:28.955Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:03:28.956Z"} {"androidVersion":"SELECT * FROM USERS;","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"SELECT * FROM users;","timestamp":"2025-10-03T05:03:28.958Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: T6bjuu3cDlfeV5tZAAAN","timestamp":"2025-10-03T05:03:29.920Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:03:29.923Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: w5Cth6a-5VblMsLFAAAP","timestamp":"2025-10-03T05:03:36.121Z","userAgent":""} {"level":"info","message":"Operator registered: 42af3402-9185-4c29-b326-3ebc6cd31987","timestamp":"2025-10-03T05:03:36.123Z"} {"level":"info","message":"Client disconnected: m0PhVHmt-3TL-JfOAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T05:03:42.508Z"} {"level":"info","message":"Client disconnected: kAbAsmbuLnF4TEfGAAAD, reason: forced close","timestamp":"2025-10-03T05:03:44.127Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: q_joIhntOVHnEaS7AAAR","timestamp":"2025-10-03T05:03:44.198Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: q_joIhntOVHnEaS7AAAR, reason: transport close","timestamp":"2025-10-03T05:03:44.315Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3PMXxD-k3VqgJLFJAAAT","timestamp":"2025-10-03T05:03:44.330Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Camera request: operator 42af3402-9185-4c29-b326-3ebc6cd31987 -> device demo-device-001asdsadd","timestamp":"2025-10-03T05:03:47.270Z"} {"level":"info","message":"Client disconnected: 3PMXxD-k3VqgJLFJAAAT, reason: transport close","timestamp":"2025-10-03T05:03:52.893Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: dg6__whA_Pg5JMufAAAV","timestamp":"2025-10-03T05:03:52.907Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: dg6__whA_Pg5JMufAAAV, reason: transport close","timestamp":"2025-10-03T05:03:54.138Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SpuTuYWcaxwWqNE1AAAX","timestamp":"2025-10-03T05:03:54.153Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: yUBnx0l0QzAvvGbdAAAZ","timestamp":"2025-10-03T05:03:56.391Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:03:56.394Z"} {"level":"info","message":"Client disconnected: yUBnx0l0QzAvvGbdAAAZ, reason: client namespace disconnect","timestamp":"2025-10-03T05:03:57.259Z"} {"level":"info","message":"Client disconnected: w5Cth6a-5VblMsLFAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T05:04:01.316Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: h8HSf04YNFTyBBcEAAAb","timestamp":"2025-10-03T05:04:02.175Z","userAgent":""} {"level":"info","message":"Operator registered: 42af3402-9185-4c29-b326-3ebc6cd31987","timestamp":"2025-10-03T05:04:02.176Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: oVQT3u3bXFnzVlo2AAAd","timestamp":"2025-10-03T05:04:04.062Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:04:04.064Z"} {"level":"info","message":"Client disconnected: h8HSf04YNFTyBBcEAAAb, reason: client namespace disconnect","timestamp":"2025-10-03T05:04:05.419Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: vzkng9pDS7GXlJ-AAAAf","timestamp":"2025-10-03T05:04:05.943Z","userAgent":""} {"level":"info","message":"Operator registered: 42af3402-9185-4c29-b326-3ebc6cd31987","timestamp":"2025-10-03T05:04:05.944Z"} {"level":"info","message":"Camera request: operator 42af3402-9185-4c29-b326-3ebc6cd31987 -> device demo-device-001","timestamp":"2025-10-03T05:04:06.644Z"} {"level":"info","message":"Camera stream started: session 430ca195-cb97-4b74-a901-8724e521af85","timestamp":"2025-10-03T05:04:07.964Z"} {"level":"info","message":"Camera switch requested: session 430ca195-cb97-4b74-a901-8724e521af85, camera back","timestamp":"2025-10-03T05:04:10.844Z"} {"level":"info","message":"Camera switch requested: session 430ca195-cb97-4b74-a901-8724e521af85, camera front","timestamp":"2025-10-03T05:04:11.500Z"} {"level":"info","message":"Client disconnected: vzkng9pDS7GXlJ-AAAAf, reason: client namespace disconnect","timestamp":"2025-10-03T05:04:32.044Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: pHIpZ0zMdBc8SmokAAAh","timestamp":"2025-10-03T05:04:32.526Z","userAgent":""} {"level":"info","message":"Operator registered: 42af3402-9185-4c29-b326-3ebc6cd31987","timestamp":"2025-10-03T05:04:32.527Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: BC7HFkjYB6mktrt6AAAj","timestamp":"2025-10-03T05:06:13.622Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: BC7HFkjYB6mktrt6AAAj","timestamp":"2025-10-03T05:06:13.622Z"} {"deviceId":"Trevor_test","deviceInfo":{"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","manufacturer":"Samsung","model":"Xiaomi redmi 14"},"level":"info","message":"🌐 Mobile web event: register:android","timestamp":"2025-10-03T05:06:13.641Z"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: Trevor_test","model":"Xiaomi redmi 14","timestamp":"2025-10-03T05:06:13.641Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: cs8T8sJXkumWTASZAAAl","timestamp":"2025-10-03T05:06:14.048Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: cs8T8sJXkumWTASZAAAl","timestamp":"2025-10-03T05:06:14.048Z"} {"level":"info","message":"Client disconnected: pHIpZ0zMdBc8SmokAAAh, reason: client namespace disconnect","timestamp":"2025-10-03T05:06:20.739Z"} {"level":"info","message":"Client disconnected: T6bjuu3cDlfeV5tZAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T05:06:26.935Z"} {"level":"info","message":"Client disconnected: oVQT3u3bXFnzVlo2AAAd, reason: client namespace disconnect","timestamp":"2025-10-03T05:06:33.835Z"} {"level":"info","message":"Client disconnected: SpuTuYWcaxwWqNE1AAAX, reason: transport close","timestamp":"2025-10-03T05:06:37.019Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: J7Rm75ZNQT2wP3PAAAAn","timestamp":"2025-10-03T05:06:37.046Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: J7Rm75ZNQT2wP3PAAAAn, reason: transport close","timestamp":"2025-10-03T05:06:37.616Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: i86WubGTuNXthGrcAAAp","timestamp":"2025-10-03T05:06:37.631Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: j1T_r-jycx5OZ9QnAAAr","timestamp":"2025-10-03T05:07:06.212Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 26_1_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: j1T_r-jycx5OZ9QnAAAr","timestamp":"2025-10-03T05:07:06.213Z"} {"level":"info","message":"Client disconnected: i86WubGTuNXthGrcAAAp, reason: transport close","timestamp":"2025-10-03T05:07:14.370Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: BYz93OBD-Em66FwbAAAt","timestamp":"2025-10-03T05:07:14.388Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: j1T_r-jycx5OZ9QnAAAr, reason: transport close","timestamp":"2025-10-03T05:07:39.696Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: c1Hh_JAzR9FtPXbpAAAv","timestamp":"2025-10-03T05:08:35.013Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: c1Hh_JAzR9FtPXbpAAAv","timestamp":"2025-10-03T05:08:35.013Z"} {"level":"info","message":"Client disconnected: c1Hh_JAzR9FtPXbpAAAv, reason: client namespace disconnect","timestamp":"2025-10-03T05:08:45.014Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ofue8wcLvhIG4ZeBAAAx","timestamp":"2025-10-03T05:08:52.644Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:08:52.647Z"} {"level":"info","message":"Client disconnected: BC7HFkjYB6mktrt6AAAj, reason: ping timeout","timestamp":"2025-10-03T05:09:03.826Z"} {"level":"info","message":"Client disconnected: cs8T8sJXkumWTASZAAAl, reason: ping timeout","timestamp":"2025-10-03T05:09:04.133Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: eysBe-aB1LJw_oeIAAAz","timestamp":"2025-10-03T05:09:08.646Z","userAgent":""} {"level":"info","message":"Operator registered: 42af3402-9185-4c29-b326-3ebc6cd31987","timestamp":"2025-10-03T05:09:08.647Z"} {"level":"info","message":"Camera request: operator 42af3402-9185-4c29-b326-3ebc6cd31987 -> device demo-device-001","timestamp":"2025-10-03T05:09:09.898Z"} {"level":"info","message":"Camera stream started: session d1e878cd-475c-4e60-928b-f22d09e85b02","timestamp":"2025-10-03T05:09:13.306Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 2fu5HrjHsXH4uJDeAAA1","timestamp":"2025-10-03T05:11:09.191Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 2fu5HrjHsXH4uJDeAAA1","timestamp":"2025-10-03T05:11:09.191Z"} {"level":"info","message":"Client disconnected: 2fu5HrjHsXH4uJDeAAA1, reason: client namespace disconnect","timestamp":"2025-10-03T05:11:19.170Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: syTN_tjpnVy-Snx8AAA3","timestamp":"2025-10-03T05:12:15.216Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.7339.207 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: syTN_tjpnVy-Snx8AAA3","timestamp":"2025-10-03T05:12:15.216Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 8Z4YobsP2n4Ut05sAAA5","timestamp":"2025-10-03T05:13:59.898Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 8Z4YobsP2n4Ut05sAAA5","timestamp":"2025-10-03T05:13:59.898Z"} {"level":"info","message":"Client disconnected: 8Z4YobsP2n4Ut05sAAA5, reason: client namespace disconnect","timestamp":"2025-10-03T05:14:29.903Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: _h7e5r5doQPS9QceAAA7","timestamp":"2025-10-03T05:19:34.616Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 26_1_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: _h7e5r5doQPS9QceAAA7","timestamp":"2025-10-03T05:19:34.616Z"} {"level":"info","message":"Client disconnected: _h7e5r5doQPS9QceAAA7, reason: transport close","timestamp":"2025-10-03T05:19:35.325Z"} {"address":"192.168.219.102","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: k3TP3y3VBgeysuHZAAA9","timestamp":"2025-10-03T05:19:35.351Z","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 26_1_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/140.0.7339.122 Mobile/15E148 Safari/604.1"} {"level":"info","message":"📱 Mobile web client connected: k3TP3y3VBgeysuHZAAA9","timestamp":"2025-10-03T05:19:35.351Z"} {"level":"info","message":"Client disconnected: k3TP3y3VBgeysuHZAAA9, reason: transport close","timestamp":"2025-10-03T05:19:39.648Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: l2LT0E4TNEJX57jYAAA_","timestamp":"2025-10-03T05:20:40.318Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: l2LT0E4TNEJX57jYAAA_","timestamp":"2025-10-03T05:20:40.318Z"} {"level":"info","message":"Client disconnected: syTN_tjpnVy-Snx8AAA3, reason: ping timeout","timestamp":"2025-10-03T05:20:58.410Z"} {"level":"info","message":"Client disconnected: l2LT0E4TNEJX57jYAAA_, reason: client namespace disconnect","timestamp":"2025-10-03T05:21:10.321Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: dPLigfQ6d72Or4J5AABB","timestamp":"2025-10-03T05:22:56.958Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: dPLigfQ6d72Or4J5AABB","timestamp":"2025-10-03T05:22:56.958Z"} {"level":"info","message":"Client disconnected: dPLigfQ6d72Or4J5AABB, reason: client namespace disconnect","timestamp":"2025-10-03T05:23:26.986Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: BP4ovfk6aK9mpx96AABD","timestamp":"2025-10-03T05:32:55.679Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: BP4ovfk6aK9mpx96AABD","timestamp":"2025-10-03T05:32:55.679Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469422978,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:32:57.649Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T05:33:56.093Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gWdCEZ2tbCm4NWhXAAAB","timestamp":"2025-10-03T05:33:56.752Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: KER2FpKJTdQ1bXrxAAAD","timestamp":"2025-10-03T05:33:58.472Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KER2FpKJTdQ1bXrxAAAD","timestamp":"2025-10-03T05:33:58.472Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: mBsmemDLDuhDeV1wAAAF","timestamp":"2025-10-03T05:33:58.846Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:33:58.850Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QobV_tDdfgmIBOE_AAAH","timestamp":"2025-10-03T05:33:58.937Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _OyP_onShoo3L9PiAAAL","timestamp":"2025-10-03T05:33:58.956Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Ah3wiB9kMnSY9W4UAAAM","timestamp":"2025-10-03T05:33:58.958Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -g7XqqIuQjMy44HQAAAN","timestamp":"2025-10-03T05:33:58.960Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:33:58.963Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469485808,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:34:00.469Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T05:34:29.082Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: eoTB_HeLFQd8Fr11AAAB","timestamp":"2025-10-03T05:34:29.671Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:34:29.674Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _Ua4m8Zke85kQHfIAAAD","timestamp":"2025-10-03T05:34:30.772Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:34:30.773Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: xzvIVeiqZ3tK56f-AAAH","timestamp":"2025-10-03T05:34:30.961Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WW8PvjzABdtXhklLAAAI","timestamp":"2025-10-03T05:34:30.963Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:34:30.969Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VYH6wSfwwIrwXjPmAAAJ","timestamp":"2025-10-03T05:34:30.971Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:34:30.973Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:34:30.977Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: U4mHszoL9fNZDKy3AAAL","timestamp":"2025-10-03T05:34:31.041Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: U4mHszoL9fNZDKy3AAAL","timestamp":"2025-10-03T05:34:31.041Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: epsNzRK8FEDQxyr6AAAN","timestamp":"2025-10-03T05:34:31.198Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zh1N5xhh7IFDIsETAAAP","timestamp":"2025-10-03T05:34:31.476Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:34:31.478Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ml91qDXNXqF0icf5AAAR","timestamp":"2025-10-03T05:34:32.419Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:34:32.422Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469518379,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:34:33.038Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T05:35:37.801Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: mvP6zuuP9iNguFP6AAAB","timestamp":"2025-10-03T05:35:38.694Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:35:38.703Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: AuYLPL72D4YgG-2hAAAD","timestamp":"2025-10-03T05:35:39.154Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: tHNHZzAcF1IfDwqzAAAI","timestamp":"2025-10-03T05:35:39.956Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: B4vi4e2S7I1jG7y0AAAJ","timestamp":"2025-10-03T05:35:39.958Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: cR2Cyh7BUhRvwZnpAAAK","timestamp":"2025-10-03T05:35:39.960Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:35:39.965Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: YDks1tyLFGmK4t8RAAAL","timestamp":"2025-10-03T05:35:39.967Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:35:39.968Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:35:39.969Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6z6BScKzqSkqYL5hAAAN","timestamp":"2025-10-03T05:35:40.091Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: tV5dlIndqX1MOVgnAAAP","timestamp":"2025-10-03T05:35:40.123Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: GntUsiQgKnNilhwkAAAR","timestamp":"2025-10-03T05:35:40.518Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: t9C8mxTA1F50R-hKAAAT","timestamp":"2025-10-03T05:35:41.947Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:35:41.948Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:35:41.955Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:35:41.956Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: IfTu0MAT25iJuLp2AAAV","timestamp":"2025-10-03T05:35:49.542Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: IfTu0MAT25iJuLp2AAAV","timestamp":"2025-10-03T05:35:49.543Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469596877,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:35:51.536Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469596877,"sdkVersion":36,"timestamp":"2025-10-03T05:35:51.537Z"} {"level":"info","message":"Client disconnected: t9C8mxTA1F50R-hKAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T05:35:57.494Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: fevsCl3n3EMem10JAAAX","timestamp":"2025-10-03T05:35:58.168Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:35:58.170Z"} {"level":"info","message":"Client disconnected: mvP6zuuP9iNguFP6AAAB, reason: client namespace disconnect","timestamp":"2025-10-03T05:36:16.205Z"} {"level":"info","message":"Client disconnected: fevsCl3n3EMem10JAAAX, reason: client namespace disconnect","timestamp":"2025-10-03T05:36:17.541Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: MNo987ZZHew0ChboAAAZ","timestamp":"2025-10-03T05:36:18.106Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:36:18.107Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -ql-osbhB1imjpxVAAAb","timestamp":"2025-10-03T05:36:27.260Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001asdsadd","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:36:27.265Z"} {"level":"info","message":"Client disconnected: -ql-osbhB1imjpxVAAAb, reason: client namespace disconnect","timestamp":"2025-10-03T05:36:27.831Z"} {"level":"info","message":"Client disconnected: 6z6BScKzqSkqYL5hAAAN, reason: transport close","timestamp":"2025-10-03T05:36:29.860Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DOlzZUco9oMbP5yOAAAd","timestamp":"2025-10-03T05:36:29.913Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"level":"info","message":"Client disconnected: IfTu0MAT25iJuLp2AAAV, reason: client namespace disconnect","timestamp":"2025-10-03T05:36:37.008Z"} {"level":"info","message":"Client disconnected: DOlzZUco9oMbP5yOAAAd, reason: transport close","timestamp":"2025-10-03T05:36:39.987Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: vk7RQ3aWjwmi4ZpeAAAf","timestamp":"2025-10-03T05:36:40.034Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"level":"info","message":"Client disconnected: vk7RQ3aWjwmi4ZpeAAAf, reason: transport close","timestamp":"2025-10-03T05:36:40.681Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: as5uvyeE89dDKlqdAAAh","timestamp":"2025-10-03T05:36:40.721Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"level":"info","message":"Client disconnected: as5uvyeE89dDKlqdAAAh, reason: transport close","timestamp":"2025-10-03T05:36:41.209Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: U17nux6vhzdCdfTHAAAj","timestamp":"2025-10-03T05:36:41.250Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"level":"info","message":"Client disconnected: U17nux6vhzdCdfTHAAAj, reason: transport close","timestamp":"2025-10-03T05:36:41.761Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: RRo0OTHcTfAbQU0HAAAl","timestamp":"2025-10-03T05:36:41.819Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Okri9Ol7-6mN6JCoAAAn","timestamp":"2025-10-03T05:36:48.355Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Okri9Ol7-6mN6JCoAAAn","timestamp":"2025-10-03T05:36:48.356Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469655635,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:36:50.293Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469655635,"sdkVersion":36,"timestamp":"2025-10-03T05:36:50.294Z"} {"level":"info","message":"Client disconnected: MNo987ZZHew0ChboAAAZ, reason: client namespace disconnect","timestamp":"2025-10-03T05:36:53.717Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 4Y5C6T8Qsi1BpateAAAp","timestamp":"2025-10-03T05:36:54.721Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:36:54.722Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T05:36:59.079Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: 0BNBU4w-uXgThH4-AAAr","timestamp":"2025-10-03T05:37:32.795Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: 0BNBU4w-uXgThH4-AAAr","timestamp":"2025-10-03T05:37:32.795Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9xqhCcRaeO1MtVUgAAAt","timestamp":"2025-10-03T05:37:52.825Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:37:52.828Z"} {"level":"info","message":"Client disconnected: 9xqhCcRaeO1MtVUgAAAt, reason: client namespace disconnect","timestamp":"2025-10-03T05:37:55.037Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: O_vfBg8tEvwOmXGxAAAv","timestamp":"2025-10-03T05:37:58.024Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:37:58.035Z"} {"level":"info","message":"Client disconnected: O_vfBg8tEvwOmXGxAAAv, reason: client namespace disconnect","timestamp":"2025-10-03T05:38:01.757Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: cERXD3gxyCnVwuyjAAAx","timestamp":"2025-10-03T05:38:03.375Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:38:03.377Z"} {"level":"info","message":"Client disconnected: Okri9Ol7-6mN6JCoAAAn, reason: client namespace disconnect","timestamp":"2025-10-03T05:38:09.599Z"} {"level":"info","message":"Client disconnected: cERXD3gxyCnVwuyjAAAx, reason: client namespace disconnect","timestamp":"2025-10-03T05:38:11.781Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1EqTRRU_kIxyKFXvAAAz","timestamp":"2025-10-03T05:38:12.738Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:38:12.740Z"} {"level":"info","message":"Client disconnected: RRo0OTHcTfAbQU0HAAAl, reason: transport close","timestamp":"2025-10-03T05:38:20.481Z"} {"level":"info","message":"Client disconnected: 1EqTRRU_kIxyKFXvAAAz, reason: client namespace disconnect","timestamp":"2025-10-03T05:38:22.997Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WMfQhuQTxe4MiunAAAA1","timestamp":"2025-10-03T05:38:23.559Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:38:23.562Z"} {"level":"info","message":"Client disconnected: B4vi4e2S7I1jG7y0AAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T05:38:28.909Z"} {"level":"info","message":"Client disconnected: YDks1tyLFGmK4t8RAAAL, reason: transport close","timestamp":"2025-10-03T05:38:30.976Z"} {"level":"info","message":"Client disconnected: cR2Cyh7BUhRvwZnpAAAK, reason: transport close","timestamp":"2025-10-03T05:38:30.977Z"} {"level":"info","message":"Client disconnected: tHNHZzAcF1IfDwqzAAAI, reason: transport close","timestamp":"2025-10-03T05:38:30.977Z"} {"level":"info","message":"Client disconnected: GntUsiQgKnNilhwkAAAR, reason: transport close","timestamp":"2025-10-03T05:38:32.171Z"} {"level":"info","message":"Client disconnected: WMfQhuQTxe4MiunAAAA1, reason: transport close","timestamp":"2025-10-03T05:38:32.172Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QZn2Qj3S-VBqrV5fAAA3","timestamp":"2025-10-03T05:38:34.031Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: QZn2Qj3S-VBqrV5fAAA3, reason: transport close","timestamp":"2025-10-03T05:38:37.172Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2scSI_PjdBTz9SVxAAA5","timestamp":"2025-10-03T05:38:37.193Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9is7cPMStf3K0tDnAAA7","timestamp":"2025-10-03T05:38:40.625Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 9is7cPMStf3K0tDnAAA7","timestamp":"2025-10-03T05:38:40.625Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469767963,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:38:42.622Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759469767963,"sdkVersion":36,"timestamp":"2025-10-03T05:38:42.622Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: CLu1kvqA3yqrZ0c7AAA9","timestamp":"2025-10-03T05:38:44.224Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:38:44.226Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"Camera request created: 42e3a119-c305-4537-8e0d-80b5be214dfd","operatorId":"demo-operator-001","timestamp":"2025-10-03T05:38:47.146Z"} {"level":"info","message":"Session terminated: 42e3a119-c305-4537-8e0d-80b5be214dfd","timestamp":"2025-10-03T05:41:31.017Z"} {"level":"info","message":"Client disconnected: CLu1kvqA3yqrZ0c7AAA9, reason: client namespace disconnect","timestamp":"2025-10-03T05:41:31.967Z"} {"level":"info","message":"Client disconnected: 9is7cPMStf3K0tDnAAA7, reason: client namespace disconnect","timestamp":"2025-10-03T05:41:38.907Z"} {"level":"info","message":"Client disconnected: 4Y5C6T8Qsi1BpateAAAp, reason: client namespace disconnect","timestamp":"2025-10-03T05:43:43.527Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: n2d1stiTsH5HG9OHAAA_","timestamp":"2025-10-03T05:43:44.757Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: n2d1stiTsH5HG9OHAAA_","timestamp":"2025-10-03T05:43:44.757Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759470072069,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:43:46.731Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759470072069,"sdkVersion":36,"timestamp":"2025-10-03T05:43:46.731Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: RSuv0kwEXiJn-M6-AABB","timestamp":"2025-10-03T05:43:47.453Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:43:47.454Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T05:43:48.376Z"} {"level":"info","message":"Client disconnected: n2d1stiTsH5HG9OHAAA_, reason: client namespace disconnect","timestamp":"2025-10-03T05:44:37.123Z"} {"level":"info","message":"Client disconnected: RSuv0kwEXiJn-M6-AABB, reason: client namespace disconnect","timestamp":"2025-10-03T05:44:39.464Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 1yVi6wrUPFpOrx1vAABD","timestamp":"2025-10-03T05:44:54.792Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 1yVi6wrUPFpOrx1vAABD","timestamp":"2025-10-03T05:44:54.792Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VX8sq3h5bcj0806BAABF","timestamp":"2025-10-03T05:44:56.268Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:44:56.269Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759470142127,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:44:56.789Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759470142127,"sdkVersion":36,"timestamp":"2025-10-03T05:44:56.789Z"} {"level":"info","message":"Client disconnected: VX8sq3h5bcj0806BAABF, reason: client namespace disconnect","timestamp":"2025-10-03T05:44:58.608Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: swVY94PY-T1wwlh8AABH","timestamp":"2025-10-03T05:44:59.229Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T05:44:59.230Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T05:45:00.809Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _prUnDtkA41HVQyqAABJ","timestamp":"2025-10-03T05:45:17.843Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:45:17.845Z"} {"level":"info","message":"Client disconnected: 2scSI_PjdBTz9SVxAAA5, reason: transport close","timestamp":"2025-10-03T05:45:19.705Z"} {"level":"info","message":"Client disconnected: _prUnDtkA41HVQyqAABJ, reason: transport close","timestamp":"2025-10-03T05:45:19.705Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _rv_wVj6N9bG35CFAABL","timestamp":"2025-10-03T05:45:19.723Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: swVY94PY-T1wwlh8AABH, reason: client namespace disconnect","timestamp":"2025-10-03T05:45:27.120Z"} {"level":"info","message":"Client disconnected: 1yVi6wrUPFpOrx1vAABD, reason: client namespace disconnect","timestamp":"2025-10-03T05:45:34.971Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 806ewEmVc4v_yPgQAABN","timestamp":"2025-10-03T05:45:36.735Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 806ewEmVc4v_yPgQAABN","timestamp":"2025-10-03T05:45:36.735Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759470184071,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T05:45:38.732Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759470184071,"sdkVersion":36,"timestamp":"2025-10-03T05:45:38.733Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: I2SrNq4YYtRP582wAABP","timestamp":"2025-10-03T05:45:38.931Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:45:38.933Z"} {"cameraType":"telephoto","deviceId":"android_6d335c4e","level":"info","message":"Camera request created: 75cc0d9b-0091-4ace-9b22-565a9ef7c078","operatorId":"demo-operator-001","timestamp":"2025-10-03T05:45:44.610Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 98z3sz4PC695PMEFAABR","timestamp":"2025-10-03T05:47:35.634Z","userAgent":""} {"level":"info","message":"Operator registered: c13c08ea-3d93-4148-baff-9c9389f60286","timestamp":"2025-10-03T05:47:35.636Z"} {"level":"info","message":"Client disconnected: 98z3sz4PC695PMEFAABR, reason: client namespace disconnect","timestamp":"2025-10-03T05:48:00.525Z"} {"level":"info","message":"Client disconnected: I2SrNq4YYtRP582wAABP, reason: client namespace disconnect","timestamp":"2025-10-03T05:48:08.057Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: BrlT1z2F_zI33kpeAABT","timestamp":"2025-10-03T05:48:13.012Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T05:48:13.014Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SPJ0KRWPZFes3AjaAABV","timestamp":"2025-10-03T05:48:15.324Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T05:48:15.326Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 8af5d35d-6aab-4a57-9f92-732434abeabb","operatorId":"demo-operator-001","timestamp":"2025-10-03T05:48:16.866Z"} {"level":"info","message":"Camera stream started: session 8af5d35d-6aab-4a57-9f92-732434abeabb","timestamp":"2025-10-03T05:48:19.826Z"} {"level":"info","message":"Camera switch requested: session 8af5d35d-6aab-4a57-9f92-732434abeabb, camera front","timestamp":"2025-10-03T05:48:21.425Z"} {"level":"info","message":"Camera switch requested: session 8af5d35d-6aab-4a57-9f92-732434abeabb, camera front","timestamp":"2025-10-03T05:48:27.913Z"} {"level":"info","message":"Camera switch requested: session 8af5d35d-6aab-4a57-9f92-732434abeabb, camera back","timestamp":"2025-10-03T05:48:28.865Z"} {"level":"info","message":"Client disconnected: 0BNBU4w-uXgThH4-AAAr, reason: ping timeout","timestamp":"2025-10-03T05:57:06.158Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T06:19:58.294Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T06:20:00.604Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T06:20:06.003Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DQ_rmdl6u70SQYwYAAAB","timestamp":"2025-10-03T06:20:11.065Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6jblRDy7y5wgDT7iAAAD","timestamp":"2025-10-03T06:20:11.330Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T06:20:11.334Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ouTrltpPIyxqOdCgAAAF","timestamp":"2025-10-03T06:20:11.443Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T06:20:11.448Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6KFTetB_33ZMkc-3AAAI","timestamp":"2025-10-03T06:20:11.953Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ZaITU0lkM7W-cTIxAAAJ","timestamp":"2025-10-03T06:20:11.954Z","userAgent":""} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: -YWLo8P5gytCyIRcAAAL","timestamp":"2025-10-03T06:20:12.171Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: -YWLo8P5gytCyIRcAAAL","timestamp":"2025-10-03T06:20:12.171Z"} {"level":"info","message":"Client disconnected: -YWLo8P5gytCyIRcAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T06:20:26.366Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T06:21:15.898Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 78BF0_CCrtZTYoqVAAAB","timestamp":"2025-10-03T06:21:17.303Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: bNclcOp3D3AxvsPXAAAD","timestamp":"2025-10-03T06:21:17.866Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T06:21:17.870Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: eGmpN3hBl9mrzJr3AAAF","timestamp":"2025-10-03T06:21:17.936Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T06:21:17.939Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: RFHe2-rP-oUQo5FJAAAI","timestamp":"2025-10-03T06:21:20.959Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: iZXxYSJ6GCwtPmP-AAAJ","timestamp":"2025-10-03T06:21:20.962Z","userAgent":""} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: gCRcn0zlZSTOn1cIAAAL","timestamp":"2025-10-03T06:21:24.081Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: gCRcn0zlZSTOn1cIAAAL","timestamp":"2025-10-03T06:21:24.081Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759472331414,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:21:26.077Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759472331414,"sdkVersion":36,"timestamp":"2025-10-03T06:21:26.078Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: T9PrhraZTIURlbGrAAAN","timestamp":"2025-10-03T06:21:33.759Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:21:33.760Z"} {"level":"info","message":"📷 Camera request received from operator socket T9PrhraZTIURlbGrAAAN","timestamp":"2025-10-03T06:21:36.515Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:21:36.515Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:21:36.516Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T06:21:36.516Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T06:21:36.516Z"} {"level":"info","message":"📱 Session created: 61a8c462-ea9f-4467-9e4f-96301ac04333","timestamp":"2025-10-03T06:21:36.516Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:21:36.517Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T06:21:36.517Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"61a8c462-ea9f-4467-9e4f-96301ac04333","timestamp":"2025-10-03T06:21:36.517Z"} {"level":"info","message":"📱 Device socket ID: gCRcn0zlZSTOn1cIAAAL, connected: true","timestamp":"2025-10-03T06:21:36.517Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T06:21:36.517Z"} {"level":"info","message":"📱 Session 61a8c462-ea9f-4467-9e4f-96301ac04333 added to both operator and device","timestamp":"2025-10-03T06:21:36.518Z"} {"level":"info","message":"Client disconnected: T9PrhraZTIURlbGrAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T06:23:08.248Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: sbQxJfdbCfW0ws4iAAAP","timestamp":"2025-10-03T06:23:25.635Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: bNclcOp3D3AxvsPXAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T06:23:41.170Z"} {"level":"info","message":"Client disconnected: eGmpN3hBl9mrzJr3AAAF, reason: client namespace disconnect","timestamp":"2025-10-03T06:23:42.770Z"} {"level":"info","message":"Client disconnected: gCRcn0zlZSTOn1cIAAAL, reason: transport close","timestamp":"2025-10-03T06:29:41.891Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: L302odUgqBGGYZlXAAAR","timestamp":"2025-10-03T06:29:56.912Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:29:56.913Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: loIdAmkRWYlWBhHcAAAT","timestamp":"2025-10-03T06:29:58.343Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: loIdAmkRWYlWBhHcAAAT","timestamp":"2025-10-03T06:29:58.344Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759472845658,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:30:00.321Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759472845658,"sdkVersion":36,"timestamp":"2025-10-03T06:30:00.322Z"} {"level":"info","message":"Client disconnected: L302odUgqBGGYZlXAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T06:30:01.658Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: sVruzYbVN9HG4z5BAAAV","timestamp":"2025-10-03T06:30:02.789Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:30:02.790Z"} {"level":"info","message":"📷 Camera request received from operator socket sVruzYbVN9HG4z5BAAAV","timestamp":"2025-10-03T06:30:05.098Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:30:05.099Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:30:05.099Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T06:30:05.099Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T06:30:05.099Z"} {"level":"info","message":"📱 Session created: 9b23c665-1fc9-4dc1-a6db-a7de1c02ab91","timestamp":"2025-10-03T06:30:05.099Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:30:05.099Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T06:30:05.100Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"9b23c665-1fc9-4dc1-a6db-a7de1c02ab91","timestamp":"2025-10-03T06:30:05.100Z"} {"level":"info","message":"📱 Device socket ID: loIdAmkRWYlWBhHcAAAT, connected: true","timestamp":"2025-10-03T06:30:05.100Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T06:30:05.101Z"} {"level":"info","message":"📱 Session 9b23c665-1fc9-4dc1-a6db-a7de1c02ab91 added to both operator and device","timestamp":"2025-10-03T06:30:05.101Z"} {"level":"info","message":"Client disconnected: loIdAmkRWYlWBhHcAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T06:31:07.449Z"} {"level":"info","message":"Client disconnected: sVruzYbVN9HG4z5BAAAV, reason: client namespace disconnect","timestamp":"2025-10-03T06:31:09.562Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: _eoOnNcm_u08kUYaAAAX","timestamp":"2025-10-03T06:32:53.641Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: _eoOnNcm_u08kUYaAAAX","timestamp":"2025-10-03T06:32:53.641Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473020953,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:32:55.616Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473020953,"sdkVersion":36,"timestamp":"2025-10-03T06:32:55.616Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: s1M2rdJlyH35s9ZJAAAZ","timestamp":"2025-10-03T06:32:57.086Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:32:57.087Z"} {"level":"info","message":"📷 Camera request received from operator socket s1M2rdJlyH35s9ZJAAAZ","timestamp":"2025-10-03T06:33:00.242Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:33:00.242Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:33:00.242Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T06:33:00.242Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T06:33:00.243Z"} {"level":"info","message":"📱 Session created: 0f25be4f-8ca6-403a-8060-2038725f7c54","timestamp":"2025-10-03T06:33:00.243Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:33:00.243Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T06:33:00.243Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"0f25be4f-8ca6-403a-8060-2038725f7c54","timestamp":"2025-10-03T06:33:00.243Z"} {"level":"info","message":"📱 Device socket ID: _eoOnNcm_u08kUYaAAAX, connected: true","timestamp":"2025-10-03T06:33:00.243Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T06:33:00.243Z"} {"level":"info","message":"📱 Session 0f25be4f-8ca6-403a-8060-2038725f7c54 added to both operator and device","timestamp":"2025-10-03T06:33:00.243Z"} {"level":"info","message":"Client disconnected: s1M2rdJlyH35s9ZJAAAZ, reason: client namespace disconnect","timestamp":"2025-10-03T06:33:24.331Z"} {"level":"info","message":"Client disconnected: _eoOnNcm_u08kUYaAAAX, reason: client namespace disconnect","timestamp":"2025-10-03T06:33:26.277Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: TKtBaXekKwHTI00WAAAb","timestamp":"2025-10-03T06:33:26.791Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: TKtBaXekKwHTI00WAAAb","timestamp":"2025-10-03T06:33:26.791Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473054125,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:33:28.787Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473054125,"sdkVersion":36,"timestamp":"2025-10-03T06:33:28.787Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: v01A6jblK6-h5tqVAAAd","timestamp":"2025-10-03T06:33:32.309Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T06:33:32.311Z"} {"cameraType":"front","deviceId":"android_6d335c4e","level":"info","message":"Camera request created: 3f20a0fc-78eb-4ec0-ac03-c4504e1b645d","operatorId":"demo-operator-001","timestamp":"2025-10-03T06:33:35.330Z"} {"level":"info","message":"Client disconnected: TKtBaXekKwHTI00WAAAb, reason: client namespace disconnect","timestamp":"2025-10-03T06:36:12.659Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hvgohW7qEIkLfTtiAAAf","timestamp":"2025-10-03T06:36:13.588Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: hvgohW7qEIkLfTtiAAAf","timestamp":"2025-10-03T06:36:13.588Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473220925,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:36:15.587Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473220925,"sdkVersion":36,"timestamp":"2025-10-03T06:36:15.587Z"} {"level":"info","message":"Client disconnected: hvgohW7qEIkLfTtiAAAf, reason: transport close","timestamp":"2025-10-03T06:42:51.938Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: IkX5qa8kELZFGwJ7AAAh","timestamp":"2025-10-03T06:44:35.218Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: IkX5qa8kELZFGwJ7AAAh","timestamp":"2025-10-03T06:44:35.218Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473722531,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:44:37.194Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473722531,"sdkVersion":36,"timestamp":"2025-10-03T06:44:37.195Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 5Hb2bEfEhvaSg16VAAAj","timestamp":"2025-10-03T06:44:43.061Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:44:43.062Z"} {"level":"info","message":"📷 Camera request received from operator socket 5Hb2bEfEhvaSg16VAAAj","timestamp":"2025-10-03T06:44:44.394Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:44:44.394Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:44:44.394Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T06:44:44.394Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T06:44:44.394Z"} {"level":"info","message":"📱 Session created: 27d8416d-d1e6-41b1-bb4a-bdb807b0d766","timestamp":"2025-10-03T06:44:44.394Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:44:44.394Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T06:44:44.394Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"27d8416d-d1e6-41b1-bb4a-bdb807b0d766","timestamp":"2025-10-03T06:44:44.395Z"} {"level":"info","message":"📱 Device socket ID: IkX5qa8kELZFGwJ7AAAh, connected: true","timestamp":"2025-10-03T06:44:44.395Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T06:44:44.395Z"} {"level":"info","message":"📱 Session 27d8416d-d1e6-41b1-bb4a-bdb807b0d766 added to both operator and device","timestamp":"2025-10-03T06:44:44.395Z"} {"level":"info","message":"📷 Camera request received from operator socket 5Hb2bEfEhvaSg16VAAAj","timestamp":"2025-10-03T06:44:47.746Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:44:47.746Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:44:47.746Z"} {"level":"error","message":"❌ Device cannot accept new session: android_6d335c4e, status: busy, connected: false","timestamp":"2025-10-03T06:44:47.746Z"} {"level":"info","message":"Client disconnected: IkX5qa8kELZFGwJ7AAAh, reason: client namespace disconnect","timestamp":"2025-10-03T06:45:40.784Z"} {"level":"info","message":"Client disconnected: 5Hb2bEfEhvaSg16VAAAj, reason: client namespace disconnect","timestamp":"2025-10-03T06:45:41.801Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: oisunN3DCV0kKJNaAAAl","timestamp":"2025-10-03T06:45:45.597Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: oisunN3DCV0kKJNaAAAl","timestamp":"2025-10-03T06:45:45.597Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473792927,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:45:47.589Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759473792927,"sdkVersion":36,"timestamp":"2025-10-03T06:45:47.589Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QCaHIPVRfyrhgYk4AAAn","timestamp":"2025-10-03T06:45:48.718Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:45:48.719Z"} {"level":"info","message":"📷 Camera request received from operator socket QCaHIPVRfyrhgYk4AAAn","timestamp":"2025-10-03T06:45:50.706Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:45:50.706Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:45:50.706Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T06:45:50.706Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T06:45:50.707Z"} {"level":"info","message":"📱 Session created: d415182a-26ad-42a9-a7c3-794372a937a3","timestamp":"2025-10-03T06:45:50.707Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:45:50.707Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T06:45:50.707Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"d415182a-26ad-42a9-a7c3-794372a937a3","timestamp":"2025-10-03T06:45:50.707Z"} {"level":"info","message":"📱 Device socket ID: oisunN3DCV0kKJNaAAAl, connected: true","timestamp":"2025-10-03T06:45:50.707Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T06:45:50.707Z"} {"level":"info","message":"📱 Session d415182a-26ad-42a9-a7c3-794372a937a3 added to both operator and device","timestamp":"2025-10-03T06:45:50.707Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: W8lNVH2vJO8RPqueAAAp","timestamp":"2025-10-03T06:52:16.102Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: W8lNVH2vJO8RPqueAAAp","timestamp":"2025-10-03T06:52:16.102Z"} {"level":"info","message":"Client disconnected: oisunN3DCV0kKJNaAAAl, reason: transport close","timestamp":"2025-10-03T06:53:05.963Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hOL2jbCve6w0li1WAAAr","timestamp":"2025-10-03T06:53:11.721Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: hOL2jbCve6w0li1WAAAr","timestamp":"2025-10-03T06:53:11.721Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759474239024,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:53:13.692Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759474239024,"sdkVersion":36,"timestamp":"2025-10-03T06:53:13.693Z"} {"level":"info","message":"Client disconnected: QCaHIPVRfyrhgYk4AAAn, reason: client namespace disconnect","timestamp":"2025-10-03T06:53:20.872Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: xX6RwEdMjs2RYf4zAAAt","timestamp":"2025-10-03T06:53:22.276Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:53:22.277Z"} {"level":"info","message":"📷 Camera request received from operator socket xX6RwEdMjs2RYf4zAAAt","timestamp":"2025-10-03T06:53:24.350Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:53:24.350Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:53:24.350Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T06:53:24.350Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T06:53:24.350Z"} {"level":"info","message":"📱 Session created: 2ed57212-9fe2-4aad-9b1a-81d5e34e849d","timestamp":"2025-10-03T06:53:24.350Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:53:24.350Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T06:53:24.350Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"2ed57212-9fe2-4aad-9b1a-81d5e34e849d","timestamp":"2025-10-03T06:53:24.351Z"} {"level":"info","message":"📱 Device socket ID: hOL2jbCve6w0li1WAAAr, connected: true","timestamp":"2025-10-03T06:53:24.351Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T06:53:24.351Z"} {"level":"info","message":"📱 Session 2ed57212-9fe2-4aad-9b1a-81d5e34e849d added to both operator and device","timestamp":"2025-10-03T06:53:24.351Z"} {"level":"info","message":"Client disconnected: W8lNVH2vJO8RPqueAAAp, reason: ping timeout","timestamp":"2025-10-03T06:54:16.363Z"} {"level":"info","message":"Client disconnected: xX6RwEdMjs2RYf4zAAAt, reason: client namespace disconnect","timestamp":"2025-10-03T06:55:28.769Z"} {"address":"192.168.219.107","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VGm47qslhUbwVIBbAAAv","timestamp":"2025-10-03T06:56:05.508Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: VGm47qslhUbwVIBbAAAv","timestamp":"2025-10-03T06:56:05.508Z"} {"deviceId":"android_c89e30d6","deviceInfo":{"androidVersion":"14","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"Redmi","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"pond","manufacturer":"Xiaomi","model":"2409BRN2CL","platform":"android","registrationTime":1759474567340,"sdkVersion":34},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:56:07.447Z"} {"androidVersion":"14","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"Redmi","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"pond","level":"info","manufacturer":"Xiaomi","message":"Android client registered: android_c89e30d6","model":"2409BRN2CL","platform":"android","registrationTime":1759474567340,"sdkVersion":34,"timestamp":"2025-10-03T06:56:07.447Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6RMM4PIM7Uc7mlfoAAAx","timestamp":"2025-10-03T06:56:09.654Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:56:09.655Z"} {"level":"info","message":"📷 Camera request received from operator socket 6RMM4PIM7Uc7mlfoAAAx","timestamp":"2025-10-03T06:56:12.251Z"} {"cameraType":"back","deviceId":"android_c89e30d6","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:56:12.251Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:56:12.251Z"} {"level":"info","message":"✅ Device found and available: android_c89e30d6, socket connected: true","timestamp":"2025-10-03T06:56:12.251Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_c89e30d6","timestamp":"2025-10-03T06:56:12.251Z"} {"level":"info","message":"📱 Session created: 968652c8-7e34-4822-8086-7f60b8a029a6","timestamp":"2025-10-03T06:56:12.251Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:56:12.251Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_c89e30d6","timestamp":"2025-10-03T06:56:12.251Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"968652c8-7e34-4822-8086-7f60b8a029a6","timestamp":"2025-10-03T06:56:12.252Z"} {"level":"info","message":"📱 Device socket ID: VGm47qslhUbwVIBbAAAv, connected: true","timestamp":"2025-10-03T06:56:12.252Z"} {"level":"info","message":"✅ camera:request sent to Android device android_c89e30d6","timestamp":"2025-10-03T06:56:12.252Z"} {"level":"info","message":"📱 Session 968652c8-7e34-4822-8086-7f60b8a029a6 added to both operator and device","timestamp":"2025-10-03T06:56:12.252Z"} {"level":"info","message":"Client disconnected: hOL2jbCve6w0li1WAAAr, reason: client namespace disconnect","timestamp":"2025-10-03T06:56:24.254Z"} {"level":"info","message":"Client disconnected: 6RMM4PIM7Uc7mlfoAAAx, reason: client namespace disconnect","timestamp":"2025-10-03T06:56:25.834Z"} {"level":"info","message":"Client disconnected: VGm47qslhUbwVIBbAAAv, reason: client namespace disconnect","timestamp":"2025-10-03T06:56:26.733Z"} {"address":"192.168.219.107","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: aZyIAJ15aQLHRJXHAAAz","timestamp":"2025-10-03T06:56:29.488Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: aZyIAJ15aQLHRJXHAAAz","timestamp":"2025-10-03T06:56:29.488Z"} {"deviceId":"android_c89e30d6","deviceInfo":{"androidVersion":"14","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"Redmi","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"pond","manufacturer":"Xiaomi","model":"2409BRN2CL","platform":"android","registrationTime":1759474591370,"sdkVersion":34},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T06:56:31.476Z"} {"androidVersion":"14","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"Redmi","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"pond","level":"info","manufacturer":"Xiaomi","message":"Android client registered: android_c89e30d6","model":"2409BRN2CL","platform":"android","registrationTime":1759474591370,"sdkVersion":34,"timestamp":"2025-10-03T06:56:31.476Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Rfb8aSXurWM6pMZQAAA1","timestamp":"2025-10-03T06:56:32.807Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:56:32.808Z"} {"level":"info","message":"📷 Camera request received from operator socket Rfb8aSXurWM6pMZQAAA1","timestamp":"2025-10-03T06:56:35.707Z"} {"cameraType":"back","deviceId":"android_c89e30d6","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T06:56:35.707Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:56:35.707Z"} {"level":"info","message":"✅ Device found and available: android_c89e30d6, socket connected: true","timestamp":"2025-10-03T06:56:35.707Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_c89e30d6","timestamp":"2025-10-03T06:56:35.707Z"} {"level":"info","message":"📱 Session created: ad6e2835-ba86-4570-96cd-987930f3f3e4","timestamp":"2025-10-03T06:56:35.707Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T06:56:35.708Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_c89e30d6","timestamp":"2025-10-03T06:56:35.708Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"ad6e2835-ba86-4570-96cd-987930f3f3e4","timestamp":"2025-10-03T06:56:35.708Z"} {"level":"info","message":"📱 Device socket ID: aZyIAJ15aQLHRJXHAAAz, connected: true","timestamp":"2025-10-03T06:56:35.708Z"} {"level":"info","message":"✅ camera:request sent to Android device android_c89e30d6","timestamp":"2025-10-03T06:56:35.708Z"} {"level":"info","message":"📱 Session ad6e2835-ba86-4570-96cd-987930f3f3e4 added to both operator and device","timestamp":"2025-10-03T06:56:35.709Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: tqyqFP-AWtQ41hBTAAA3","timestamp":"2025-10-03T07:00:55.830Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: tqyqFP-AWtQ41hBTAAA3","timestamp":"2025-10-03T07:00:55.830Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759474703135,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:00:57.808Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759474703135,"sdkVersion":36,"timestamp":"2025-10-03T07:00:57.808Z"} {"level":"info","message":"Client disconnected: Rfb8aSXurWM6pMZQAAA1, reason: client namespace disconnect","timestamp":"2025-10-03T07:01:01.140Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Airl0sZGqTSCH18QAAA5","timestamp":"2025-10-03T07:01:01.601Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:01:01.602Z"} {"level":"info","message":"📷 Camera request received from operator socket Airl0sZGqTSCH18QAAA5","timestamp":"2025-10-03T07:01:02.885Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:01:02.885Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:01:02.885Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T07:01:02.885Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T07:01:02.886Z"} {"level":"info","message":"📱 Session created: 01365214-715f-4d6a-91a6-e7e00d54bb00","timestamp":"2025-10-03T07:01:02.886Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:01:02.886Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T07:01:02.886Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"01365214-715f-4d6a-91a6-e7e00d54bb00","timestamp":"2025-10-03T07:01:02.886Z"} {"level":"info","message":"📱 Device socket ID: tqyqFP-AWtQ41hBTAAA3, connected: true","timestamp":"2025-10-03T07:01:02.886Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T07:01:02.886Z"} {"level":"info","message":"📱 Session 01365214-715f-4d6a-91a6-e7e00d54bb00 added to both operator and device","timestamp":"2025-10-03T07:01:02.886Z"} {"level":"info","message":"Client disconnected: tqyqFP-AWtQ41hBTAAA3, reason: client namespace disconnect","timestamp":"2025-10-03T07:01:10.511Z"} {"level":"info","message":"Client disconnected: Airl0sZGqTSCH18QAAA5, reason: client namespace disconnect","timestamp":"2025-10-03T07:01:11.700Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9ntIa4VXh1wUDZwQAAA7","timestamp":"2025-10-03T07:01:15.065Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 9ntIa4VXh1wUDZwQAAA7","timestamp":"2025-10-03T07:01:15.066Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: uz3rkhahYPR6KR8nAAA9","timestamp":"2025-10-03T07:01:16.259Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:01:16.260Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759474722391,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:01:17.063Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759474722391,"sdkVersion":36,"timestamp":"2025-10-03T07:01:17.064Z"} {"level":"info","message":"Client disconnected: uz3rkhahYPR6KR8nAAA9, reason: client namespace disconnect","timestamp":"2025-10-03T07:01:18.029Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: GnkAvKholrjubPk1AAA_","timestamp":"2025-10-03T07:01:18.560Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:01:18.561Z"} {"level":"info","message":"📷 Camera request received from operator socket GnkAvKholrjubPk1AAA_","timestamp":"2025-10-03T07:01:20.037Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:01:20.037Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:01:20.037Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T07:01:20.037Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T07:01:20.038Z"} {"level":"info","message":"📱 Session created: 63bcaac5-e007-4c42-978a-a83c7e0c14b0","timestamp":"2025-10-03T07:01:20.038Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:01:20.038Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T07:01:20.038Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"63bcaac5-e007-4c42-978a-a83c7e0c14b0","timestamp":"2025-10-03T07:01:20.038Z"} {"level":"info","message":"📱 Device socket ID: 9ntIa4VXh1wUDZwQAAA7, connected: true","timestamp":"2025-10-03T07:01:20.038Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T07:01:20.038Z"} {"level":"info","message":"📱 Session 63bcaac5-e007-4c42-978a-a83c7e0c14b0 added to both operator and device","timestamp":"2025-10-03T07:01:20.038Z"} {"level":"info","message":"Client disconnected: aZyIAJ15aQLHRJXHAAAz, reason: transport close","timestamp":"2025-10-03T07:04:19.926Z"} {"level":"info","message":"Client disconnected: 9ntIa4VXh1wUDZwQAAA7, reason: client namespace disconnect","timestamp":"2025-10-03T07:29:01.383Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: XmJWU0nw2g95rfsoAABB","timestamp":"2025-10-03T07:29:02.146Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: XmJWU0nw2g95rfsoAABB","timestamp":"2025-10-03T07:29:02.146Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759476389463,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:29:04.143Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759476389463,"sdkVersion":36,"timestamp":"2025-10-03T07:29:04.143Z"} {"level":"info","message":"Client disconnected: XmJWU0nw2g95rfsoAABB, reason: client namespace disconnect","timestamp":"2025-10-03T07:32:14.301Z"} {"address":"192.168.219.108","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: o2GOuOKt1h0ggLp3AABD","timestamp":"2025-10-03T07:35:50.183Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: o2GOuOKt1h0ggLp3AABD","timestamp":"2025-10-03T07:35:50.183Z"} {"deviceId":"android_6d335c4e","deviceInfo":{"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","manufacturer":"Google","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759476797497,"sdkVersion":36},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:35:52.179Z"} {"androidVersion":"16","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"google","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"emu64xa16k","level":"info","manufacturer":"Google","message":"Android client registered: android_6d335c4e","model":"sdk_gphone16k_x86_64","platform":"android","registrationTime":1759476797497,"sdkVersion":36,"timestamp":"2025-10-03T07:35:52.179Z"} {"level":"info","message":"Client disconnected: GnkAvKholrjubPk1AAA_, reason: client namespace disconnect","timestamp":"2025-10-03T07:35:53.542Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: JQb7qIhXmEMDvPdSAABF","timestamp":"2025-10-03T07:35:54.306Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:35:54.307Z"} {"level":"info","message":"📷 Camera request received from operator socket JQb7qIhXmEMDvPdSAABF","timestamp":"2025-10-03T07:35:55.255Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:35:55.255Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:35:55.255Z"} {"level":"info","message":"✅ Device found and available: android_6d335c4e, socket connected: true","timestamp":"2025-10-03T07:35:55.255Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_6d335c4e","timestamp":"2025-10-03T07:35:55.255Z"} {"level":"info","message":"📱 Session created: dcbfdf54-f182-4003-9a70-be0f26226b55","timestamp":"2025-10-03T07:35:55.255Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:35:55.256Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_6d335c4e","timestamp":"2025-10-03T07:35:55.256Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"dcbfdf54-f182-4003-9a70-be0f26226b55","timestamp":"2025-10-03T07:35:55.256Z"} {"level":"info","message":"📱 Device socket ID: o2GOuOKt1h0ggLp3AABD, connected: true","timestamp":"2025-10-03T07:35:55.256Z"} {"level":"info","message":"✅ camera:request sent to Android device android_6d335c4e","timestamp":"2025-10-03T07:35:55.256Z"} {"level":"info","message":"📱 Session dcbfdf54-f182-4003-9a70-be0f26226b55 added to both operator and device","timestamp":"2025-10-03T07:35:55.256Z"} {"level":"info","message":"📷 Camera request received from operator socket JQb7qIhXmEMDvPdSAABF","timestamp":"2025-10-03T07:35:58.415Z"} {"cameraType":"back","deviceId":"android_6d335c4e","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:35:58.415Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:35:58.415Z"} {"level":"error","message":"❌ Device cannot accept new session: android_6d335c4e, status: busy, connected: false","timestamp":"2025-10-03T07:35:58.415Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: lLdkm1aMgc8YrpCSAABH","timestamp":"2025-10-03T07:38:19.244Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: lLdkm1aMgc8YrpCSAABH","timestamp":"2025-10-03T07:38:19.244Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477100094,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:38:21.099Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477100094,"sdkVersion":28,"timestamp":"2025-10-03T07:38:21.099Z"} {"level":"info","message":"Client disconnected: JQb7qIhXmEMDvPdSAABF, reason: client namespace disconnect","timestamp":"2025-10-03T07:38:23.775Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gDPQe7WHPPhxthNtAABJ","timestamp":"2025-10-03T07:38:24.578Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:38:24.579Z"} {"level":"info","message":"📷 Camera request received from operator socket gDPQe7WHPPhxthNtAABJ","timestamp":"2025-10-03T07:38:27.903Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:38:27.904Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:38:27.904Z"} {"level":"info","message":"✅ Device found and available: android_bcac6e0d, socket connected: true","timestamp":"2025-10-03T07:38:27.904Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_bcac6e0d","timestamp":"2025-10-03T07:38:27.904Z"} {"level":"info","message":"📱 Session created: 71489d37-37c5-4a31-b225-a6413434c213","timestamp":"2025-10-03T07:38:27.904Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:38:27.904Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T07:38:27.904Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"71489d37-37c5-4a31-b225-a6413434c213","timestamp":"2025-10-03T07:38:27.904Z"} {"level":"info","message":"📱 Device socket ID: lLdkm1aMgc8YrpCSAABH, connected: true","timestamp":"2025-10-03T07:38:27.905Z"} {"level":"info","message":"✅ camera:request sent to Android device android_bcac6e0d","timestamp":"2025-10-03T07:38:27.905Z"} {"level":"info","message":"📱 Session 71489d37-37c5-4a31-b225-a6413434c213 added to both operator and device","timestamp":"2025-10-03T07:38:27.905Z"} {"level":"info","message":"Client disconnected: lLdkm1aMgc8YrpCSAABH, reason: client namespace disconnect","timestamp":"2025-10-03T07:39:12.810Z"} {"level":"info","message":"Client disconnected: o2GOuOKt1h0ggLp3AABD, reason: client namespace disconnect","timestamp":"2025-10-03T07:39:43.799Z"} {"level":"info","message":"Client disconnected: gDPQe7WHPPhxthNtAABJ, reason: client namespace disconnect","timestamp":"2025-10-03T07:39:45.607Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: og59qghmw35jPiPXAABL","timestamp":"2025-10-03T07:39:46.188Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:39:46.189Z"} {"level":"info","message":"Client disconnected: og59qghmw35jPiPXAABL, reason: client namespace disconnect","timestamp":"2025-10-03T07:39:47.063Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ggCcDf_wT34_rB9rAABN","timestamp":"2025-10-03T07:42:19.521Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: ggCcDf_wT34_rB9rAABN","timestamp":"2025-10-03T07:42:19.521Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477340379,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:42:21.393Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477340379,"sdkVersion":28,"timestamp":"2025-10-03T07:42:21.393Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: t0KoWzRG0TFjKN5nAABP","timestamp":"2025-10-03T07:42:22.372Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:42:22.373Z"} {"level":"info","message":"📷 Camera request received from operator socket t0KoWzRG0TFjKN5nAABP","timestamp":"2025-10-03T07:42:24.792Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:42:24.792Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:42:24.793Z"} {"level":"info","message":"✅ Device found and available: android_bcac6e0d, socket connected: true","timestamp":"2025-10-03T07:42:24.793Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_bcac6e0d","timestamp":"2025-10-03T07:42:24.793Z"} {"level":"info","message":"📱 Session created: 835ed859-bdac-4477-abf6-80867d6fdb38","timestamp":"2025-10-03T07:42:24.793Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:42:24.793Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T07:42:24.793Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"835ed859-bdac-4477-abf6-80867d6fdb38","timestamp":"2025-10-03T07:42:24.793Z"} {"level":"info","message":"📱 Device socket ID: ggCcDf_wT34_rB9rAABN, connected: true","timestamp":"2025-10-03T07:42:24.793Z"} {"level":"info","message":"✅ camera:request sent to Android device android_bcac6e0d","timestamp":"2025-10-03T07:42:24.794Z"} {"level":"info","message":"📱 Session 835ed859-bdac-4477-abf6-80867d6fdb38 added to both operator and device","timestamp":"2025-10-03T07:42:24.794Z"} {"level":"info","message":"📷 Camera request received from operator socket t0KoWzRG0TFjKN5nAABP","timestamp":"2025-10-03T07:43:32.704Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:43:32.705Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:43:32.705Z"} {"level":"error","message":"❌ Device cannot accept new session: android_bcac6e0d, status: busy, connected: false","timestamp":"2025-10-03T07:43:32.705Z"} {"level":"info","message":"Client disconnected: ggCcDf_wT34_rB9rAABN, reason: transport close","timestamp":"2025-10-03T07:44:58.428Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 1-mxtKYn9Wnr-QNEAABR","timestamp":"2025-10-03T07:45:33.854Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 1-mxtKYn9Wnr-QNEAABR","timestamp":"2025-10-03T07:45:33.854Z"} {"level":"info","message":"Client disconnected: t0KoWzRG0TFjKN5nAABP, reason: client namespace disconnect","timestamp":"2025-10-03T07:45:35.544Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477534753,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:45:35.771Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477534753,"sdkVersion":28,"timestamp":"2025-10-03T07:45:35.771Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: xbR2O_Yo-d7Huc5nAABT","timestamp":"2025-10-03T07:45:36.148Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:45:36.149Z"} {"level":"info","message":"📷 Camera request received from operator socket xbR2O_Yo-d7Huc5nAABT","timestamp":"2025-10-03T07:45:38.081Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:45:38.081Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:45:38.081Z"} {"level":"info","message":"✅ Device found and available: android_bcac6e0d, socket connected: true","timestamp":"2025-10-03T07:45:38.081Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_bcac6e0d","timestamp":"2025-10-03T07:45:38.081Z"} {"level":"info","message":"📱 Session created: 1cd1a8bc-e629-4bcd-b9bd-86a6095c2b33","timestamp":"2025-10-03T07:45:38.082Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:45:38.082Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T07:45:38.082Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"1cd1a8bc-e629-4bcd-b9bd-86a6095c2b33","timestamp":"2025-10-03T07:45:38.082Z"} {"level":"info","message":"📱 Device socket ID: 1-mxtKYn9Wnr-QNEAABR, connected: true","timestamp":"2025-10-03T07:45:38.082Z"} {"level":"info","message":"✅ camera:request sent to Android device android_bcac6e0d","timestamp":"2025-10-03T07:45:38.082Z"} {"level":"info","message":"📱 Session 1cd1a8bc-e629-4bcd-b9bd-86a6095c2b33 added to both operator and device","timestamp":"2025-10-03T07:45:38.082Z"} {"level":"info","message":"Client disconnected: 1-mxtKYn9Wnr-QNEAABR, reason: client namespace disconnect","timestamp":"2025-10-03T07:46:24.724Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9vAIcUl6oOJ1lOv9AABV","timestamp":"2025-10-03T07:46:27.532Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 9vAIcUl6oOJ1lOv9AABV","timestamp":"2025-10-03T07:46:27.532Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477588773,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:46:29.791Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477588773,"sdkVersion":28,"timestamp":"2025-10-03T07:46:29.791Z"} {"level":"info","message":"Client disconnected: xbR2O_Yo-d7Huc5nAABT, reason: client namespace disconnect","timestamp":"2025-10-03T07:46:38.624Z"} {"level":"info","message":"Client disconnected: 9vAIcUl6oOJ1lOv9AABV, reason: client namespace disconnect","timestamp":"2025-10-03T07:46:45.315Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: sLIlH7UwPkIsjmfTAABX","timestamp":"2025-10-03T07:47:21.171Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: sLIlH7UwPkIsjmfTAABX","timestamp":"2025-10-03T07:47:21.171Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477642166,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:47:23.183Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477642166,"sdkVersion":28,"timestamp":"2025-10-03T07:47:23.184Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rV5hNSJzKY2evo_nAABZ","timestamp":"2025-10-03T07:47:24.942Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:47:24.945Z"} {"level":"info","message":"📷 Camera request received from operator socket rV5hNSJzKY2evo_nAABZ","timestamp":"2025-10-03T07:47:26.265Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:47:26.265Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:47:26.265Z"} {"level":"info","message":"✅ Device found and available: android_bcac6e0d, socket connected: true","timestamp":"2025-10-03T07:47:26.265Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_bcac6e0d","timestamp":"2025-10-03T07:47:26.266Z"} {"level":"info","message":"📱 Session created: 260fefce-ca1b-41f5-a0ae-c9dd62aca1be","timestamp":"2025-10-03T07:47:26.266Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:47:26.266Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T07:47:26.266Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"260fefce-ca1b-41f5-a0ae-c9dd62aca1be","timestamp":"2025-10-03T07:47:26.266Z"} {"level":"info","message":"📱 Device socket ID: sLIlH7UwPkIsjmfTAABX, connected: true","timestamp":"2025-10-03T07:47:26.266Z"} {"level":"info","message":"✅ camera:request sent to Android device android_bcac6e0d","timestamp":"2025-10-03T07:47:26.266Z"} {"level":"info","message":"📱 Session 260fefce-ca1b-41f5-a0ae-c9dd62aca1be added to both operator and device","timestamp":"2025-10-03T07:47:26.266Z"} {"level":"info","message":"Client disconnected: sLIlH7UwPkIsjmfTAABX, reason: client namespace disconnect","timestamp":"2025-10-03T07:48:20.651Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: L8d5s7C9nkb--gFKAABb","timestamp":"2025-10-03T07:48:28.879Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: L8d5s7C9nkb--gFKAABb","timestamp":"2025-10-03T07:48:28.879Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477709867,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:48:30.875Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477709867,"sdkVersion":28,"timestamp":"2025-10-03T07:48:30.875Z"} {"level":"info","message":"Client disconnected: L8d5s7C9nkb--gFKAABb, reason: client namespace disconnect","timestamp":"2025-10-03T07:48:49.207Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: I8szcfF_4gOXukoZAABd","timestamp":"2025-10-03T07:49:06.603Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: I8szcfF_4gOXukoZAABd","timestamp":"2025-10-03T07:49:06.603Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477747501,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:49:08.514Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477747501,"sdkVersion":28,"timestamp":"2025-10-03T07:49:08.514Z"} {"level":"info","message":"Client disconnected: rV5hNSJzKY2evo_nAABZ, reason: client namespace disconnect","timestamp":"2025-10-03T07:49:21.153Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: H_YV_SHw3k3Z74QMAABf","timestamp":"2025-10-03T07:49:21.702Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:49:21.703Z"} {"level":"info","message":"📷 Camera request received from operator socket H_YV_SHw3k3Z74QMAABf","timestamp":"2025-10-03T07:49:26.204Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:49:26.204Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:49:26.204Z"} {"level":"info","message":"✅ Device found and available: android_bcac6e0d, socket connected: true","timestamp":"2025-10-03T07:49:26.204Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_bcac6e0d","timestamp":"2025-10-03T07:49:26.204Z"} {"level":"info","message":"📱 Session created: caa40e34-4bd6-4126-8946-1db0d8aec0ea","timestamp":"2025-10-03T07:49:26.204Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:49:26.204Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T07:49:26.204Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"caa40e34-4bd6-4126-8946-1db0d8aec0ea","timestamp":"2025-10-03T07:49:26.204Z"} {"level":"info","message":"📱 Device socket ID: I8szcfF_4gOXukoZAABd, connected: true","timestamp":"2025-10-03T07:49:26.205Z"} {"level":"info","message":"✅ camera:request sent to Android device android_bcac6e0d","timestamp":"2025-10-03T07:49:26.205Z"} {"level":"info","message":"📱 Session caa40e34-4bd6-4126-8946-1db0d8aec0ea added to both operator and device","timestamp":"2025-10-03T07:49:26.205Z"} {"level":"info","message":"Client disconnected: I8szcfF_4gOXukoZAABd, reason: client namespace disconnect","timestamp":"2025-10-03T07:51:00.984Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: v2oYpvTM1gj4SI19AABh","timestamp":"2025-10-03T07:51:11.459Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: v2oYpvTM1gj4SI19AABh","timestamp":"2025-10-03T07:51:11.460Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759477872358,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T07:51:13.375Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759477872358,"sdkVersion":28,"timestamp":"2025-10-03T07:51:13.375Z"} {"level":"info","message":"Client disconnected: H_YV_SHw3k3Z74QMAABf, reason: client namespace disconnect","timestamp":"2025-10-03T07:51:37.585Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: AgQc1EkY9ELJkzFzAABj","timestamp":"2025-10-03T07:51:38.125Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:51:38.126Z"} {"level":"info","message":"📷 Camera request received from operator socket AgQc1EkY9ELJkzFzAABj","timestamp":"2025-10-03T07:51:42.946Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T07:51:42.946Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:51:42.946Z"} {"level":"info","message":"✅ Device found and available: android_bcac6e0d, socket connected: true","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"Camera request: operator c61acaf8-d5a1-4452-a245-06a155b2adae -> device android_bcac6e0d","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"📱 Session created: 8a076e30-e7f7-4364-8917-00820bc41b79","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"✅ Session:created sent to operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T07:51:42.947Z"} {"cameraType":"back","level":"info","message":"📱 Request data being sent:","operatorId":"c61acaf8-d5a1-4452-a245-06a155b2adae","sessionId":"8a076e30-e7f7-4364-8917-00820bc41b79","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"📱 Device socket ID: v2oYpvTM1gj4SI19AABh, connected: true","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"✅ camera:request sent to Android device android_bcac6e0d","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"📱 Session 8a076e30-e7f7-4364-8917-00820bc41b79 added to both operator and device","timestamp":"2025-10-03T07:51:42.947Z"} {"level":"info","message":"Client disconnected: v2oYpvTM1gj4SI19AABh, reason: client namespace disconnect","timestamp":"2025-10-03T07:52:10.439Z"} {"address":"192.168.219.109","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: htjCqgFYNmjtTBipAABl","timestamp":"2025-10-03T07:52:41.429Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: htjCqgFYNmjtTBipAABl","timestamp":"2025-10-03T07:52:41.429Z"} {"level":"info","message":"Client disconnected: AgQc1EkY9ELJkzFzAABj, reason: client namespace disconnect","timestamp":"2025-10-03T07:54:03.227Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:14:26.627Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:20:03.472Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: x13Wt_RAiOny8FBFAAAB","timestamp":"2025-10-03T08:20:04.663Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:20:04.673Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0bY9EhVOjomKzW1_AAAD","timestamp":"2025-10-03T08:20:05.968Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: jV9opD0molx05gP1AAAF","timestamp":"2025-10-03T08:20:06.568Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: PFMZxA8jki4UEL3rAAAH","timestamp":"2025-10-03T08:20:07.105Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ybGXbKPD1YtIvt15AAAJ","timestamp":"2025-10-03T08:20:07.455Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: ybGXbKPD1YtIvt15AAAJ","timestamp":"2025-10-03T08:20:07.456Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: srnMHzegaAvVXlLHAAAL","timestamp":"2025-10-03T08:20:07.741Z","userAgent":""} {"address":"192.168.219.109","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: i-s9m6k0Bwne_ZZ_AAAN","timestamp":"2025-10-03T08:20:08.034Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: i-s9m6k0Bwne_ZZ_AAAN","timestamp":"2025-10-03T08:20:08.034Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759479608612,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:20:09.419Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759479608612,"sdkVersion":28,"timestamp":"2025-10-03T08:20:09.420Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TzDVTbT8Q_YS5wjxAAAP","timestamp":"2025-10-03T08:20:11.837Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:20:11.838Z"} {"level":"info","message":"📷 Camera request received from operator socket TzDVTbT8Q_YS5wjxAAAP","timestamp":"2025-10-03T08:20:12.985Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:20:12.986Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:20:12.986Z"} {"level":"error","message":"❌ Failed to initiate connection: Cannot read properties of undefined (reading 'info')","timestamp":"2025-10-03T08:20:12.987Z"} {"level":"info","message":"📷 Camera request received from operator socket TzDVTbT8Q_YS5wjxAAAP","timestamp":"2025-10-03T08:20:15.447Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:20:15.448Z"} {"level":"info","message":"✅ Operator found: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:20:15.448Z"} {"level":"error","message":"❌ Failed to initiate connection: Cannot read properties of undefined (reading 'info')","timestamp":"2025-10-03T08:20:15.449Z"} {"level":"info","message":"Client disconnected: i-s9m6k0Bwne_ZZ_AAAN, reason: ping timeout","timestamp":"2025-10-03T08:20:53.011Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:20:56.928Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:21:54.361Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:22:49.008Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:23:15.687Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rWZwdlxXin9cNNFQAAAB","timestamp":"2025-10-03T08:23:17.120Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:23:17.121Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: OWdn43Ea1Za-PdZnAAAD","timestamp":"2025-10-03T08:23:17.276Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: x5I2mDSszOA0TrSAAAAF","timestamp":"2025-10-03T08:23:19.109Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:23:19.113Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QiF9rz2jD-zMLERLAAAH","timestamp":"2025-10-03T08:23:19.290Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:23:19.291Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gfY6lrMsvugQPfnBAAAJ","timestamp":"2025-10-03T08:23:19.734Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: MVdBci90vq1-sunGAAAL","timestamp":"2025-10-03T08:23:20.155Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:23:20.156Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 4XfqAcYTNpv9mu8UAAAN","timestamp":"2025-10-03T08:23:28.566Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 4XfqAcYTNpv9mu8UAAAN","timestamp":"2025-10-03T08:23:28.566Z"} {"level":"info","message":"Client disconnected: rWZwdlxXin9cNNFQAAAB, reason: client namespace disconnect","timestamp":"2025-10-03T08:23:29.687Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:24:02.779Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: nt43jZ_4kLsGJdAqAAAB","timestamp":"2025-10-03T08:24:03.540Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NS0KnpHDehifsyrPAAAD","timestamp":"2025-10-03T08:24:04.327Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: FXsg__qOxQNBHjcbAAAF","timestamp":"2025-10-03T08:24:05.344Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: X_kok3xj97CJlVliAAAH","timestamp":"2025-10-03T08:24:05.666Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: w529wBE-UEDihq_FAAAJ","timestamp":"2025-10-03T08:24:06.323Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:24:06.328Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2JI0E8ASThmAeol8AAAL","timestamp":"2025-10-03T08:24:06.552Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: T7clMGlcM-coEJvZAAAN","timestamp":"2025-10-03T08:24:06.603Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:06.604Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:06.605Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:06.606Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:06.606Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -K43jGowFi82d9_wAAAP","timestamp":"2025-10-03T08:24:07.415Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UVacMj-HWO9xJzT0AAAR","timestamp":"2025-10-03T08:24:07.503Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:07.505Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 93KIQmPNFdmePpDwAAAT","timestamp":"2025-10-03T08:24:16.394Z","userAgent":""} {"level":"info","message":"Operator registered: 640e1a6b-2830-41db-a023-fb279d761981","timestamp":"2025-10-03T08:24:16.396Z"} {"level":"info","message":"Client disconnected: 93KIQmPNFdmePpDwAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T08:24:18.279Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:24:26.360Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UD9LoVFl8PYcrHlQAAAB","timestamp":"2025-10-03T08:24:26.516Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Ke3Uy-EZaugt6h7XAAAD","timestamp":"2025-10-03T08:24:27.356Z","userAgent":""} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 7zzqi3r9LviTWfvmAAAF","timestamp":"2025-10-03T08:24:28.050Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 7zzqi3r9LviTWfvmAAAF","timestamp":"2025-10-03T08:24:28.051Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: lgxWcyKP24v_HVh1AAAH","timestamp":"2025-10-03T08:24:28.556Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2qvOR0ODHDmT1hxxAAAJ","timestamp":"2025-10-03T08:24:28.877Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:28.878Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:28.879Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:28.880Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:28.880Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: W6uCOIGcV_M3TCc_AAAL","timestamp":"2025-10-03T08:24:29.512Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:29.512Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759479869232,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:24:30.036Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759479869232,"sdkVersion":28,"timestamp":"2025-10-03T08:24:30.037Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: V3GoWmJeC_BDWDIiAAAN","timestamp":"2025-10-03T08:24:30.446Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2ZZisNpZAAZjmSTzAAAP","timestamp":"2025-10-03T08:24:30.678Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:24:30.681Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0nDsOP588HfbS_DXAAAR","timestamp":"2025-10-03T08:24:30.791Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: MEip_XcLe5ZatYl-AAAT","timestamp":"2025-10-03T08:24:30.987Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: GrSBBcUBP-jQCZf2AAAV","timestamp":"2025-10-03T08:24:34.049Z","userAgent":""} {"level":"info","message":"Operator registered: 640e1a6b-2830-41db-a023-fb279d761981","timestamp":"2025-10-03T08:24:34.051Z"} {"level":"info","message":"📷 Camera request received from operator socket GrSBBcUBP-jQCZf2AAAV","timestamp":"2025-10-03T08:24:37.191Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:24:37.192Z"} {"level":"info","message":"✅ Operator found: 640e1a6b-2830-41db-a023-fb279d761981","timestamp":"2025-10-03T08:24:37.192Z"} {"level":"info","message":"🔗 Initiating connection: 640e1a6b-2830-41db-a023-fb279d761981 -> android_bcac6e0d (back)","timestamp":"2025-10-03T08:24:37.192Z"} {"level":"info","message":"✅ Connection request created: c4771cf1-5046-4ea6-b0d4-471efb4ad6e2","timestamp":"2025-10-03T08:24:37.193Z"} {"level":"info","message":"✅ Connection initiated: c4771cf1-5046-4ea6-b0d4-471efb4ad6e2","timestamp":"2025-10-03T08:24:37.193Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T08:24:43.485Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:24:45.810Z"} {"level":"info","message":"Client disconnected: 7zzqi3r9LviTWfvmAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T08:24:46.002Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Iu_DCVeLQxgpPVn9AAAB","timestamp":"2025-10-03T08:24:46.607Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: sr2c0fcrHy-2Vi8xAAAE","timestamp":"2025-10-03T08:24:46.611Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: n7OzNu_-06NTZ-baAAAF","timestamp":"2025-10-03T08:24:46.613Z","userAgent":""} {"level":"info","message":"Operator registered: 640e1a6b-2830-41db-a023-fb279d761981","timestamp":"2025-10-03T08:24:46.615Z"} {"level":"info","message":"Operator registered: 640e1a6b-2830-41db-a023-fb279d761981","timestamp":"2025-10-03T08:24:46.616Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QNq1C-vKfSq7Vj1QAAAH","timestamp":"2025-10-03T08:24:46.619Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: qD8wGuugOsTeQmQ8AAAJ","timestamp":"2025-10-03T08:24:46.887Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3_wzqyC_83oC2AQRAAAL","timestamp":"2025-10-03T08:24:46.892Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: EapFrkbpzfA2vMzXAAAN","timestamp":"2025-10-03T08:24:47.015Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TMUnOn6QKdC47do9AAAP","timestamp":"2025-10-03T08:24:47.070Z","userAgent":""} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:47.071Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:47.072Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:47.072Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:47.073Z"} {"level":"info","message":"Operator registered: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:24:47.073Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QsInErKo3MCP6GY_AAAR","timestamp":"2025-10-03T08:24:47.183Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:24:47.187Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: RJz9MfgAFuyyuOdpAAAT","timestamp":"2025-10-03T08:24:47.269Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 2vZYV1v8yMkCfI52AAAV","timestamp":"2025-10-03T08:24:48.039Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 2vZYV1v8yMkCfI52AAAV","timestamp":"2025-10-03T08:24:48.039Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759479889225,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:24:50.029Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759479889225,"sdkVersion":28,"timestamp":"2025-10-03T08:24:50.030Z"} {"level":"info","message":"Client disconnected: 2vZYV1v8yMkCfI52AAAV, reason: client namespace disconnect","timestamp":"2025-10-03T08:24:50.836Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:24:50.837Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:24:50.837Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0CEZSsI29XHzVtkXAAAX","timestamp":"2025-10-03T08:24:57.404Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TQWwwmzyGMSI-wD4AAAZ","timestamp":"2025-10-03T08:25:08.604Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T08:25:08.609Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: HimLmnPunI6CMjJyAAAb","timestamp":"2025-10-03T08:25:11.076Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:25:11.081Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: be59308e-41d0-43c8-a528-bd63f4125021","operatorId":"demo-operator-001","timestamp":"2025-10-03T08:25:16.039Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=be59308e-41d0-43c8-a528-bd63f4125021, accepted=true","timestamp":"2025-10-03T08:25:18.654Z"} {"level":"error","message":"❌ Connection request not found: be59308e-41d0-43c8-a528-bd63f4125021","timestamp":"2025-10-03T08:25:18.655Z"} {"level":"info","message":"✅ Connection accepted: undefined","timestamp":"2025-10-03T08:25:18.655Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:25:23.610Z"} {"level":"info","message":"Client disconnected: n7OzNu_-06NTZ-baAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T08:25:29.590Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 640e1a6b-2830-41db-a023-fb279d761981","timestamp":"2025-10-03T08:25:29.590Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 640e1a6b-2830-41db-a023-fb279d761981","timestamp":"2025-10-03T08:25:29.591Z"} {"level":"info","message":"Client disconnected: HimLmnPunI6CMjJyAAAb, reason: transport close","timestamp":"2025-10-03T08:25:35.815Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-03T08:25:35.815Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-03T08:25:35.815Z"} {"level":"info","message":"Client disconnected: TQWwwmzyGMSI-wD4AAAZ, reason: transport close","timestamp":"2025-10-03T08:25:35.816Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-03T08:25:35.816Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-03T08:25:35.816Z"} {"level":"info","message":"Client disconnected: 0CEZSsI29XHzVtkXAAAX, reason: transport close","timestamp":"2025-10-03T08:25:35.817Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:26:33.318Z"} {"level":"info","message":"Client disconnected: Iu_DCVeLQxgpPVn9AAAB, reason: transport close","timestamp":"2025-10-03T08:26:35.455Z"} {"level":"info","message":"Client disconnected: TMUnOn6QKdC47do9AAAP, reason: transport close","timestamp":"2025-10-03T08:26:47.303Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:26:47.303Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator c61acaf8-d5a1-4452-a245-06a155b2adae","timestamp":"2025-10-03T08:26:47.303Z"} {"level":"info","message":"Client disconnected: sr2c0fcrHy-2Vi8xAAAE, reason: transport close","timestamp":"2025-10-03T08:26:47.304Z"} {"level":"info","message":"Client disconnected: QNq1C-vKfSq7Vj1QAAAH, reason: transport close","timestamp":"2025-10-03T08:26:47.304Z"} {"level":"info","message":"Client disconnected: qD8wGuugOsTeQmQ8AAAJ, reason: transport close","timestamp":"2025-10-03T08:26:47.305Z"} {"level":"info","message":"Client disconnected: 3_wzqyC_83oC2AQRAAAL, reason: transport close","timestamp":"2025-10-03T08:26:47.305Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:27:09.597Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:27:10.497Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:33:40.296Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: cgSMYXB1wJgX9iLDAAAB","timestamp":"2025-10-03T08:33:40.741Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: AZg3H0fMq7kx6WbeAAAD","timestamp":"2025-10-03T08:33:40.840Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:33:40.845Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _fXnU3C1t_QA0u1DAAAF","timestamp":"2025-10-03T08:33:43.665Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:33:43.668Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: PjiiRLprjGD3AeJVAAAH","timestamp":"2025-10-03T08:33:44.786Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 2e0R2tXglCQ50qisAAAJ","timestamp":"2025-10-03T08:33:46.551Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 2e0R2tXglCQ50qisAAAJ","timestamp":"2025-10-03T08:33:46.551Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759480427681,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:33:48.487Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759480427681,"sdkVersion":28,"timestamp":"2025-10-03T08:33:48.488Z"} {"level":"info","message":"Client disconnected: _fXnU3C1t_QA0u1DAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T08:33:57.873Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:33:57.874Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:33:57.874Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: tPLqbJjTo4tH_6-3AAAL","timestamp":"2025-10-03T08:33:58.413Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:33:58.414Z"} {"level":"info","message":"Client disconnected: 2e0R2tXglCQ50qisAAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T08:34:12.398Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:34:12.399Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:34:12.399Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Z0XDYE7uaqAMQTeZAAAN","timestamp":"2025-10-03T08:34:14.754Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Z0XDYE7uaqAMQTeZAAAN","timestamp":"2025-10-03T08:34:14.754Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759480455698,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:34:16.517Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759480455698,"sdkVersion":28,"timestamp":"2025-10-03T08:34:16.517Z"} {"level":"info","message":"Client disconnected: tPLqbJjTo4tH_6-3AAAL, reason: client namespace disconnect","timestamp":"2025-10-03T08:34:29.705Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:34:29.705Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:34:29.706Z"} {"level":"info","message":"Client disconnected: Z0XDYE7uaqAMQTeZAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T08:34:30.481Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:34:30.481Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:34:30.481Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: JbVh5jSiCWM4Dzc9AAAP","timestamp":"2025-10-03T08:34:31.744Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: JbVh5jSiCWM4Dzc9AAAP","timestamp":"2025-10-03T08:34:31.744Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759480472926,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:34:33.746Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759480472926,"sdkVersion":28,"timestamp":"2025-10-03T08:34:33.746Z"} {"level":"info","message":"Client disconnected: AZg3H0fMq7kx6WbeAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T08:34:38.171Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-03T08:34:38.172Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-03T08:34:38.172Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Jlbn0MyNuNxuiRdNAAAR","timestamp":"2025-10-03T08:34:39.317Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:34:39.320Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"Camera request created: fb9d9af6-5456-4dba-b68d-c2a43ccbeab1","operatorId":"demo-operator-001","timestamp":"2025-10-03T08:34:41.682Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:35:00.905Z"} {"level":"info","message":"Client disconnected: JbVh5jSiCWM4Dzc9AAAP, reason: client namespace disconnect","timestamp":"2025-10-03T08:35:29.175Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:35:29.175Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:35:29.175Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:36:52.747Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:36:53.803Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:38:22.386Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Fd0aUNASE5SszdTIAAAB","timestamp":"2025-10-03T08:38:23.303Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 4CramBE1Z66WzoAMAAAD","timestamp":"2025-10-03T08:38:23.399Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:38:23.401Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: EQbIv3a_0WroVBdSAAAF","timestamp":"2025-10-03T08:38:24.201Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:38:24.203Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: blmXlUalJPaEJu0ZAAAH","timestamp":"2025-10-03T08:38:24.440Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: blmXlUalJPaEJu0ZAAAH","timestamp":"2025-10-03T08:38:24.440Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: B7deFQjrr1M03XOiAAAJ","timestamp":"2025-10-03T08:38:25.248Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-03T08:38:25.251Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759480705626,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:38:26.438Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759480705626,"sdkVersion":28,"timestamp":"2025-10-03T08:38:26.439Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: cin-t1jDJqhEW394AAAL","timestamp":"2025-10-03T08:38:26.666Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: 4CramBE1Z66WzoAMAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T08:38:29.700Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:38:29.700Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:38:29.700Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: mCqw24Lk9Drso86NAAAN","timestamp":"2025-10-03T08:38:30.350Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:38:30.351Z"} {"level":"info","message":"📷 Camera request received from operator socket mCqw24Lk9Drso86NAAAN","timestamp":"2025-10-03T08:38:31.677Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:38:31.677Z"} {"level":"info","message":"✅ Operator found: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:38:31.678Z"} {"level":"info","message":"🔗 Initiating connection: 39e47803-8baa-496d-87e4-64cac9076a72 -> android_bcac6e0d (back)","timestamp":"2025-10-03T08:38:31.678Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T08:38:31.678Z"} {"level":"info","message":"✅ Connection request created: b7ff8bd0-8af4-46b5-8808-5de4bf90f7e2","timestamp":"2025-10-03T08:38:31.679Z"} {"level":"info","message":"✅ Connection initiated: b7ff8bd0-8af4-46b5-8808-5de4bf90f7e2","timestamp":"2025-10-03T08:38:31.679Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:38:46.388Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T08:38:50.552Z"} {"level":"warn","message":"⏰ Connection timeout: b7ff8bd0-8af4-46b5-8808-5de4bf90f7e2","timestamp":"2025-10-03T08:39:01.678Z"} {"level":"info","message":"❌ Connection rejected: b7ff8bd0-8af4-46b5-8808-5de4bf90f7e2 - Connection timeout","timestamp":"2025-10-03T08:39:01.679Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:39:43.130Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: f7d-WHVZ9W0LXGVHAAAB","timestamp":"2025-10-03T08:39:53.347Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:40:08.674Z"} {"level":"info","message":"Client disconnected: mCqw24Lk9Drso86NAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T08:40:11.940Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:40:11.940Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:40:11.941Z"} {"level":"info","message":"Client disconnected: blmXlUalJPaEJu0ZAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T08:40:13.926Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:40:13.927Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:40:13.927Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:50:23.774Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:50:48.268Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Y5XW1TnQCQgFUVVNAAAB","timestamp":"2025-10-03T08:50:48.366Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: KPXs2bW_DEUn2dhVAAAD","timestamp":"2025-10-03T08:50:50.673Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KPXs2bW_DEUn2dhVAAAD","timestamp":"2025-10-03T08:50:50.675Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: i10s5BpMtAG6h9W_AAAF","timestamp":"2025-10-03T08:50:51.960Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:50:51.963Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759481451853,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:50:52.679Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759481451853,"sdkVersion":28,"timestamp":"2025-10-03T08:50:52.680Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gwPrFwOi_T2IMEEWAAAH","timestamp":"2025-10-03T08:50:52.806Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:50:52.807Z"} {"level":"info","message":"📷 Camera request received from operator socket i10s5BpMtAG6h9W_AAAF","timestamp":"2025-10-03T08:50:55.488Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:50:55.488Z"} {"level":"info","message":"✅ Operator found: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:50:55.489Z"} {"level":"info","message":"🔗 Initiating connection: 39e47803-8baa-496d-87e4-64cac9076a72 -> android_bcac6e0d (back)","timestamp":"2025-10-03T08:50:55.489Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T08:50:55.490Z"} {"level":"info","message":"✅ Connection request created: 84266db3-f1d3-4028-b56a-5b04b06aeb2b","timestamp":"2025-10-03T08:50:55.490Z"} {"level":"info","message":"✅ Connection initiated: 84266db3-f1d3-4028-b56a-5b04b06aeb2b","timestamp":"2025-10-03T08:50:55.491Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:51:12.756Z"} {"level":"info","message":"Client disconnected: KPXs2bW_DEUn2dhVAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T08:51:23.358Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:51:23.359Z"} {"level":"error","message":"❌ Active connection not found: 84266db3-f1d3-4028-b56a-5b04b06aeb2b","timestamp":"2025-10-03T08:51:23.359Z"} {"level":"error","message":"Error terminating connection 84266db3-f1d3-4028-b56a-5b04b06aeb2b: Active connection not found","stack":"Error: Active connection not found\n at ConnectionManager.terminateConnection (/home/data/god_eye/backend/src/managers/ConnectionManager.js:167:13)\n at ConnectionManager.cleanupDeviceConnections (/home/data/god_eye/backend/src/managers/ConnectionManager.js:344:20)\n at Socket. (/home/data/god_eye/backend/src/server.js:623:31)\n at Socket.emit (node:events:517:28)\n at Socket.emitReserved (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:56:22)\n at Socket._onclose (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:554:14)\n at Socket.ondisconnect (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:513:14)\n at Socket._onpacket (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:442:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/client.js:214:24\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-03T08:51:23.360Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:51:23.360Z"} {"level":"warn","message":"⏰ Connection timeout: 84266db3-f1d3-4028-b56a-5b04b06aeb2b","timestamp":"2025-10-03T08:51:25.492Z"} {"level":"info","message":"❌ Connection rejected: 84266db3-f1d3-4028-b56a-5b04b06aeb2b - Connection timeout","timestamp":"2025-10-03T08:51:25.493Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:52:52.114Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: YY3F4ZIGWOKOyIrUAAAB","timestamp":"2025-10-03T08:52:52.933Z","userAgent":""} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: f2EjsBBJx0ka5S9aAAAD","timestamp":"2025-10-03T08:52:55.835Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: f2EjsBBJx0ka5S9aAAAD","timestamp":"2025-10-03T08:52:55.836Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: G-RFX9tCjZGId4r7AAAF","timestamp":"2025-10-03T08:52:56.165Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: bxLd0Y3iaJRhQrovAAAH","timestamp":"2025-10-03T08:52:56.260Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:52:56.261Z"} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:52:56.262Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759481576414,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:52:57.231Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759481576414,"sdkVersion":28,"timestamp":"2025-10-03T08:52:57.233Z"} {"level":"info","message":"Client disconnected: bxLd0Y3iaJRhQrovAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T08:52:59.591Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:52:59.592Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:52:59.592Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: iVcrk_K-ViiL4kUkAAAJ","timestamp":"2025-10-03T08:53:00.477Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:53:00.478Z"} {"level":"info","message":"📷 Camera request received from operator socket iVcrk_K-ViiL4kUkAAAJ","timestamp":"2025-10-03T08:53:03.265Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:53:03.266Z"} {"level":"info","message":"✅ Operator found: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:53:03.266Z"} {"level":"info","message":"🔗 Initiating connection: 39e47803-8baa-496d-87e4-64cac9076a72 -> android_bcac6e0d (back)","timestamp":"2025-10-03T08:53:03.267Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T08:53:03.268Z"} {"level":"info","message":"✅ Connection request created: 4d32f490-36ad-4045-bdf6-64c586332405","timestamp":"2025-10-03T08:53:03.268Z"} {"level":"info","message":"✅ Connection initiated: 4d32f490-36ad-4045-bdf6-64c586332405","timestamp":"2025-10-03T08:53:03.268Z"} {"level":"warn","message":"⏰ Connection timeout: 4d32f490-36ad-4045-bdf6-64c586332405","timestamp":"2025-10-03T08:53:33.270Z"} {"level":"info","message":"❌ Connection rejected: 4d32f490-36ad-4045-bdf6-64c586332405 - Connection timeout","timestamp":"2025-10-03T08:53:33.270Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:53:44.394Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:54:51.486Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 4RrZao0TPbpQVNxOAAAB","timestamp":"2025-10-03T08:54:53.132Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: dmrDP7i3TpxYrw9AAAAD","timestamp":"2025-10-03T08:54:53.640Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:54:53.643Z"} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:54:53.645Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: kVyaz8Ii9H4rT9spAAAF","timestamp":"2025-10-03T08:54:54.984Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:54:58.641Z"} {"level":"info","message":"Client disconnected: dmrDP7i3TpxYrw9AAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T08:55:07.666Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:55:07.667Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:55:07.667Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:37.198Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:39.022Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:39.784Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:40.150Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:40.342Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:40.535Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:40.734Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:40.950Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:41.142Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:41.336Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:41.551Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:49.912Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T08:55:50.759Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T08:55:56.373Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3sxMQ-wMkLPC6FNkAAAB","timestamp":"2025-10-03T08:55:57.357Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gpCb7dILIXmMqyMoAAAD","timestamp":"2025-10-03T08:55:58.027Z","userAgent":""} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: SVCVlGWmwMhvCxQsAAAF","timestamp":"2025-10-03T08:55:59.757Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: SVCVlGWmwMhvCxQsAAAF","timestamp":"2025-10-03T08:55:59.758Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: PnYY-Niys3hzLzN9AAAH","timestamp":"2025-10-03T08:56:00.241Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: i192-JKNV0DXasz_AAAJ","timestamp":"2025-10-03T08:56:00.245Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:56:00.247Z"} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:56:00.249Z"} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:56:00.249Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759481760944,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:56:01.764Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759481760944,"sdkVersion":28,"timestamp":"2025-10-03T08:56:01.765Z"} {"level":"info","message":"Client disconnected: i192-JKNV0DXasz_AAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T08:56:03.207Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:56:03.208Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:56:03.208Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Ug5UAgNc8R3IGUm4AAAL","timestamp":"2025-10-03T08:56:03.706Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:56:03.708Z"} {"level":"info","message":"📷 Camera request received from operator socket Ug5UAgNc8R3IGUm4AAAL","timestamp":"2025-10-03T08:56:09.048Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:56:09.048Z"} {"level":"info","message":"✅ Operator found: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:56:09.048Z"} {"level":"info","message":"🔗 Initiating connection: 39e47803-8baa-496d-87e4-64cac9076a72 -> android_bcac6e0d (back)","timestamp":"2025-10-03T08:56:09.049Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T08:56:09.049Z"} {"level":"info","message":"✅ Connection request created: 72bb969d-8cb9-4362-839b-76e2edda8b09","timestamp":"2025-10-03T08:56:09.050Z"} {"level":"info","message":"✅ Connection initiated: 72bb969d-8cb9-4362-839b-76e2edda8b09","timestamp":"2025-10-03T08:56:09.050Z"} {"level":"info","message":"Client disconnected: 3sxMQ-wMkLPC6FNkAAAB, reason: transport close","timestamp":"2025-10-03T08:56:22.341Z"} {"level":"warn","message":"⏰ Connection timeout: 72bb969d-8cb9-4362-839b-76e2edda8b09","timestamp":"2025-10-03T08:56:39.052Z"} {"level":"info","message":"❌ Connection rejected: 72bb969d-8cb9-4362-839b-76e2edda8b09 - Connection timeout","timestamp":"2025-10-03T08:56:39.052Z"} {"address":"192.168.219.107","isAndroid":false,"isMobileWeb":true,"level":"info","message":"New connection: 7R3hZjleFjwfVZnwAAAN","timestamp":"2025-10-03T08:57:40.423Z","userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36"} {"level":"info","message":"📱 Mobile web client connected: 7R3hZjleFjwfVZnwAAAN","timestamp":"2025-10-03T08:57:40.423Z"} {"level":"info","message":"Client disconnected: SVCVlGWmwMhvCxQsAAAF, reason: transport close","timestamp":"2025-10-03T08:57:56.575Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:57:56.575Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:57:56.575Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 70RJcVN27JnrxiKgAAAP","timestamp":"2025-10-03T08:58:27.183Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 70RJcVN27JnrxiKgAAAP","timestamp":"2025-10-03T08:58:27.183Z"} {"level":"info","message":"Client disconnected: Ug5UAgNc8R3IGUm4AAAL, reason: client namespace disconnect","timestamp":"2025-10-03T08:58:27.894Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:58:27.894Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:58:27.895Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759481908197,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:58:29.035Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759481908197,"sdkVersion":28,"timestamp":"2025-10-03T08:58:29.036Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 00D1R_YToEuRuKgRAAAR","timestamp":"2025-10-03T08:58:29.587Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:58:29.588Z"} {"level":"info","message":"📷 Camera request received from operator socket 00D1R_YToEuRuKgRAAAR","timestamp":"2025-10-03T08:58:31.279Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:58:31.279Z"} {"level":"info","message":"✅ Operator found: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:58:31.279Z"} {"level":"info","message":"🔗 Initiating connection: 39e47803-8baa-496d-87e4-64cac9076a72 -> android_bcac6e0d (back)","timestamp":"2025-10-03T08:58:31.279Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T08:58:31.279Z"} {"level":"info","message":"✅ Connection request created: e4516adf-b61d-4fc5-85f4-8dcd0f9c5732","timestamp":"2025-10-03T08:58:31.280Z"} {"level":"info","message":"✅ Connection initiated: e4516adf-b61d-4fc5-85f4-8dcd0f9c5732","timestamp":"2025-10-03T08:58:31.280Z"} {"level":"warn","message":"⏰ Connection timeout: e4516adf-b61d-4fc5-85f4-8dcd0f9c5732","timestamp":"2025-10-03T08:59:01.280Z"} {"level":"info","message":"❌ Connection rejected: e4516adf-b61d-4fc5-85f4-8dcd0f9c5732 - Connection timeout","timestamp":"2025-10-03T08:59:01.280Z"} {"level":"info","message":"Client disconnected: 70RJcVN27JnrxiKgAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T08:59:05.631Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T08:59:05.631Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T08:59:05.631Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 2pFs-t6hRokrVMd0AAAT","timestamp":"2025-10-03T08:59:09.893Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 2pFs-t6hRokrVMd0AAAT","timestamp":"2025-10-03T08:59:09.893Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759481951068,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T08:59:11.892Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759481951068,"sdkVersion":28,"timestamp":"2025-10-03T08:59:11.892Z"} {"level":"info","message":"Client disconnected: 7R3hZjleFjwfVZnwAAAN, reason: ping timeout","timestamp":"2025-10-03T08:59:15.442Z"} {"level":"info","message":"Client disconnected: 00D1R_YToEuRuKgRAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T08:59:40.254Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:59:40.255Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:59:40.255Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 7gMc0NlV5b7SXl-xAAAV","timestamp":"2025-10-03T08:59:40.715Z","userAgent":""} {"level":"info","message":"Operator registered: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:59:40.716Z"} {"level":"info","message":"📷 Camera request received from operator socket 7gMc0NlV5b7SXl-xAAAV","timestamp":"2025-10-03T08:59:41.943Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T08:59:41.943Z"} {"level":"info","message":"✅ Operator found: 39e47803-8baa-496d-87e4-64cac9076a72","timestamp":"2025-10-03T08:59:41.943Z"} {"level":"info","message":"🔗 Initiating connection: 39e47803-8baa-496d-87e4-64cac9076a72 -> android_bcac6e0d (back)","timestamp":"2025-10-03T08:59:41.943Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T08:59:41.943Z"} {"level":"info","message":"✅ Connection request created: c6326dc2-d0a7-48e1-bdb5-d431fcf259a6","timestamp":"2025-10-03T08:59:41.944Z"} {"level":"info","message":"✅ Connection initiated: c6326dc2-d0a7-48e1-bdb5-d431fcf259a6","timestamp":"2025-10-03T08:59:41.944Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:00:06.479Z"} {"level":"warn","message":"⏰ Connection timeout: c6326dc2-d0a7-48e1-bdb5-d431fcf259a6","timestamp":"2025-10-03T09:00:11.944Z"} {"level":"info","message":"❌ Connection rejected: c6326dc2-d0a7-48e1-bdb5-d431fcf259a6 - Connection timeout","timestamp":"2025-10-03T09:00:11.944Z"} {"level":"info","message":"Client disconnected: 2pFs-t6hRokrVMd0AAAT, reason: client namespace disconnect","timestamp":"2025-10-03T09:01:14.103Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T09:01:14.104Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T09:01:14.104Z"} {"level":"info","message":"Client disconnected: EQbIv3a_0WroVBdSAAAF, reason: transport close","timestamp":"2025-10-03T09:02:08.629Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T09:02:17.008Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: OLfe7ygtik1e7BWxAAAB","timestamp":"2025-10-03T09:02:19.011Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: OLfe7ygtik1e7BWxAAAB","timestamp":"2025-10-03T09:02:19.012Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759482139998,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:02:20.834Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759482139998,"sdkVersion":28,"timestamp":"2025-10-03T09:02:20.836Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: YEshw69CeSjC4xeaAAAD","timestamp":"2025-10-03T09:02:29.935Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:02:29.941Z"} {"level":"info","message":"📷 Camera request received from operator socket YEshw69CeSjC4xeaAAAD","timestamp":"2025-10-03T09:02:33.416Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:02:33.416Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:02:33.417Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:02:33.417Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:02:33.418Z"} {"level":"info","message":"✅ Connection request created: 0b00422d-0aa7-44ef-ac72-44b2edd6aa96","timestamp":"2025-10-03T09:02:33.419Z"} {"level":"info","message":"✅ Connection initiated: 0b00422d-0aa7-44ef-ac72-44b2edd6aa96","timestamp":"2025-10-03T09:02:33.419Z"} {"level":"info","message":"Client disconnected: OLfe7ygtik1e7BWxAAAB, reason: transport close","timestamp":"2025-10-03T09:02:39.230Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T09:02:39.232Z"} {"level":"error","message":"❌ Active connection not found: 0b00422d-0aa7-44ef-ac72-44b2edd6aa96","timestamp":"2025-10-03T09:02:39.233Z"} {"level":"error","message":"Error terminating connection 0b00422d-0aa7-44ef-ac72-44b2edd6aa96: Active connection not found","stack":"Error: Active connection not found\n at ConnectionManager.terminateConnection (/home/data/god_eye/backend/src/managers/ConnectionManager.js:167:13)\n at ConnectionManager.cleanupDeviceConnections (/home/data/god_eye/backend/src/managers/ConnectionManager.js:344:20)\n at Socket. (/home/data/god_eye/backend/src/server.js:623:31)\n at Socket.emit (node:events:517:28)\n at Socket.emitReserved (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:56:22)\n at Socket._onclose (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:554:14)\n at Client.onclose (/home/data/god_eye/backend/node_modules/socket.io/dist/client.js:247:20)\n at Socket.emit (node:events:529:35)\n at Socket.onClose (/home/data/god_eye/backend/node_modules/engine.io/build/socket.js:320:18)\n at Object.onceWrapper (node:events:631:28)","timestamp":"2025-10-03T09:02:39.234Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-03T09:02:39.234Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: v56x-j0Li_qu_QWrAAAF","timestamp":"2025-10-03T09:03:01.952Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: v56x-j0Li_qu_QWrAAAF","timestamp":"2025-10-03T09:03:01.952Z"} {"level":"warn","message":"⏰ Connection timeout: 0b00422d-0aa7-44ef-ac72-44b2edd6aa96","timestamp":"2025-10-03T09:03:03.420Z"} {"level":"info","message":"❌ Connection rejected: 0b00422d-0aa7-44ef-ac72-44b2edd6aa96 - Connection timeout","timestamp":"2025-10-03T09:03:03.420Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759482182822,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:03:03.654Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759482182822,"sdkVersion":28,"timestamp":"2025-10-03T09:03:03.654Z"} {"level":"info","message":"Client disconnected: v56x-j0Li_qu_QWrAAAF, reason: transport close","timestamp":"2025-10-03T09:03:07.415Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T09:03:07.416Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T09:03:07.416Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: oYfTyhw9F7-6KOBoAAAH","timestamp":"2025-10-03T09:03:28.446Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: oYfTyhw9F7-6KOBoAAAH","timestamp":"2025-10-03T09:03:28.447Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759482209546,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:03:30.376Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759482209546,"sdkVersion":28,"timestamp":"2025-10-03T09:03:30.377Z"} {"level":"info","message":"Client disconnected: YEshw69CeSjC4xeaAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T09:03:31.279Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:03:31.279Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:03:31.280Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wkq3Fv88to_FnCvLAAAJ","timestamp":"2025-10-03T09:03:31.892Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:03:31.896Z"} {"level":"info","message":"📷 Camera request received from operator socket wkq3Fv88to_FnCvLAAAJ","timestamp":"2025-10-03T09:03:33.587Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:03:33.589Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:03:33.589Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:03:33.589Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:03:33.589Z"} {"level":"info","message":"✅ Connection request created: 5f945a08-331f-4847-b627-f053b78f0ec6","timestamp":"2025-10-03T09:03:33.589Z"} {"level":"info","message":"✅ Connection initiated: 5f945a08-331f-4847-b627-f053b78f0ec6","timestamp":"2025-10-03T09:03:33.589Z"} {"level":"info","message":"📷 Camera request received from operator socket wkq3Fv88to_FnCvLAAAJ","timestamp":"2025-10-03T09:03:36.719Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:03:36.719Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:03:36.719Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:03:36.719Z"} {"level":"error","message":"❌ Connection validation failed: Device not connected","timestamp":"2025-10-03T09:03:36.720Z"} {"level":"error","message":"❌ Failed to initiate connection: Device not connected","timestamp":"2025-10-03T09:03:36.720Z"} {"level":"info","message":"Client disconnected: oYfTyhw9F7-6KOBoAAAH, reason: transport close","timestamp":"2025-10-03T09:03:54.229Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T09:03:54.229Z"} {"level":"error","message":"❌ Active connection not found: 5f945a08-331f-4847-b627-f053b78f0ec6","timestamp":"2025-10-03T09:03:54.229Z"} {"level":"error","message":"Error terminating connection 5f945a08-331f-4847-b627-f053b78f0ec6: Active connection not found","stack":"Error: Active connection not found\n at ConnectionManager.terminateConnection (/home/data/god_eye/backend/src/managers/ConnectionManager.js:167:13)\n at ConnectionManager.cleanupDeviceConnections (/home/data/god_eye/backend/src/managers/ConnectionManager.js:344:20)\n at Socket. (/home/data/god_eye/backend/src/server.js:623:31)\n at Socket.emit (node:events:517:28)\n at Socket.emitReserved (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:56:22)\n at Socket._onclose (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:554:14)\n at Client.onclose (/home/data/god_eye/backend/node_modules/socket.io/dist/client.js:247:20)\n at Socket.emit (node:events:529:35)\n at Socket.onClose (/home/data/god_eye/backend/node_modules/engine.io/build/socket.js:320:18)\n at Object.onceWrapper (node:events:631:28)","timestamp":"2025-10-03T09:03:54.229Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-03T09:03:54.230Z"} {"level":"warn","message":"⏰ Connection timeout: 5f945a08-331f-4847-b627-f053b78f0ec6","timestamp":"2025-10-03T09:04:03.591Z"} {"level":"info","message":"❌ Connection rejected: 5f945a08-331f-4847-b627-f053b78f0ec6 - Connection timeout","timestamp":"2025-10-03T09:04:03.591Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: AYMlRKG2ZXd7IngYAAAL","timestamp":"2025-10-03T09:04:19.861Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: AYMlRKG2ZXd7IngYAAAL","timestamp":"2025-10-03T09:04:19.861Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759482260881,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:04:21.715Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759482260881,"sdkVersion":28,"timestamp":"2025-10-03T09:04:21.716Z"} {"level":"info","message":"Client disconnected: wkq3Fv88to_FnCvLAAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T09:04:30.001Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:04:30.001Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:04:30.004Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ZWBjCRwjD5V1xtZ_AAAN","timestamp":"2025-10-03T09:04:30.885Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:04:30.888Z"} {"level":"info","message":"📷 Camera request received from operator socket ZWBjCRwjD5V1xtZ_AAAN","timestamp":"2025-10-03T09:04:33.199Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:04:33.199Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:04:33.199Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:04:33.199Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:04:33.200Z"} {"level":"info","message":"✅ Connection request created: e88bb698-66b8-4ca4-8c5a-a8ef696db8f5","timestamp":"2025-10-03T09:04:33.200Z"} {"level":"info","message":"✅ Connection initiated: e88bb698-66b8-4ca4-8c5a-a8ef696db8f5","timestamp":"2025-10-03T09:04:33.200Z"} {"level":"warn","message":"⏰ Connection timeout: e88bb698-66b8-4ca4-8c5a-a8ef696db8f5","timestamp":"2025-10-03T09:05:03.201Z"} {"level":"info","message":"❌ Connection rejected: e88bb698-66b8-4ca4-8c5a-a8ef696db8f5 - Connection timeout","timestamp":"2025-10-03T09:05:03.201Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ujiBvCbK_yFNG_T1AAAP","timestamp":"2025-10-03T09:09:01.631Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: ujiBvCbK_yFNG_T1AAAP","timestamp":"2025-10-03T09:09:01.631Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759482542777,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:09:03.590Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759482542777,"sdkVersion":28,"timestamp":"2025-10-03T09:09:03.591Z"} {"level":"info","message":"Client disconnected: ZWBjCRwjD5V1xtZ_AAAN, reason: client namespace disconnect","timestamp":"2025-10-03T09:09:15.976Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:09:15.976Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:09:15.976Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wZ5oo_bm8D1O0vPQAAAR","timestamp":"2025-10-03T09:09:17.003Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:09:17.004Z"} {"level":"info","message":"📷 Camera request received from operator socket wZ5oo_bm8D1O0vPQAAAR","timestamp":"2025-10-03T09:09:20.743Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:09:20.743Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:09:20.744Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:09:20.744Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:09:20.748Z"} {"level":"info","message":"✅ Connection request created: beba2532-0d92-43c0-9da3-48710ec068f4","timestamp":"2025-10-03T09:09:20.748Z"} {"level":"info","message":"✅ Connection initiated: beba2532-0d92-43c0-9da3-48710ec068f4","timestamp":"2025-10-03T09:09:20.748Z"} {"level":"warn","message":"⏰ Connection timeout: beba2532-0d92-43c0-9da3-48710ec068f4","timestamp":"2025-10-03T09:09:50.748Z"} {"level":"info","message":"❌ Connection rejected: beba2532-0d92-43c0-9da3-48710ec068f4 - Connection timeout","timestamp":"2025-10-03T09:09:50.748Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:16:50.250Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T09:17:02.505Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0eOy4iAR7Kr1v2oSAAAB","timestamp":"2025-10-03T09:17:06.089Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 0eOy4iAR7Kr1v2oSAAAB","timestamp":"2025-10-03T09:17:06.089Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: pcBTx7c0ATWf5kLVAAAD","timestamp":"2025-10-03T09:17:06.511Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:17:06.512Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: w7msKudYuDfJAAHIAAAF","timestamp":"2025-10-03T09:17:07.576Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: w7msKudYuDfJAAHIAAAF","timestamp":"2025-10-03T09:17:07.576Z"} {"level":"info","message":"Client disconnected: B7deFQjrr1M03XOiAAAJ, reason: transport close","timestamp":"2025-10-03T09:17:21.802Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-03T09:17:21.802Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-03T09:17:21.802Z"} {"level":"info","message":"Client disconnected: Fd0aUNASE5SszdTIAAAB, reason: transport close","timestamp":"2025-10-03T09:17:21.803Z"} {"level":"info","message":"Client disconnected: 0eOy4iAR7Kr1v2oSAAAB, reason: transport close","timestamp":"2025-10-03T09:17:35.208Z"} {"level":"info","message":"Client disconnected: w7msKudYuDfJAAHIAAAF, reason: transport close","timestamp":"2025-10-03T09:17:35.209Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:17:50.752Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T09:17:58.028Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T09:18:35.208Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 6DRkaqZbema7kqObAAAB","timestamp":"2025-10-03T09:18:37.989Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 6DRkaqZbema7kqObAAAB","timestamp":"2025-10-03T09:18:37.989Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: mO6ClzXxcZkGZ-AIAAAD","timestamp":"2025-10-03T09:18:39.028Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:18:39.031Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759483118989,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:18:39.819Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759483118989,"sdkVersion":28,"timestamp":"2025-10-03T09:18:39.821Z"} {"level":"info","message":"Client disconnected: mO6ClzXxcZkGZ-AIAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T09:18:42.040Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:18:42.041Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:18:42.041Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ZRv7OaXmAMFnBrAQAAAF","timestamp":"2025-10-03T09:18:43.252Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:18:43.253Z"} {"level":"info","message":"📷 Camera request received from operator socket ZRv7OaXmAMFnBrAQAAAF","timestamp":"2025-10-03T09:18:46.129Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:18:46.129Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:18:46.129Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:18:46.130Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:18:46.130Z"} {"level":"info","message":"✅ Connection request created: 2742b68a-aadd-4294-a7b3-322e253baa40","timestamp":"2025-10-03T09:18:46.131Z"} {"level":"info","message":"✅ Connection initiated: 2742b68a-aadd-4294-a7b3-322e253baa40","timestamp":"2025-10-03T09:18:46.131Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:18:52.199Z"} {"level":"info","message":"Client disconnected: 6DRkaqZbema7kqObAAAB, reason: client namespace disconnect","timestamp":"2025-10-03T09:18:54.662Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T09:18:54.663Z"} {"level":"error","message":"❌ Active connection not found: 2742b68a-aadd-4294-a7b3-322e253baa40","timestamp":"2025-10-03T09:18:54.663Z"} {"level":"error","message":"Error terminating connection 2742b68a-aadd-4294-a7b3-322e253baa40: Active connection not found","stack":"Error: Active connection not found\n at ConnectionManager.terminateConnection (/home/data/god_eye/backend/src/managers/ConnectionManager.js:174:13)\n at ConnectionManager.cleanupDeviceConnections (/home/data/god_eye/backend/src/managers/ConnectionManager.js:351:20)\n at Socket. (/home/data/god_eye/backend/src/server.js:663:31)\n at Socket.emit (node:events:517:28)\n at Socket.emitReserved (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:56:22)\n at Socket._onclose (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:554:14)\n at Socket.ondisconnect (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:513:14)\n at Socket._onpacket (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:442:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/client.js:214:24\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-03T09:18:54.664Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-03T09:18:54.664Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:18:58.956Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:18:59.800Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:19:00.082Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:19:00.280Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:19:00.448Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:19:00.625Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:19:00.817Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T09:19:07.393Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 8h_s2SGFbZaGDgV3AAAB","timestamp":"2025-10-03T09:19:08.800Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 8h_s2SGFbZaGDgV3AAAB","timestamp":"2025-10-03T09:19:08.800Z"} {"level":"info","message":"Client disconnected: 8h_s2SGFbZaGDgV3AAAB, reason: client namespace disconnect","timestamp":"2025-10-03T09:19:09.840Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Bchtf_tsoI9_57pTAAAD","timestamp":"2025-10-03T09:19:09.884Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Bchtf_tsoI9_57pTAAAD","timestamp":"2025-10-03T09:19:09.885Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759483151054,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:19:11.893Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759483151054,"sdkVersion":28,"timestamp":"2025-10-03T09:19:11.894Z"} {"level":"info","message":"Client disconnected: ZRv7OaXmAMFnBrAQAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T09:19:13.330Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:19:13.330Z"} {"level":"error","message":"❌ Active connection not found: 2742b68a-aadd-4294-a7b3-322e253baa40","timestamp":"2025-10-03T09:19:13.330Z"} {"level":"error","message":"Error terminating connection 2742b68a-aadd-4294-a7b3-322e253baa40: Active connection not found","stack":"Error: Active connection not found\n at ConnectionManager.terminateConnection (/home/data/god_eye/backend/src/managers/ConnectionManager.js:174:13)\n at ConnectionManager.cleanupOperatorConnections (/home/data/god_eye/backend/src/managers/ConnectionManager.js:386:20)\n at Socket. (/home/data/god_eye/backend/src/server.js:680:31)\n at Socket.emit (node:events:517:28)\n at Socket.emitReserved (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:56:22)\n at Socket._onclose (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:554:14)\n at Socket.ondisconnect (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:513:14)\n at Socket._onpacket (/home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:442:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/client.js:214:24\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-03T09:19:13.331Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:19:13.331Z"} {"level":"info","message":"Process terminated","timestamp":"2025-10-03T09:19:13.334Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: FSYgKSnpMH6pIKxAAAAF","timestamp":"2025-10-03T09:19:13.948Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:19:13.949Z"} {"level":"info","message":"📷 Camera request received from operator socket FSYgKSnpMH6pIKxAAAAF","timestamp":"2025-10-03T09:19:16.073Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:19:16.073Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:19:16.073Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:19:16.074Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:19:16.075Z"} {"level":"info","message":"✅ Connection request created: fd3e2838-6fae-412d-9112-5f30b0bb58d4","timestamp":"2025-10-03T09:19:16.075Z"} {"level":"info","message":"✅ Connection initiated: fd3e2838-6fae-412d-9112-5f30b0bb58d4","timestamp":"2025-10-03T09:19:16.076Z"} {"level":"warn","message":"⏰ Connection timeout: fd3e2838-6fae-412d-9112-5f30b0bb58d4","timestamp":"2025-10-03T09:19:46.075Z"} {"level":"info","message":"❌ Connection rejected: fd3e2838-6fae-412d-9112-5f30b0bb58d4 - Connection timeout","timestamp":"2025-10-03T09:19:46.075Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:20:01.201Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T09:20:58.927Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: nKmd3TZlSqwR5d4RAAAB","timestamp":"2025-10-03T09:20:59.871Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:20:59.872Z"} {"level":"info","message":"Client disconnected: nKmd3TZlSqwR5d4RAAAB, reason: client namespace disconnect","timestamp":"2025-10-03T09:21:09.112Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:21:09.113Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:21:09.113Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: tBseIwzj44F2G_GYAAAD","timestamp":"2025-10-03T09:21:09.758Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:21:09.759Z"} {"level":"info","message":"Client disconnected: tBseIwzj44F2G_GYAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T09:21:26.896Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:21:26.896Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:21:26.896Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: C0BLPsBuAAMfTcdGAAAF","timestamp":"2025-10-03T09:21:28.324Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: C0BLPsBuAAMfTcdGAAAF","timestamp":"2025-10-03T09:21:28.325Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759483289476,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:21:30.289Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759483289476,"sdkVersion":28,"timestamp":"2025-10-03T09:21:30.290Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2237504Haom1lUjuAAAH","timestamp":"2025-10-03T09:21:30.667Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:21:30.668Z"} {"level":"info","message":"📷 Camera request received from operator socket 2237504Haom1lUjuAAAH","timestamp":"2025-10-03T09:21:32.528Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:21:32.529Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:21:32.529Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:21:32.529Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:21:32.530Z"} {"level":"info","message":"✅ Connection request created: 476a43d8-5b6c-4e40-8c1e-5ffdca3a00b4","timestamp":"2025-10-03T09:21:32.530Z"} {"level":"info","message":"✅ Connection initiated: 476a43d8-5b6c-4e40-8c1e-5ffdca3a00b4","timestamp":"2025-10-03T09:21:32.530Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T09:21:46.219Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T09:21:46.219Z"} {"level":"warn","message":"⏰ Connection timeout: 476a43d8-5b6c-4e40-8c1e-5ffdca3a00b4","timestamp":"2025-10-03T09:22:02.532Z"} {"level":"info","message":"❌ Connection rejected: 476a43d8-5b6c-4e40-8c1e-5ffdca3a00b4 - Connection timeout","timestamp":"2025-10-03T09:22:02.532Z"} {"level":"info","message":"Client disconnected: 2237504Haom1lUjuAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T09:23:50.544Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:23:50.545Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:23:50.545Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T09:30:12.330Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: GvD9SL71FuG_1BmOAAAB","timestamp":"2025-10-03T09:30:13.586Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: GvD9SL71FuG_1BmOAAAB","timestamp":"2025-10-03T09:30:13.587Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: gGr5oRjYWpuEQEJiAAAD","timestamp":"2025-10-03T09:30:13.932Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: gGr5oRjYWpuEQEJiAAAD","timestamp":"2025-10-03T09:30:13.933Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: F2fSUfv_Px_RK5v2AAAF","timestamp":"2025-10-03T09:30:14.095Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:30:14.102Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759483815102,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:30:15.939Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759483815102,"sdkVersion":28,"timestamp":"2025-10-03T09:30:15.940Z"} {"level":"info","message":"Client disconnected: GvD9SL71FuG_1BmOAAAB, reason: transport close","timestamp":"2025-10-03T09:42:22.691Z"} {"level":"info","message":"Client disconnected: gGr5oRjYWpuEQEJiAAAD, reason: transport close","timestamp":"2025-10-03T09:42:22.696Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T09:42:22.696Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T09:42:22.696Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: P1aFP3xo2elAg1e6AAAH","timestamp":"2025-10-03T09:42:43.565Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: P1aFP3xo2elAg1e6AAAH","timestamp":"2025-10-03T09:42:43.565Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759484564628,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:42:45.404Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759484564628,"sdkVersion":28,"timestamp":"2025-10-03T09:42:45.404Z"} {"level":"info","message":"Client disconnected: F2fSUfv_Px_RK5v2AAAF, reason: client namespace disconnect","timestamp":"2025-10-03T09:42:49.168Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:42:49.168Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:42:49.169Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NWkUSDTMybtjilR7AAAJ","timestamp":"2025-10-03T09:42:49.693Z","userAgent":""} {"level":"info","message":"Operator registered: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:42:49.694Z"} {"level":"info","message":"📷 Camera request received from operator socket NWkUSDTMybtjilR7AAAJ","timestamp":"2025-10-03T09:42:50.769Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T09:42:50.769Z"} {"level":"info","message":"✅ Operator found: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:42:50.769Z"} {"level":"info","message":"🔗 Initiating connection: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d -> android_bcac6e0d (back)","timestamp":"2025-10-03T09:42:50.770Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T09:42:50.770Z"} {"level":"info","message":"✅ Connection request created: 735d49f4-14d7-4767-9d98-8195e33a2fe7","timestamp":"2025-10-03T09:42:50.771Z"} {"level":"info","message":"✅ Connection initiated: 735d49f4-14d7-4767-9d98-8195e33a2fe7","timestamp":"2025-10-03T09:42:50.771Z"} {"level":"info","message":"Client disconnected: NWkUSDTMybtjilR7AAAJ, reason: transport close","timestamp":"2025-10-03T09:43:00.680Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:43:00.680Z"} {"level":"info","message":"🔌 Connection terminated: 735d49f4-14d7-4767-9d98-8195e33a2fe7 - Operator disconnected","timestamp":"2025-10-03T09:43:00.681Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator fcb2582a-9ee8-4674-b4ce-eab15aef8c5d","timestamp":"2025-10-03T09:43:00.681Z"} {"level":"info","message":"Client disconnected: P1aFP3xo2elAg1e6AAAH, reason: transport close","timestamp":"2025-10-03T09:43:02.362Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T09:43:02.362Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T09:43:02.363Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: eX2RfENliqNYaXJyAAAL","timestamp":"2025-10-03T09:43:14.364Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: eX2RfENliqNYaXJyAAAL","timestamp":"2025-10-03T09:43:14.364Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759484595431,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T09:43:16.196Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759484595431,"sdkVersion":28,"timestamp":"2025-10-03T09:43:16.197Z"} {"level":"warn","message":"⏰ Connection timeout: 735d49f4-14d7-4767-9d98-8195e33a2fe7","timestamp":"2025-10-03T09:43:20.770Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T09:48:02.550Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T09:48:04.892Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: PpwwOT5Wd0Ymgzh1AAAB","timestamp":"2025-10-03T09:48:15.472Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T09:48:39.948Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T10:03:59.489Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T10:04:00.176Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T10:04:04.550Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -B40zVTRVKBjgchMAAAB","timestamp":"2025-10-03T10:04:07.857Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: e7P9GcbY7djDEoFRAAAD","timestamp":"2025-10-03T10:04:46.987Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: e7P9GcbY7djDEoFRAAAD","timestamp":"2025-10-03T10:04:46.988Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759485888065,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T10:04:48.827Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759485888065,"sdkVersion":28,"timestamp":"2025-10-03T10:04:48.829Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: G17Kx6dWHbfoxghpAAAF","timestamp":"2025-10-03T10:05:01.172Z","userAgent":""} {"level":"info","message":"Operator registered: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T10:05:01.174Z"} {"level":"info","message":"📷 Camera request received from operator socket G17Kx6dWHbfoxghpAAAF","timestamp":"2025-10-03T10:05:03.954Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T10:05:03.955Z"} {"level":"info","message":"✅ Operator found: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T10:05:03.955Z"} {"level":"info","message":"🔗 Initiating connection: f6ff0af0-bad7-451c-b7ac-27c349ec0a54 -> android_bcac6e0d (back)","timestamp":"2025-10-03T10:05:03.956Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T10:05:03.957Z"} {"level":"info","message":"✅ Connection request created: 3b353f9c-c8db-4364-9af2-fd8e2339cb0b","timestamp":"2025-10-03T10:05:03.957Z"} {"level":"info","message":"✅ Connection initiated: 3b353f9c-c8db-4364-9af2-fd8e2339cb0b","timestamp":"2025-10-03T10:05:03.958Z"} {"level":"warn","message":"⏰ Connection timeout: 3b353f9c-c8db-4364-9af2-fd8e2339cb0b","timestamp":"2025-10-03T10:05:33.959Z"} {"level":"info","message":"❌ Connection rejected: 3b353f9c-c8db-4364-9af2-fd8e2339cb0b - Connection timeout","timestamp":"2025-10-03T10:05:33.959Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: u-NGTM9WpXWjhQf3AAAH","timestamp":"2025-10-03T11:22:00.987Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: u-NGTM9WpXWjhQf3AAAH","timestamp":"2025-10-03T11:22:00.987Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759490522176,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T11:22:02.964Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759490522176,"sdkVersion":28,"timestamp":"2025-10-03T11:22:02.964Z"} {"level":"info","message":"📷 Camera request received from operator socket G17Kx6dWHbfoxghpAAAF","timestamp":"2025-10-03T11:22:08.889Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T11:22:08.889Z"} {"level":"info","message":"✅ Operator found: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T11:22:08.889Z"} {"level":"info","message":"🔗 Initiating connection: f6ff0af0-bad7-451c-b7ac-27c349ec0a54 -> android_bcac6e0d (back)","timestamp":"2025-10-03T11:22:08.889Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T11:22:08.890Z"} {"level":"info","message":"✅ Connection request created: 5651df68-fd12-4dec-ab59-fc74f9fc0529","timestamp":"2025-10-03T11:22:08.890Z"} {"level":"info","message":"✅ Connection initiated: 5651df68-fd12-4dec-ab59-fc74f9fc0529","timestamp":"2025-10-03T11:22:08.890Z"} {"level":"info","message":"Client disconnected: G17Kx6dWHbfoxghpAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T11:22:17.737Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T11:22:17.738Z"} {"level":"info","message":"🔌 Connection terminated: 5651df68-fd12-4dec-ab59-fc74f9fc0529 - Operator disconnected","timestamp":"2025-10-03T11:22:17.738Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T11:22:17.738Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SvJm-0XZY04KzSLgAAAJ","timestamp":"2025-10-03T11:22:18.493Z","userAgent":""} {"level":"info","message":"Operator registered: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T11:22:18.496Z"} {"level":"info","message":"📷 Camera request received from operator socket SvJm-0XZY04KzSLgAAAJ","timestamp":"2025-10-03T11:22:19.985Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T11:22:19.985Z"} {"level":"info","message":"✅ Operator found: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T11:22:19.985Z"} {"level":"info","message":"🔗 Initiating connection: f6ff0af0-bad7-451c-b7ac-27c349ec0a54 -> android_bcac6e0d (back)","timestamp":"2025-10-03T11:22:19.985Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T11:22:19.985Z"} {"level":"info","message":"✅ Connection request created: 5ea7c477-62da-4d63-8025-2b67f47b7c53","timestamp":"2025-10-03T11:22:19.986Z"} {"level":"info","message":"✅ Connection initiated: 5ea7c477-62da-4d63-8025-2b67f47b7c53","timestamp":"2025-10-03T11:22:19.986Z"} {"level":"warn","message":"⏰ Connection timeout: 5651df68-fd12-4dec-ab59-fc74f9fc0529","timestamp":"2025-10-03T11:22:38.891Z"} {"level":"info","message":"Connection 5651df68-fd12-4dec-ab59-fc74f9fc0529 already removed from pending requests","timestamp":"2025-10-03T11:22:38.891Z"} {"level":"warn","message":"⏰ Connection timeout: 5ea7c477-62da-4d63-8025-2b67f47b7c53","timestamp":"2025-10-03T11:22:49.987Z"} {"level":"info","message":"❌ Connection rejected: 5ea7c477-62da-4d63-8025-2b67f47b7c53 - Connection timeout","timestamp":"2025-10-03T11:22:49.987Z"} {"level":"info","message":"Client disconnected: e7P9GcbY7djDEoFRAAAD, reason: transport close","timestamp":"2025-10-03T12:05:55.155Z"} {"level":"info","message":"Client disconnected: u-NGTM9WpXWjhQf3AAAH, reason: transport close","timestamp":"2025-10-03T12:05:55.156Z"} {"level":"info","message":"🔗 Initiating connection: f6ff0af0-bad7-451c-b7ac-27c349ec0a54 -> android_bcac6e0d (back)","timestamp":"2025-10-03T12:06:05.909Z"} {"level":"error","message":"❌ Connection validation failed: Device not found","timestamp":"2025-10-03T12:06:05.909Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: fyY_8DzYEggi_E2PAAAL","timestamp":"2025-10-03T12:06:19.822Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: fyY_8DzYEggi_E2PAAAL","timestamp":"2025-10-03T12:06:19.822Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759493180652,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T12:06:21.659Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759493180652,"sdkVersion":28,"timestamp":"2025-10-03T12:06:21.659Z"} {"level":"info","message":"🔗 Initiating connection: f6ff0af0-bad7-451c-b7ac-27c349ec0a54 -> android_bcac6e0d (back)","timestamp":"2025-10-03T12:06:25.756Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T12:06:25.756Z"} {"level":"info","message":"✅ Connection request created: f36ad5fd-5318-4269-b0b5-59071264335c","timestamp":"2025-10-03T12:06:25.756Z"} {"level":"warn","message":"⏰ Connection timeout: f36ad5fd-5318-4269-b0b5-59071264335c","timestamp":"2025-10-03T12:06:55.756Z"} {"level":"info","message":"❌ Connection rejected: f36ad5fd-5318-4269-b0b5-59071264335c - Connection timeout","timestamp":"2025-10-03T12:06:55.757Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T12:07:28.669Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T12:07:28.669Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T12:07:30.984Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-03T13:14:08.081Z"} {"level":"info","message":"Client disconnected: fyY_8DzYEggi_E2PAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T13:14:30.065Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T13:14:51.248Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Jx4dWPPXZQcpzx2yAAAB","timestamp":"2025-10-03T13:14:53.283Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Jx4dWPPXZQcpzx2yAAAB","timestamp":"2025-10-03T13:14:53.284Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759497295049,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T13:14:55.257Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759497295049,"sdkVersion":28,"timestamp":"2025-10-03T13:14:55.258Z"} {"level":"info","message":"Client disconnected: SvJm-0XZY04KzSLgAAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T13:15:03.787Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T13:15:03.787Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T13:15:03.787Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WuCsXrR0g__L1KDTAAAD","timestamp":"2025-10-03T13:15:04.855Z","userAgent":""} {"level":"info","message":"Operator registered: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T13:15:04.856Z"} {"level":"info","message":"📷 Camera request received from operator socket WuCsXrR0g__L1KDTAAAD","timestamp":"2025-10-03T13:15:06.220Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T13:15:06.220Z"} {"level":"info","message":"✅ Operator found: f6ff0af0-bad7-451c-b7ac-27c349ec0a54","timestamp":"2025-10-03T13:15:06.220Z"} {"level":"info","message":"🔗 Initiating connection: f6ff0af0-bad7-451c-b7ac-27c349ec0a54 -> android_bcac6e0d (back)","timestamp":"2025-10-03T13:15:06.221Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T13:15:06.222Z"} {"level":"info","message":"✅ Connection request created: 5bb6b105-ad30-41b5-bb74-7b0884d79b4d","timestamp":"2025-10-03T13:15:06.222Z"} {"level":"info","message":"✅ Connection initiated: 5bb6b105-ad30-41b5-bb74-7b0884d79b4d","timestamp":"2025-10-03T13:15:06.222Z"} {"level":"warn","message":"⏰ Connection timeout: 5bb6b105-ad30-41b5-bb74-7b0884d79b4d","timestamp":"2025-10-03T13:15:36.222Z"} {"level":"info","message":"❌ Connection rejected: 5bb6b105-ad30-41b5-bb74-7b0884d79b4d - Connection timeout","timestamp":"2025-10-03T13:15:36.223Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T21:56:09.477Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T21:56:09.476Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-03T21:56:09.476Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T21:58:11.115Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: LW5vc_zsIjuXp_ZkAAAB","timestamp":"2025-10-03T21:58:13.351Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: LW5vc_zsIjuXp_ZkAAAB","timestamp":"2025-10-03T21:58:13.352Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759528694349,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T21:58:15.328Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759528694349,"sdkVersion":28,"timestamp":"2025-10-03T21:58:15.329Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Pl-HeTGcXW9jjjpjAAAD","timestamp":"2025-10-03T21:58:34.747Z","userAgent":""} {"level":"info","message":"Operator registered: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T21:58:34.749Z"} {"level":"info","message":"📷 Camera request received from operator socket Pl-HeTGcXW9jjjpjAAAD","timestamp":"2025-10-03T21:58:37.680Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T21:58:37.680Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T21:58:37.681Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T21:58:37.681Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T21:58:37.682Z"} {"level":"info","message":"✅ Connection request created: 9e1f4cb9-7c0c-47a4-96e6-3d8c93dfefc4","timestamp":"2025-10-03T21:58:37.683Z"} {"level":"info","message":"✅ Connection initiated: 9e1f4cb9-7c0c-47a4-96e6-3d8c93dfefc4","timestamp":"2025-10-03T21:58:37.683Z"} {"level":"warn","message":"⏰ Connection timeout: 9e1f4cb9-7c0c-47a4-96e6-3d8c93dfefc4","timestamp":"2025-10-03T21:59:07.683Z"} {"level":"info","message":"❌ Connection rejected: 9e1f4cb9-7c0c-47a4-96e6-3d8c93dfefc4 - Connection timeout","timestamp":"2025-10-03T21:59:07.683Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hcJCUDYKZlbgmCgEAAAF","timestamp":"2025-10-03T22:01:22.102Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: hcJCUDYKZlbgmCgEAAAF","timestamp":"2025-10-03T22:01:22.102Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759528883120,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:01:24.110Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759528883120,"sdkVersion":28,"timestamp":"2025-10-03T22:01:24.111Z"} {"level":"info","message":"Client disconnected: hcJCUDYKZlbgmCgEAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T22:01:52.149Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:01:52.149Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:01:52.149Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: TuVQj5nAEte_3XHQAAAH","timestamp":"2025-10-03T22:01:56.090Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: TuVQj5nAEte_3XHQAAAH","timestamp":"2025-10-03T22:01:56.090Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759528917125,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:01:58.088Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759528917125,"sdkVersion":28,"timestamp":"2025-10-03T22:01:58.088Z"} {"level":"info","message":"Client disconnected: Pl-HeTGcXW9jjjpjAAAD, reason: client namespace disconnect","timestamp":"2025-10-03T22:02:07.414Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:07.414Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:07.414Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: nDXbkGsSfeKFMulGAAAJ","timestamp":"2025-10-03T22:02:08.042Z","userAgent":""} {"level":"info","message":"Operator registered: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:08.042Z"} {"level":"info","message":"📷 Camera request received from operator socket nDXbkGsSfeKFMulGAAAJ","timestamp":"2025-10-03T22:02:09.214Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:02:09.215Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:09.215Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:02:09.215Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:02:09.215Z"} {"level":"info","message":"✅ Connection request created: 994736d2-431f-42ef-ad67-ff77dda03164","timestamp":"2025-10-03T22:02:09.215Z"} {"level":"info","message":"✅ Connection initiated: 994736d2-431f-42ef-ad67-ff77dda03164","timestamp":"2025-10-03T22:02:09.216Z"} {"level":"info","message":"Client disconnected: TuVQj5nAEte_3XHQAAAH, reason: client namespace disconnect","timestamp":"2025-10-03T22:02:11.777Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:02:11.777Z"} {"level":"info","message":"🔌 Connection terminated: 994736d2-431f-42ef-ad67-ff77dda03164 - Device disconnected","timestamp":"2025-10-03T22:02:11.777Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:02:11.777Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: xYkRZEdaxHMJUlcGAAAL","timestamp":"2025-10-03T22:02:12.843Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: xYkRZEdaxHMJUlcGAAAL","timestamp":"2025-10-03T22:02:12.843Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759528933867,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:02:14.851Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759528933867,"sdkVersion":28,"timestamp":"2025-10-03T22:02:14.851Z"} {"level":"info","message":"Client disconnected: nDXbkGsSfeKFMulGAAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T22:02:16.950Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:16.950Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:16.950Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 5383wn_ha_VLq7BJAAAN","timestamp":"2025-10-03T22:02:17.497Z","userAgent":""} {"level":"info","message":"Operator registered: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:17.498Z"} {"level":"info","message":"📷 Camera request received from operator socket 5383wn_ha_VLq7BJAAAN","timestamp":"2025-10-03T22:02:18.590Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:02:18.591Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:02:18.591Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:02:18.591Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:02:18.591Z"} {"level":"info","message":"✅ Connection request created: 6d9979d3-7968-4979-ad26-c5a471fb2f69","timestamp":"2025-10-03T22:02:18.591Z"} {"level":"info","message":"✅ Connection initiated: 6d9979d3-7968-4979-ad26-c5a471fb2f69","timestamp":"2025-10-03T22:02:18.591Z"} {"level":"warn","message":"⏰ Connection timeout: 994736d2-431f-42ef-ad67-ff77dda03164","timestamp":"2025-10-03T22:02:39.215Z"} {"level":"info","message":"Connection 994736d2-431f-42ef-ad67-ff77dda03164 already removed from pending requests","timestamp":"2025-10-03T22:02:39.215Z"} {"level":"warn","message":"⏰ Connection timeout: 6d9979d3-7968-4979-ad26-c5a471fb2f69","timestamp":"2025-10-03T22:02:48.592Z"} {"level":"info","message":"❌ Connection rejected: 6d9979d3-7968-4979-ad26-c5a471fb2f69 - Connection timeout","timestamp":"2025-10-03T22:02:48.592Z"} {"level":"info","message":"Client disconnected: xYkRZEdaxHMJUlcGAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T22:08:01.114Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:08:01.114Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:08:01.114Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VaR3_OiUKuzXIvXKAAAP","timestamp":"2025-10-03T22:08:05.119Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: VaR3_OiUKuzXIvXKAAAP","timestamp":"2025-10-03T22:08:05.119Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759529286045,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:08:07.018Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759529286045,"sdkVersion":28,"timestamp":"2025-10-03T22:08:07.019Z"} {"level":"info","message":"Client disconnected: VaR3_OiUKuzXIvXKAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T22:08:12.640Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:08:12.640Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:08:12.641Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: aVKY1fA2bcgZh7h5AAAR","timestamp":"2025-10-03T22:08:14.261Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: aVKY1fA2bcgZh7h5AAAR","timestamp":"2025-10-03T22:08:14.261Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759529295223,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:08:16.194Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759529295223,"sdkVersion":28,"timestamp":"2025-10-03T22:08:16.194Z"} {"level":"info","message":"Client disconnected: aVKY1fA2bcgZh7h5AAAR, reason: client namespace disconnect","timestamp":"2025-10-03T22:09:16.693Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:09:16.693Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:09:16.693Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5mhnp1gCzg_2-iATAAAT","timestamp":"2025-10-03T22:09:18.944Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 5mhnp1gCzg_2-iATAAAT","timestamp":"2025-10-03T22:09:18.944Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759529359897,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:09:20.866Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759529359897,"sdkVersion":28,"timestamp":"2025-10-03T22:09:20.866Z"} {"level":"info","message":"Client disconnected: 5mhnp1gCzg_2-iATAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T22:10:56.347Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:10:56.347Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:10:56.347Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: T6ZTsR5sq48HFwgbAAAV","timestamp":"2025-10-03T22:12:58.350Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: T6ZTsR5sq48HFwgbAAAV","timestamp":"2025-10-03T22:12:58.350Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759529579357,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:13:00.332Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759529579357,"sdkVersion":28,"timestamp":"2025-10-03T22:13:00.333Z"} {"level":"info","message":"Client disconnected: 5383wn_ha_VLq7BJAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T22:13:03.518Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:13:03.518Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:13:03.519Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wKYpXFGeZHy19N4iAAAX","timestamp":"2025-10-03T22:13:04.113Z","userAgent":""} {"level":"info","message":"Operator registered: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:13:04.114Z"} {"level":"info","message":"📷 Camera request received from operator socket wKYpXFGeZHy19N4iAAAX","timestamp":"2025-10-03T22:13:05.950Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:13:05.951Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:13:05.951Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:13:05.951Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:13:05.951Z"} {"level":"info","message":"✅ Connection request created: 4f3dad8b-190a-4dc9-9af5-89d42ce6ea7b","timestamp":"2025-10-03T22:13:05.951Z"} {"level":"info","message":"✅ Connection initiated: 4f3dad8b-190a-4dc9-9af5-89d42ce6ea7b","timestamp":"2025-10-03T22:13:05.951Z"} {"level":"warn","message":"⏰ Connection timeout: 4f3dad8b-190a-4dc9-9af5-89d42ce6ea7b","timestamp":"2025-10-03T22:13:35.952Z"} {"level":"info","message":"❌ Connection rejected: 4f3dad8b-190a-4dc9-9af5-89d42ce6ea7b - Connection timeout","timestamp":"2025-10-03T22:13:35.952Z"} {"level":"info","message":"Client disconnected: T6ZTsR5sq48HFwgbAAAV, reason: client namespace disconnect","timestamp":"2025-10-03T22:14:15.752Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:14:15.752Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:14:15.752Z"} {"level":"info","message":"Client disconnected: LW5vc_zsIjuXp_ZkAAAB, reason: transport close","timestamp":"2025-10-03T22:14:21.694Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 40KCFYaUo45DIl5dAAAZ","timestamp":"2025-10-03T22:14:45.248Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 40KCFYaUo45DIl5dAAAZ","timestamp":"2025-10-03T22:14:45.248Z"} {"level":"info","message":"Client disconnected: wKYpXFGeZHy19N4iAAAX, reason: client namespace disconnect","timestamp":"2025-10-03T22:14:46.345Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:14:46.345Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:14:46.345Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759529686117,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:14:47.097Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759529686117,"sdkVersion":28,"timestamp":"2025-10-03T22:14:47.097Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: feGH3BUieVXU-DhvAAAb","timestamp":"2025-10-03T22:14:48.114Z","userAgent":""} {"level":"info","message":"Operator registered: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:14:48.116Z"} {"level":"info","message":"📷 Camera request received from operator socket feGH3BUieVXU-DhvAAAb","timestamp":"2025-10-03T22:14:49.983Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:14:49.983Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:14:49.983Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:14:49.983Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:14:49.983Z"} {"level":"info","message":"✅ Connection request created: c947f2e4-32c0-4e54-bb37-4a67b0c1589f","timestamp":"2025-10-03T22:14:49.983Z"} {"level":"info","message":"✅ Connection initiated: c947f2e4-32c0-4e54-bb37-4a67b0c1589f","timestamp":"2025-10-03T22:14:49.984Z"} {"level":"info","message":"📷 Camera request received from operator socket feGH3BUieVXU-DhvAAAb","timestamp":"2025-10-03T22:14:52.087Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:14:52.087Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:14:52.087Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:14:52.087Z"} {"level":"error","message":"❌ Connection validation failed: Device not connected","timestamp":"2025-10-03T22:14:52.087Z"} {"level":"error","message":"❌ Failed to initiate connection: Device not connected","timestamp":"2025-10-03T22:14:52.088Z"} {"level":"warn","message":"⏰ Connection timeout: c947f2e4-32c0-4e54-bb37-4a67b0c1589f","timestamp":"2025-10-03T22:15:19.985Z"} {"level":"info","message":"❌ Connection rejected: c947f2e4-32c0-4e54-bb37-4a67b0c1589f - Connection timeout","timestamp":"2025-10-03T22:15:19.985Z"} {"level":"info","message":"Client disconnected: 40KCFYaUo45DIl5dAAAZ, reason: transport close","timestamp":"2025-10-03T22:18:24.394Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:18:24.394Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:18:24.394Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: g8iC5Yh5mNT-4A6kAAAd","timestamp":"2025-10-03T22:18:59.129Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: g8iC5Yh5mNT-4A6kAAAd","timestamp":"2025-10-03T22:18:59.129Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759529940033,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:19:01.021Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759529940033,"sdkVersion":28,"timestamp":"2025-10-03T22:19:01.021Z"} {"level":"info","message":"📷 Camera request received from operator socket feGH3BUieVXU-DhvAAAb","timestamp":"2025-10-03T22:19:39.256Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:19:39.256Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:19:39.256Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:19:39.256Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:19:39.257Z"} {"level":"info","message":"✅ Connection request created: ee192ce1-7a05-48a6-abf9-935f3f007b0a","timestamp":"2025-10-03T22:19:39.257Z"} {"level":"info","message":"✅ Connection initiated: ee192ce1-7a05-48a6-abf9-935f3f007b0a","timestamp":"2025-10-03T22:19:39.257Z"} {"level":"info","message":"📷 Camera request received from operator socket feGH3BUieVXU-DhvAAAb","timestamp":"2025-10-03T22:19:41.181Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:19:41.182Z"} {"level":"info","message":"✅ Operator found: ae071b52-476b-4980-8df7-96dd221a9870","timestamp":"2025-10-03T22:19:41.182Z"} {"level":"info","message":"🔗 Initiating connection: ae071b52-476b-4980-8df7-96dd221a9870 -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:19:41.182Z"} {"level":"error","message":"❌ Connection validation failed: Device not connected","timestamp":"2025-10-03T22:19:41.182Z"} {"level":"error","message":"❌ Failed to initiate connection: Device not connected","timestamp":"2025-10-03T22:19:41.182Z"} {"level":"warn","message":"⏰ Connection timeout: ee192ce1-7a05-48a6-abf9-935f3f007b0a","timestamp":"2025-10-03T22:20:09.257Z"} {"level":"info","message":"❌ Connection rejected: ee192ce1-7a05-48a6-abf9-935f3f007b0a - Connection timeout","timestamp":"2025-10-03T22:20:09.257Z"} {"level":"info","message":"Client disconnected: -B40zVTRVKBjgchMAAAB, reason: forced close","timestamp":"2025-10-03T22:20:26.103Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-03T22:23:51.411Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -1IDxWeuDcNvkHwWAAAB","timestamp":"2025-10-03T22:23:54.602Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:23:54.605Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: muMtsy93eHPEigT-AAAD","timestamp":"2025-10-03T22:23:55.356Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: muMtsy93eHPEigT-AAAD","timestamp":"2025-10-03T22:23:55.357Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759530236218,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:23:57.204Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759530236218,"sdkVersion":28,"timestamp":"2025-10-03T22:23:57.205Z"} {"level":"info","message":"Client disconnected: -1IDxWeuDcNvkHwWAAAB, reason: client namespace disconnect","timestamp":"2025-10-03T22:24:07.128Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:24:07.129Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:24:07.129Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0uE4syLALyclf_MWAAAF","timestamp":"2025-10-03T22:24:07.475Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:24:07.476Z"} {"level":"info","message":"📷 Camera request received from operator socket 0uE4syLALyclf_MWAAAF","timestamp":"2025-10-03T22:24:08.593Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:24:08.593Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:24:08.593Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:24:08.593Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:24:08.594Z"} {"level":"info","message":"✅ Connection request created: fbe98d0a-81f9-4a68-b2ce-85c1089b2ee0","timestamp":"2025-10-03T22:24:08.595Z"} {"level":"info","message":"✅ Connection initiated: fbe98d0a-81f9-4a68-b2ce-85c1089b2ee0","timestamp":"2025-10-03T22:24:08.595Z"} {"level":"warn","message":"⏰ Connection timeout: fbe98d0a-81f9-4a68-b2ce-85c1089b2ee0","timestamp":"2025-10-03T22:24:38.595Z"} {"level":"info","message":"❌ Connection rejected: fbe98d0a-81f9-4a68-b2ce-85c1089b2ee0 - Connection timeout","timestamp":"2025-10-03T22:24:38.595Z"} {"level":"info","message":"📷 Camera request received from operator socket 0uE4syLALyclf_MWAAAF","timestamp":"2025-10-03T22:25:00.104Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:25:00.104Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:25:00.104Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:25:00.104Z"} {"level":"error","message":"❌ Connection validation failed: Device not connected","timestamp":"2025-10-03T22:25:00.104Z"} {"level":"error","message":"❌ Failed to initiate connection: Device not connected","timestamp":"2025-10-03T22:25:00.105Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: iF568YSAW9gQzTbJAAAH","timestamp":"2025-10-03T22:33:49.955Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ASdnUiQZ0HDxtxzvAAAJ","timestamp":"2025-10-03T22:33:54.092Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T22:33:54.097Z"} {"level":"info","message":"Client disconnected: 0uE4syLALyclf_MWAAAF, reason: client namespace disconnect","timestamp":"2025-10-03T22:34:00.727Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:00.727Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:00.728Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: YNw9havBr9S3UD4tAAAL","timestamp":"2025-10-03T22:34:01.166Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:01.168Z"} {"level":"info","message":"📷 Camera request received from operator socket YNw9havBr9S3UD4tAAAL","timestamp":"2025-10-03T22:34:02.512Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:34:02.512Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:02.512Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:34:02.512Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-03T22:34:02.512Z"} {"level":"info","message":"✅ Connection request created: 2ec69dc9-a351-459a-bb58-b97bc65de529","timestamp":"2025-10-03T22:34:02.512Z"} {"level":"info","message":"✅ Connection initiated: 2ec69dc9-a351-459a-bb58-b97bc65de529","timestamp":"2025-10-03T22:34:02.512Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=2ec69dc9-a351-459a-bb58-b97bc65de529, accepted=true","timestamp":"2025-10-03T22:34:08.224Z"} {"level":"info","message":"✅ Connection established: 2ec69dc9-a351-459a-bb58-b97bc65de529","timestamp":"2025-10-03T22:34:08.224Z"} {"level":"info","message":"✅ Connection accepted: 2ec69dc9-a351-459a-bb58-b97bc65de529","timestamp":"2025-10-03T22:34:08.224Z"} {"level":"info","message":"Client disconnected: YNw9havBr9S3UD4tAAAL, reason: client namespace disconnect","timestamp":"2025-10-03T22:34:29.943Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:29.943Z"} {"level":"info","message":"🔌 Connection terminated: 2ec69dc9-a351-459a-bb58-b97bc65de529 - Operator disconnected","timestamp":"2025-10-03T22:34:29.943Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:29.944Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: fCTubmwWx5YhzkThAAAN","timestamp":"2025-10-03T22:34:30.554Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:30.555Z"} {"level":"info","message":"📷 Camera request received from operator socket fCTubmwWx5YhzkThAAAN","timestamp":"2025-10-03T22:34:31.947Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:34:31.947Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:31.948Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:34:31.948Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-03T22:34:31.949Z"} {"level":"info","message":"✅ Connection request created: 735cf26c-1716-4f96-8803-44403443ab74","timestamp":"2025-10-03T22:34:31.950Z"} {"level":"info","message":"✅ Connection initiated: 735cf26c-1716-4f96-8803-44403443ab74","timestamp":"2025-10-03T22:34:31.952Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=735cf26c-1716-4f96-8803-44403443ab74, accepted=true","timestamp":"2025-10-03T22:34:34.040Z"} {"level":"info","message":"✅ Connection established: 735cf26c-1716-4f96-8803-44403443ab74","timestamp":"2025-10-03T22:34:34.040Z"} {"level":"info","message":"✅ Connection accepted: 735cf26c-1716-4f96-8803-44403443ab74","timestamp":"2025-10-03T22:34:34.040Z"} {"level":"info","message":"Camera session ended: 735cf26c-1716-4f96-8803-44403443ab74","timestamp":"2025-10-03T22:34:34.792Z"} {"level":"info","message":"📷 Camera request received from operator socket fCTubmwWx5YhzkThAAAN","timestamp":"2025-10-03T22:34:37.279Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:34:37.280Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:37.280Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:34:37.280Z"} {"level":"error","message":"❌ Connection validation failed: Device not connected","timestamp":"2025-10-03T22:34:37.280Z"} {"level":"error","message":"❌ Failed to initiate connection: Device not connected","timestamp":"2025-10-03T22:34:37.280Z"} {"level":"info","message":"Client disconnected: fCTubmwWx5YhzkThAAAN, reason: client namespace disconnect","timestamp":"2025-10-03T22:34:38.880Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:38.880Z"} {"level":"info","message":"🔌 Connection terminated: 735cf26c-1716-4f96-8803-44403443ab74 - Operator disconnected","timestamp":"2025-10-03T22:34:38.884Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:38.884Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: evAeAyjrHRvn1l7ZAAAP","timestamp":"2025-10-03T22:34:39.339Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:39.340Z"} {"level":"info","message":"📷 Camera request received from operator socket evAeAyjrHRvn1l7ZAAAP","timestamp":"2025-10-03T22:34:40.128Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:34:40.128Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:34:40.128Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:34:40.128Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-03T22:34:40.128Z"} {"level":"info","message":"✅ Connection request created: e6390fb7-f833-4be1-8374-b5dd33c8acce","timestamp":"2025-10-03T22:34:40.128Z"} {"level":"info","message":"✅ Connection initiated: e6390fb7-f833-4be1-8374-b5dd33c8acce","timestamp":"2025-10-03T22:34:40.128Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=e6390fb7-f833-4be1-8374-b5dd33c8acce, accepted=true","timestamp":"2025-10-03T22:34:44.155Z"} {"level":"info","message":"✅ Connection established: e6390fb7-f833-4be1-8374-b5dd33c8acce","timestamp":"2025-10-03T22:34:44.155Z"} {"level":"info","message":"✅ Connection accepted: e6390fb7-f833-4be1-8374-b5dd33c8acce","timestamp":"2025-10-03T22:34:44.155Z"} {"level":"info","message":"Client disconnected: muMtsy93eHPEigT-AAAD, reason: client namespace disconnect","timestamp":"2025-10-03T22:35:24.506Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: T7--XqVUPCkQgsffAAAR","timestamp":"2025-10-03T22:35:26.242Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: T7--XqVUPCkQgsffAAAR","timestamp":"2025-10-03T22:35:26.242Z"} {"level":"info","message":"Client disconnected: evAeAyjrHRvn1l7ZAAAP, reason: client namespace disconnect","timestamp":"2025-10-03T22:35:28.079Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:35:28.079Z"} {"level":"info","message":"🔌 Connection terminated: e6390fb7-f833-4be1-8374-b5dd33c8acce - Operator disconnected","timestamp":"2025-10-03T22:35:28.079Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:35:28.079Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759530927228,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:35:28.204Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759530927228,"sdkVersion":28,"timestamp":"2025-10-03T22:35:28.204Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: kXOXHrCePXXdoPIcAAAT","timestamp":"2025-10-03T22:35:28.621Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:35:28.623Z"} {"level":"info","message":"📷 Camera request received from operator socket kXOXHrCePXXdoPIcAAAT","timestamp":"2025-10-03T22:35:30.831Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:35:30.832Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:35:30.832Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:35:30.832Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:35:30.832Z"} {"level":"info","message":"✅ Connection request created: 5bd2660e-9736-4014-af81-a75137d168a8","timestamp":"2025-10-03T22:35:30.832Z"} {"level":"info","message":"✅ Connection initiated: 5bd2660e-9736-4014-af81-a75137d168a8","timestamp":"2025-10-03T22:35:30.833Z"} {"level":"info","message":"📷 Camera request received from operator socket kXOXHrCePXXdoPIcAAAT","timestamp":"2025-10-03T22:35:56.488Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:35:56.488Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:35:56.488Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:35:56.488Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-03T22:35:56.488Z"} {"level":"info","message":"✅ Connection request created: 5d0c0bea-ae2e-4719-880e-566a51e7de49","timestamp":"2025-10-03T22:35:56.488Z"} {"level":"info","message":"✅ Connection initiated: 5d0c0bea-ae2e-4719-880e-566a51e7de49","timestamp":"2025-10-03T22:35:56.489Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=5d0c0bea-ae2e-4719-880e-566a51e7de49, accepted=true","timestamp":"2025-10-03T22:35:59.008Z"} {"level":"info","message":"✅ Connection established: 5d0c0bea-ae2e-4719-880e-566a51e7de49","timestamp":"2025-10-03T22:35:59.008Z"} {"level":"info","message":"✅ Connection accepted: 5d0c0bea-ae2e-4719-880e-566a51e7de49","timestamp":"2025-10-03T22:35:59.008Z"} {"level":"warn","message":"⏰ Connection timeout: 5bd2660e-9736-4014-af81-a75137d168a8","timestamp":"2025-10-03T22:36:00.833Z"} {"level":"info","message":"❌ Connection rejected: 5bd2660e-9736-4014-af81-a75137d168a8 - Connection timeout","timestamp":"2025-10-03T22:36:00.833Z"} {"level":"info","message":"Camera session ended: 5d0c0bea-ae2e-4719-880e-566a51e7de49","timestamp":"2025-10-03T22:36:10.073Z"} {"level":"info","message":"Client disconnected: ASdnUiQZ0HDxtxzvAAAJ, reason: client namespace disconnect","timestamp":"2025-10-03T22:36:10.906Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-03T22:36:10.906Z"} {"level":"info","message":"🔌 Connection terminated: 5d0c0bea-ae2e-4719-880e-566a51e7de49 - Device disconnected","timestamp":"2025-10-03T22:36:10.906Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device demo-device-001","timestamp":"2025-10-03T22:36:10.907Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ju1agThJ_rLMTS7CAAAV","timestamp":"2025-10-03T22:36:30.349Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T22:36:30.353Z"} {"level":"info","message":"Client disconnected: kXOXHrCePXXdoPIcAAAT, reason: client namespace disconnect","timestamp":"2025-10-03T22:36:35.623Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:36:35.623Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:36:35.623Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Sc5XMB_lTnJiqfFxAAAX","timestamp":"2025-10-03T22:36:36.013Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:36:36.014Z"} {"level":"info","message":"📷 Camera request received from operator socket Sc5XMB_lTnJiqfFxAAAX","timestamp":"2025-10-03T22:36:37.016Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:36:37.016Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:36:37.016Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:36:37.017Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-03T22:36:37.017Z"} {"level":"info","message":"✅ Connection request created: 7f05232f-fe9a-43dc-8bad-c6c9655d01a7","timestamp":"2025-10-03T22:36:37.017Z"} {"level":"info","message":"✅ Connection initiated: 7f05232f-fe9a-43dc-8bad-c6c9655d01a7","timestamp":"2025-10-03T22:36:37.017Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=7f05232f-fe9a-43dc-8bad-c6c9655d01a7, accepted=true","timestamp":"2025-10-03T22:36:43.935Z"} {"level":"info","message":"✅ Connection established: 7f05232f-fe9a-43dc-8bad-c6c9655d01a7","timestamp":"2025-10-03T22:36:43.935Z"} {"level":"info","message":"✅ Connection accepted: 7f05232f-fe9a-43dc-8bad-c6c9655d01a7","timestamp":"2025-10-03T22:36:43.935Z"} {"level":"info","message":"Client disconnected: T7--XqVUPCkQgsffAAAR, reason: client namespace disconnect","timestamp":"2025-10-03T22:38:28.640Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:38:28.640Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:38:28.640Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Ujwz_DXgwtwg-gyQAAAZ","timestamp":"2025-10-03T22:38:50.696Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Ujwz_DXgwtwg-gyQAAAZ","timestamp":"2025-10-03T22:38:50.696Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531131473,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:38:52.457Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531131473,"sdkVersion":28,"timestamp":"2025-10-03T22:38:52.457Z"} {"level":"info","message":"Client disconnected: Ujwz_DXgwtwg-gyQAAAZ, reason: transport close","timestamp":"2025-10-03T22:38:54.247Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:38:54.247Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:38:54.247Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 3cjRSgMHNYYmFzHnAAAb","timestamp":"2025-10-03T22:39:14.869Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 3cjRSgMHNYYmFzHnAAAb","timestamp":"2025-10-03T22:39:14.869Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531155778,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:39:16.758Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531155778,"sdkVersion":28,"timestamp":"2025-10-03T22:39:16.758Z"} {"level":"info","message":"Client disconnected: Sc5XMB_lTnJiqfFxAAAX, reason: client namespace disconnect","timestamp":"2025-10-03T22:39:32.711Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:39:32.711Z"} {"level":"info","message":"🔌 Connection terminated: 7f05232f-fe9a-43dc-8bad-c6c9655d01a7 - Operator disconnected","timestamp":"2025-10-03T22:39:32.711Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:39:32.711Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: JXT_GBzf5Ze_ySsqAAAd","timestamp":"2025-10-03T22:39:33.314Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:39:33.315Z"} {"level":"info","message":"📷 Camera request received from operator socket JXT_GBzf5Ze_ySsqAAAd","timestamp":"2025-10-03T22:39:35.512Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:39:35.512Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:39:35.512Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:39:35.512Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:39:35.512Z"} {"level":"info","message":"✅ Connection request created: 6a8c88a9-b876-4a8a-821c-e27822fcf85b","timestamp":"2025-10-03T22:39:35.513Z"} {"level":"info","message":"✅ Connection initiated: 6a8c88a9-b876-4a8a-821c-e27822fcf85b","timestamp":"2025-10-03T22:39:35.513Z"} {"level":"warn","message":"⏰ Connection timeout: 6a8c88a9-b876-4a8a-821c-e27822fcf85b","timestamp":"2025-10-03T22:40:05.513Z"} {"level":"info","message":"❌ Connection rejected: 6a8c88a9-b876-4a8a-821c-e27822fcf85b - Connection timeout","timestamp":"2025-10-03T22:40:05.513Z"} {"level":"info","message":"Client disconnected: 3cjRSgMHNYYmFzHnAAAb, reason: transport close","timestamp":"2025-10-03T22:40:47.900Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:40:47.900Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:40:47.901Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 3WtIOVRwMfCkFgPwAAAf","timestamp":"2025-10-03T22:41:20.351Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 3WtIOVRwMfCkFgPwAAAf","timestamp":"2025-10-03T22:41:20.351Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531281204,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:41:22.189Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531281204,"sdkVersion":28,"timestamp":"2025-10-03T22:41:22.189Z"} {"level":"info","message":"Client disconnected: 3WtIOVRwMfCkFgPwAAAf, reason: client namespace disconnect","timestamp":"2025-10-03T22:41:34.668Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:41:34.668Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:41:34.668Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ETqOJND2GAUFgdZWAAAh","timestamp":"2025-10-03T22:41:36.457Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: ETqOJND2GAUFgdZWAAAh","timestamp":"2025-10-03T22:41:36.457Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531297498,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:41:38.471Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531297498,"sdkVersion":28,"timestamp":"2025-10-03T22:41:38.471Z"} {"level":"info","message":"Client disconnected: ETqOJND2GAUFgdZWAAAh, reason: client namespace disconnect","timestamp":"2025-10-03T22:41:49.347Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:41:49.347Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:41:49.347Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: L9ZgoyUN29H9IgMMAAAj","timestamp":"2025-10-03T22:41:53.623Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: L9ZgoyUN29H9IgMMAAAj","timestamp":"2025-10-03T22:41:53.623Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531314620,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:41:55.594Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531314620,"sdkVersion":28,"timestamp":"2025-10-03T22:41:55.594Z"} {"level":"info","message":"Client disconnected: JXT_GBzf5Ze_ySsqAAAd, reason: client namespace disconnect","timestamp":"2025-10-03T22:42:00.400Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:42:00.400Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:42:00.400Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: LgDaP7xrCAmidIZ3AAAl","timestamp":"2025-10-03T22:42:01.169Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:42:01.171Z"} {"level":"info","message":"📷 Camera request received from operator socket LgDaP7xrCAmidIZ3AAAl","timestamp":"2025-10-03T22:42:03.191Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:42:03.192Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:42:03.192Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:42:03.192Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:42:03.192Z"} {"level":"info","message":"✅ Connection request created: b7e2fff3-2d02-46a4-8adf-ebe622ead7b5","timestamp":"2025-10-03T22:42:03.192Z"} {"level":"info","message":"✅ Connection initiated: b7e2fff3-2d02-46a4-8adf-ebe622ead7b5","timestamp":"2025-10-03T22:42:03.192Z"} {"level":"info","message":"Client disconnected: L9ZgoyUN29H9IgMMAAAj, reason: transport close","timestamp":"2025-10-03T22:42:17.303Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:42:17.303Z"} {"level":"info","message":"🔌 Connection terminated: b7e2fff3-2d02-46a4-8adf-ebe622ead7b5 - Device disconnected","timestamp":"2025-10-03T22:42:17.303Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:42:17.303Z"} {"level":"warn","message":"⏰ Connection timeout: b7e2fff3-2d02-46a4-8adf-ebe622ead7b5","timestamp":"2025-10-03T22:42:33.194Z"} {"level":"info","message":"Connection b7e2fff3-2d02-46a4-8adf-ebe622ead7b5 already removed from pending requests","timestamp":"2025-10-03T22:42:33.194Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: uakyP3fy3alVRAC1AAAn","timestamp":"2025-10-03T22:42:46.928Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: uakyP3fy3alVRAC1AAAn","timestamp":"2025-10-03T22:42:46.928Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531367747,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:42:48.740Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531367747,"sdkVersion":28,"timestamp":"2025-10-03T22:42:48.740Z"} {"level":"info","message":"Client disconnected: uakyP3fy3alVRAC1AAAn, reason: transport close","timestamp":"2025-10-03T22:44:14.348Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:44:14.348Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:44:14.348Z"} {"level":"info","message":"Client disconnected: cin-t1jDJqhEW394AAAL, reason: forced close","timestamp":"2025-10-03T22:44:49.720Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QsELbViwHeJRx2ZVAAAp","timestamp":"2025-10-03T22:44:49.879Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: QsELbViwHeJRx2ZVAAAp, reason: transport close","timestamp":"2025-10-03T22:44:53.427Z"} {"level":"info","message":"Client disconnected: ju1agThJ_rLMTS7CAAAV, reason: client namespace disconnect","timestamp":"2025-10-03T22:45:08.881Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-03T22:45:08.882Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-03T22:45:08.882Z"} {"level":"info","message":"Client disconnected: iF568YSAW9gQzTbJAAAH, reason: transport close","timestamp":"2025-10-03T22:45:10.682Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: mMyUtFxDZeRNYoX2AAAr","timestamp":"2025-10-03T22:45:24.191Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: mMyUtFxDZeRNYoX2AAAr, reason: transport close","timestamp":"2025-10-03T22:45:24.875Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: y1DWxw4LGppzmETTAAAt","timestamp":"2025-10-03T22:45:24.891Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3rGcfYudU9mGONUnAAAv","timestamp":"2025-10-03T22:45:41.774Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: PCDEMO device","model":"Samsung Galaxy S21","timestamp":"2025-10-03T22:45:41.778Z"} {"level":"info","message":"Client disconnected: LgDaP7xrCAmidIZ3AAAl, reason: client namespace disconnect","timestamp":"2025-10-03T22:45:46.276Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:45:46.276Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:45:46.276Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 5gTa6sj3K_xgFuB-AAAx","timestamp":"2025-10-03T22:45:46.694Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:45:46.695Z"} {"level":"info","message":"📷 Camera request received from operator socket 5gTa6sj3K_xgFuB-AAAx","timestamp":"2025-10-03T22:45:48.237Z"} {"cameraType":"back","deviceId":"PCDEMO device","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:45:48.237Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:45:48.237Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> PCDEMO device (back)","timestamp":"2025-10-03T22:45:48.237Z"} {"level":"info","message":"📱 Sending camera:request to Android device PCDEMO device","timestamp":"2025-10-03T22:45:48.237Z"} {"level":"info","message":"✅ Connection request created: 1c4aeeb7-9116-4639-aafb-5b8dc4953d39","timestamp":"2025-10-03T22:45:48.237Z"} {"level":"info","message":"✅ Connection initiated: 1c4aeeb7-9116-4639-aafb-5b8dc4953d39","timestamp":"2025-10-03T22:45:48.238Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=1c4aeeb7-9116-4639-aafb-5b8dc4953d39, accepted=true","timestamp":"2025-10-03T22:45:50.611Z"} {"level":"info","message":"✅ Connection established: 1c4aeeb7-9116-4639-aafb-5b8dc4953d39","timestamp":"2025-10-03T22:45:50.611Z"} {"level":"info","message":"✅ Connection accepted: 1c4aeeb7-9116-4639-aafb-5b8dc4953d39","timestamp":"2025-10-03T22:45:50.611Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: WpN-H7lbA2Df8ukQAAAz","timestamp":"2025-10-03T22:46:08.754Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: WpN-H7lbA2Df8ukQAAAz","timestamp":"2025-10-03T22:46:08.754Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531569304,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:46:10.294Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531569304,"sdkVersion":28,"timestamp":"2025-10-03T22:46:10.294Z"} {"level":"info","message":"Client disconnected: 5gTa6sj3K_xgFuB-AAAx, reason: client namespace disconnect","timestamp":"2025-10-03T22:46:42.916Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:46:42.916Z"} {"level":"info","message":"🔌 Connection terminated: 1c4aeeb7-9116-4639-aafb-5b8dc4953d39 - Operator disconnected","timestamp":"2025-10-03T22:46:42.916Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:46:42.916Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: vbGDOVF3-3hCfnElAAA1","timestamp":"2025-10-03T22:46:43.279Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:46:43.280Z"} {"level":"info","message":"📷 Camera request received from operator socket vbGDOVF3-3hCfnElAAA1","timestamp":"2025-10-03T22:46:48.348Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:46:48.348Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:46:48.348Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:46:48.348Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:46:48.348Z"} {"level":"info","message":"✅ Connection request created: 6a516b16-9c6d-49ad-8723-d8e4e048a188","timestamp":"2025-10-03T22:46:48.349Z"} {"level":"info","message":"✅ Connection initiated: 6a516b16-9c6d-49ad-8723-d8e4e048a188","timestamp":"2025-10-03T22:46:48.349Z"} {"level":"info","message":"📷 Camera request received from operator socket vbGDOVF3-3hCfnElAAA1","timestamp":"2025-10-03T22:46:50.012Z"} {"cameraType":"back","deviceId":"PCDEMO device","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:46:50.012Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:46:50.012Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> PCDEMO device (back)","timestamp":"2025-10-03T22:46:50.012Z"} {"level":"info","message":"📱 Sending camera:request to Android device PCDEMO device","timestamp":"2025-10-03T22:46:50.013Z"} {"level":"info","message":"✅ Connection request created: 4c7881e6-f8e5-4236-baad-85a29dde3703","timestamp":"2025-10-03T22:46:50.013Z"} {"level":"info","message":"✅ Connection initiated: 4c7881e6-f8e5-4236-baad-85a29dde3703","timestamp":"2025-10-03T22:46:50.013Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=4c7881e6-f8e5-4236-baad-85a29dde3703, accepted=true","timestamp":"2025-10-03T22:46:56.307Z"} {"level":"info","message":"✅ Connection established: 4c7881e6-f8e5-4236-baad-85a29dde3703","timestamp":"2025-10-03T22:46:56.308Z"} {"level":"info","message":"✅ Connection accepted: 4c7881e6-f8e5-4236-baad-85a29dde3703","timestamp":"2025-10-03T22:46:56.308Z"} {"level":"info","message":"Camera session ended: 4c7881e6-f8e5-4236-baad-85a29dde3703","timestamp":"2025-10-03T22:46:58.772Z"} {"level":"info","message":"📷 Camera request received from operator socket vbGDOVF3-3hCfnElAAA1","timestamp":"2025-10-03T22:47:09.700Z"} {"cameraType":"back","deviceId":"PCDEMO device","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:47:09.700Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:09.701Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> PCDEMO device (back)","timestamp":"2025-10-03T22:47:09.701Z"} {"level":"error","message":"❌ Connection validation failed: Device not connected","timestamp":"2025-10-03T22:47:09.701Z"} {"level":"error","message":"❌ Failed to initiate connection: Device not connected","timestamp":"2025-10-03T22:47:09.701Z"} {"level":"info","message":"📷 Camera request received from operator socket vbGDOVF3-3hCfnElAAA1","timestamp":"2025-10-03T22:47:17.436Z"} {"cameraType":"back","deviceId":"PCDEMO device","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:47:17.437Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:17.437Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> PCDEMO device (back)","timestamp":"2025-10-03T22:47:17.437Z"} {"level":"error","message":"❌ Connection validation failed: Device not connected","timestamp":"2025-10-03T22:47:17.437Z"} {"level":"error","message":"❌ Failed to initiate connection: Device not connected","timestamp":"2025-10-03T22:47:17.437Z"} {"level":"warn","message":"⏰ Connection timeout: 6a516b16-9c6d-49ad-8723-d8e4e048a188","timestamp":"2025-10-03T22:47:18.349Z"} {"level":"info","message":"❌ Connection rejected: 6a516b16-9c6d-49ad-8723-d8e4e048a188 - Connection timeout","timestamp":"2025-10-03T22:47:18.349Z"} {"level":"info","message":"Client disconnected: y1DWxw4LGppzmETTAAAt, reason: transport close","timestamp":"2025-10-03T22:47:22.239Z"} {"level":"info","message":"Client disconnected: 3rGcfYudU9mGONUnAAAv, reason: transport close","timestamp":"2025-10-03T22:47:22.239Z"} {"level":"info","message":"🧹 Cleaning up connections for device: PCDEMO device","timestamp":"2025-10-03T22:47:22.239Z"} {"level":"info","message":"🔌 Connection terminated: 4c7881e6-f8e5-4236-baad-85a29dde3703 - Device disconnected","timestamp":"2025-10-03T22:47:22.239Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device PCDEMO device","timestamp":"2025-10-03T22:47:22.239Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: MyWb8iobH_u6m1s5AAA3","timestamp":"2025-10-03T22:47:22.255Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: bR6gMN-9NZVb3ClFAAA5","timestamp":"2025-10-03T22:47:25.143Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T22:47:25.146Z"} {"level":"info","message":"Client disconnected: vbGDOVF3-3hCfnElAAA1, reason: client namespace disconnect","timestamp":"2025-10-03T22:47:26.652Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:26.652Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:26.652Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1_mL5zc-CVlYRasWAAA7","timestamp":"2025-10-03T22:47:27.266Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:27.269Z"} {"level":"info","message":"📷 Camera request received from operator socket 1_mL5zc-CVlYRasWAAA7","timestamp":"2025-10-03T22:47:28.629Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:47:28.629Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:28.629Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:47:28.629Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-03T22:47:28.630Z"} {"level":"info","message":"✅ Connection request created: 9c0925da-0cf7-405c-960b-08245debb97c","timestamp":"2025-10-03T22:47:28.630Z"} {"level":"info","message":"✅ Connection initiated: 9c0925da-0cf7-405c-960b-08245debb97c","timestamp":"2025-10-03T22:47:28.630Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=9c0925da-0cf7-405c-960b-08245debb97c, accepted=true","timestamp":"2025-10-03T22:47:30.724Z"} {"level":"info","message":"✅ Connection established: 9c0925da-0cf7-405c-960b-08245debb97c","timestamp":"2025-10-03T22:47:30.724Z"} {"level":"info","message":"✅ Connection accepted: 9c0925da-0cf7-405c-960b-08245debb97c","timestamp":"2025-10-03T22:47:30.725Z"} {"level":"info","message":"Client disconnected: 1_mL5zc-CVlYRasWAAA7, reason: client namespace disconnect","timestamp":"2025-10-03T22:47:32.420Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:32.420Z"} {"level":"info","message":"🔌 Connection terminated: 9c0925da-0cf7-405c-960b-08245debb97c - Operator disconnected","timestamp":"2025-10-03T22:47:32.420Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:32.420Z"} {"level":"info","message":"Client disconnected: bR6gMN-9NZVb3ClFAAA5, reason: client namespace disconnect","timestamp":"2025-10-03T22:47:33.821Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-03T22:47:33.821Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-03T22:47:33.822Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NTSLpiIDzAFa_UxeAAA9","timestamp":"2025-10-03T22:47:34.727Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-03T22:47:34.730Z"} {"level":"info","message":"Client disconnected: WpN-H7lbA2Df8ukQAAAz, reason: client namespace disconnect","timestamp":"2025-10-03T22:47:40.312Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:47:40.312Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:47:40.313Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9TJ_o1tkXWUVukyLAAA_","timestamp":"2025-10-03T22:47:42.437Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 9TJ_o1tkXWUVukyLAAA_","timestamp":"2025-10-03T22:47:42.437Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759531663103,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:47:44.092Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759531663103,"sdkVersion":28,"timestamp":"2025-10-03T22:47:44.092Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SShCc59tPKzTq2-1AABB","timestamp":"2025-10-03T22:47:47.160Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:47.161Z"} {"level":"info","message":"📷 Camera request received from operator socket SShCc59tPKzTq2-1AABB","timestamp":"2025-10-03T22:47:49.061Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:47:49.061Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:49.061Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:47:49.061Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:47:49.061Z"} {"level":"info","message":"✅ Connection request created: 2bb214a0-f8ef-4180-a0ef-26b893717c66","timestamp":"2025-10-03T22:47:49.062Z"} {"level":"info","message":"✅ Connection initiated: 2bb214a0-f8ef-4180-a0ef-26b893717c66","timestamp":"2025-10-03T22:47:49.062Z"} {"level":"info","message":"📷 Camera request received from operator socket SShCc59tPKzTq2-1AABB","timestamp":"2025-10-03T22:47:50.029Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:47:50.029Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:47:50.029Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> demo-device-001 (back)","timestamp":"2025-10-03T22:47:50.030Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-03T22:47:50.030Z"} {"level":"info","message":"✅ Connection request created: c86e33f9-8159-4d42-a873-44a983cd108f","timestamp":"2025-10-03T22:47:50.030Z"} {"level":"info","message":"✅ Connection initiated: c86e33f9-8159-4d42-a873-44a983cd108f","timestamp":"2025-10-03T22:47:50.030Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=c86e33f9-8159-4d42-a873-44a983cd108f, accepted=true","timestamp":"2025-10-03T22:47:51.614Z"} {"level":"info","message":"✅ Connection established: c86e33f9-8159-4d42-a873-44a983cd108f","timestamp":"2025-10-03T22:47:51.614Z"} {"level":"info","message":"✅ Connection accepted: c86e33f9-8159-4d42-a873-44a983cd108f","timestamp":"2025-10-03T22:47:51.614Z"} {"level":"warn","message":"⏰ Connection timeout: 2bb214a0-f8ef-4180-a0ef-26b893717c66","timestamp":"2025-10-03T22:48:19.062Z"} {"level":"info","message":"❌ Connection rejected: 2bb214a0-f8ef-4180-a0ef-26b893717c66 - Connection timeout","timestamp":"2025-10-03T22:48:19.062Z"} {"level":"info","message":"Client disconnected: 9TJ_o1tkXWUVukyLAAA_, reason: transport close","timestamp":"2025-10-03T22:58:07.309Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5JmJuNp4llHfwzL8AABD","timestamp":"2025-10-03T22:58:41.553Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 5JmJuNp4llHfwzL8AABD","timestamp":"2025-10-03T22:58:41.553Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","manufacturer":"LGE","model":"LGM-G600S","platform":"android","registrationTime":1759532322778,"sdkVersion":28},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-03T22:58:43.379Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"brandName":"lge","capabilities":{"audio":true,"cameraSwitch":true,"video":true,"webrtc":true},"deviceName":"lucye","level":"info","manufacturer":"LGE","message":"Android client registered: android_bcac6e0d","model":"LGM-G600S","platform":"android","registrationTime":1759532322778,"sdkVersion":28,"timestamp":"2025-10-03T22:58:43.379Z"} {"level":"info","message":"Client disconnected: SShCc59tPKzTq2-1AABB, reason: client namespace disconnect","timestamp":"2025-10-03T22:58:48.187Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:58:48.187Z"} {"level":"info","message":"🔌 Connection terminated: c86e33f9-8159-4d42-a873-44a983cd108f - Operator disconnected","timestamp":"2025-10-03T22:58:48.187Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:58:48.188Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: V-1hahqkbETY2K4iAABF","timestamp":"2025-10-03T22:58:48.639Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:58:48.640Z"} {"level":"info","message":"📷 Camera request received from operator socket V-1hahqkbETY2K4iAABF","timestamp":"2025-10-03T22:58:50.172Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-03T22:58:50.172Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T22:58:50.172Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-03T22:58:50.172Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-03T22:58:50.172Z"} {"level":"info","message":"✅ Connection request created: 3370157d-0251-42c4-8b8e-315989f158df","timestamp":"2025-10-03T22:58:50.173Z"} {"level":"info","message":"✅ Connection initiated: 3370157d-0251-42c4-8b8e-315989f158df","timestamp":"2025-10-03T22:58:50.173Z"} {"level":"info","message":"Client disconnected: 5JmJuNp4llHfwzL8AABD, reason: transport close","timestamp":"2025-10-03T22:59:12.644Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-03T22:59:12.644Z"} {"level":"info","message":"🔌 Connection terminated: 3370157d-0251-42c4-8b8e-315989f158df - Device disconnected","timestamp":"2025-10-03T22:59:12.644Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-03T22:59:12.644Z"} {"level":"warn","message":"⏰ Connection timeout: 3370157d-0251-42c4-8b8e-315989f158df","timestamp":"2025-10-03T22:59:20.173Z"} {"level":"info","message":"Connection 3370157d-0251-42c4-8b8e-315989f158df already removed from pending requests","timestamp":"2025-10-03T22:59:20.173Z"} {"level":"info","message":"Client disconnected: V-1hahqkbETY2K4iAABF, reason: client namespace disconnect","timestamp":"2025-10-03T23:08:59.071Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T23:08:59.071Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T23:08:59.071Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: pDEZaDorjUSVBmi3AABH","timestamp":"2025-10-03T23:08:59.489Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-03T23:08:59.490Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Zsb8C9rWlZwx3ahyAABJ","timestamp":"2025-10-04T00:13:16.753Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Zsb8C9rWlZwx3ahyAABJ","timestamp":"2025-10-04T00:13:16.753Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:13:16.809Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:13:16.809Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:13:16.863Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:13:16.863Z"} {"level":"info","message":"Client disconnected: pDEZaDorjUSVBmi3AABH, reason: client namespace disconnect","timestamp":"2025-10-04T00:13:22.573Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:22.574Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:22.574Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SC0n_FfDe8UsaMMLAABL","timestamp":"2025-10-04T00:13:22.929Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:22.930Z"} {"level":"info","message":"📷 Camera request received from operator socket SC0n_FfDe8UsaMMLAABL","timestamp":"2025-10-04T00:13:24.006Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:13:24.006Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:24.006Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:13:24.006Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:13:24.006Z"} {"level":"info","message":"✅ Connection request created: cbc2be81-f2fc-4e23-a582-9c6e165b7370","timestamp":"2025-10-04T00:13:24.007Z"} {"level":"info","message":"✅ Connection initiated: cbc2be81-f2fc-4e23-a582-9c6e165b7370","timestamp":"2025-10-04T00:13:24.007Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"cbc2be81-f2fc-4e23-a582-9c6e165b7370","timestamp":"2025-10-04T00:13:24.286Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=cbc2be81-f2fc-4e23-a582-9c6e165b7370, accepted=true","timestamp":"2025-10-04T00:13:24.286Z"} {"level":"info","message":"✅ Connection established: cbc2be81-f2fc-4e23-a582-9c6e165b7370","timestamp":"2025-10-04T00:13:24.286Z"} {"level":"info","message":"✅ Connection accepted: cbc2be81-f2fc-4e23-a582-9c6e165b7370","timestamp":"2025-10-04T00:13:24.287Z"} {"level":"info","message":"Client disconnected: Zsb8C9rWlZwx3ahyAABJ, reason: transport close","timestamp":"2025-10-04T00:13:29.383Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:13:29.383Z"} {"level":"info","message":"🔌 Connection terminated: cbc2be81-f2fc-4e23-a582-9c6e165b7370 - Device disconnected","timestamp":"2025-10-04T00:13:29.384Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:13:29.384Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VkYq8oPhHQK6Uu35AABN","timestamp":"2025-10-04T00:13:37.531Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: VkYq8oPhHQK6Uu35AABN","timestamp":"2025-10-04T00:13:37.531Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:13:37.593Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:13:37.593Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:13:37.622Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:13:37.622Z"} {"level":"info","message":"Client disconnected: SC0n_FfDe8UsaMMLAABL, reason: client namespace disconnect","timestamp":"2025-10-04T00:13:39.206Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:39.206Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:39.206Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: B4q4J2hjbdkv1KymAABP","timestamp":"2025-10-04T00:13:39.680Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:39.681Z"} {"level":"info","message":"📷 Camera request received from operator socket B4q4J2hjbdkv1KymAABP","timestamp":"2025-10-04T00:13:40.806Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:13:40.806Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:13:40.806Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:13:40.807Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:13:40.807Z"} {"level":"info","message":"✅ Connection request created: 105e4ea9-2c1a-43b7-b428-c531955a8255","timestamp":"2025-10-04T00:13:40.807Z"} {"level":"info","message":"✅ Connection initiated: 105e4ea9-2c1a-43b7-b428-c531955a8255","timestamp":"2025-10-04T00:13:40.807Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"105e4ea9-2c1a-43b7-b428-c531955a8255","timestamp":"2025-10-04T00:13:41.370Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=105e4ea9-2c1a-43b7-b428-c531955a8255, accepted=true","timestamp":"2025-10-04T00:13:41.371Z"} {"level":"info","message":"✅ Connection established: 105e4ea9-2c1a-43b7-b428-c531955a8255","timestamp":"2025-10-04T00:13:41.371Z"} {"level":"info","message":"✅ Connection accepted: 105e4ea9-2c1a-43b7-b428-c531955a8255","timestamp":"2025-10-04T00:13:41.371Z"} {"level":"info","message":"Client disconnected: VkYq8oPhHQK6Uu35AABN, reason: transport close","timestamp":"2025-10-04T00:13:46.273Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:13:46.273Z"} {"level":"info","message":"🔌 Connection terminated: 105e4ea9-2c1a-43b7-b428-c531955a8255 - Device disconnected","timestamp":"2025-10-04T00:13:46.273Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:13:46.273Z"} {"level":"info","message":"Client disconnected: B4q4J2hjbdkv1KymAABP, reason: client namespace disconnect","timestamp":"2025-10-04T00:14:14.565Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:14.565Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:14.566Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5MZjiYT8EuUrUYuQAABR","timestamp":"2025-10-04T00:14:24.204Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 5MZjiYT8EuUrUYuQAABR","timestamp":"2025-10-04T00:14:24.204Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:14:24.298Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:14:24.298Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:14:24.368Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:14:24.368Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: yQ5xsYCLG4RtWPpPAABT","timestamp":"2025-10-04T00:14:26.649Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:26.650Z"} {"level":"info","message":"📷 Camera request received from operator socket yQ5xsYCLG4RtWPpPAABT","timestamp":"2025-10-04T00:14:28.998Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:14:28.998Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:28.998Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:14:28.998Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:14:28.998Z"} {"level":"info","message":"✅ Connection request created: d973498d-d151-4f97-92ad-4972fa51ebb6","timestamp":"2025-10-04T00:14:28.999Z"} {"level":"info","message":"✅ Connection initiated: d973498d-d151-4f97-92ad-4972fa51ebb6","timestamp":"2025-10-04T00:14:28.999Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"d973498d-d151-4f97-92ad-4972fa51ebb6","timestamp":"2025-10-04T00:14:29.429Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=d973498d-d151-4f97-92ad-4972fa51ebb6, accepted=true","timestamp":"2025-10-04T00:14:29.429Z"} {"level":"info","message":"✅ Connection established: d973498d-d151-4f97-92ad-4972fa51ebb6","timestamp":"2025-10-04T00:14:29.429Z"} {"level":"info","message":"✅ Connection accepted: d973498d-d151-4f97-92ad-4972fa51ebb6","timestamp":"2025-10-04T00:14:29.429Z"} {"level":"info","message":"Client disconnected: 5MZjiYT8EuUrUYuQAABR, reason: transport close","timestamp":"2025-10-04T00:14:31.372Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:14:31.372Z"} {"level":"info","message":"🔌 Connection terminated: d973498d-d151-4f97-92ad-4972fa51ebb6 - Device disconnected","timestamp":"2025-10-04T00:14:31.372Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:14:31.372Z"} {"level":"info","message":"Client disconnected: yQ5xsYCLG4RtWPpPAABT, reason: client namespace disconnect","timestamp":"2025-10-04T00:14:42.485Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:42.486Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:42.486Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ukItqHZyuonDJAQ-AABV","timestamp":"2025-10-04T00:14:53.995Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: ukItqHZyuonDJAQ-AABV","timestamp":"2025-10-04T00:14:53.995Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:14:54.058Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:14:54.058Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:14:54.123Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:14:54.124Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QLsTwzO5BRndACScAABX","timestamp":"2025-10-04T00:14:56.313Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:56.315Z"} {"level":"info","message":"📷 Camera request received from operator socket QLsTwzO5BRndACScAABX","timestamp":"2025-10-04T00:14:57.718Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:14:57.719Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:14:57.719Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:14:57.719Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:14:57.719Z"} {"level":"info","message":"✅ Connection request created: 9cea04ef-b227-46a3-99ad-af56bd727b48","timestamp":"2025-10-04T00:14:57.719Z"} {"level":"info","message":"✅ Connection initiated: 9cea04ef-b227-46a3-99ad-af56bd727b48","timestamp":"2025-10-04T00:14:57.719Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"9cea04ef-b227-46a3-99ad-af56bd727b48","timestamp":"2025-10-04T00:14:58.064Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=9cea04ef-b227-46a3-99ad-af56bd727b48, accepted=true","timestamp":"2025-10-04T00:14:58.064Z"} {"level":"info","message":"✅ Connection established: 9cea04ef-b227-46a3-99ad-af56bd727b48","timestamp":"2025-10-04T00:14:58.064Z"} {"level":"info","message":"✅ Connection accepted: 9cea04ef-b227-46a3-99ad-af56bd727b48","timestamp":"2025-10-04T00:14:58.064Z"} {"level":"info","message":"Client disconnected: ukItqHZyuonDJAQ-AABV, reason: transport close","timestamp":"2025-10-04T00:15:07.612Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:15:07.613Z"} {"level":"info","message":"🔌 Connection terminated: 9cea04ef-b227-46a3-99ad-af56bd727b48 - Device disconnected","timestamp":"2025-10-04T00:15:07.613Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:15:07.613Z"} {"level":"info","message":"Client disconnected: QLsTwzO5BRndACScAABX, reason: client namespace disconnect","timestamp":"2025-10-04T00:21:06.111Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:21:06.111Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:21:06.111Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: cb2CU5exOI2oeM2bAABZ","timestamp":"2025-10-04T00:21:10.079Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: cb2CU5exOI2oeM2bAABZ","timestamp":"2025-10-04T00:21:10.079Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:21:10.129Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:21:10.129Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:21:10.234Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:21:10.234Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: FdUkGrcLer1QVt6nAABb","timestamp":"2025-10-04T00:21:14.792Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:21:14.793Z"} {"level":"info","message":"📷 Camera request received from operator socket FdUkGrcLer1QVt6nAABb","timestamp":"2025-10-04T00:21:16.454Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:21:16.454Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:21:16.454Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:21:16.454Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:21:16.454Z"} {"level":"info","message":"✅ Connection request created: a36dec8d-78ad-449f-863d-9e5bea86d5fe","timestamp":"2025-10-04T00:21:16.454Z"} {"level":"info","message":"✅ Connection initiated: a36dec8d-78ad-449f-863d-9e5bea86d5fe","timestamp":"2025-10-04T00:21:16.454Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"a36dec8d-78ad-449f-863d-9e5bea86d5fe","timestamp":"2025-10-04T00:21:16.862Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=a36dec8d-78ad-449f-863d-9e5bea86d5fe, accepted=true","timestamp":"2025-10-04T00:21:16.862Z"} {"level":"info","message":"✅ Connection established: a36dec8d-78ad-449f-863d-9e5bea86d5fe","timestamp":"2025-10-04T00:21:16.862Z"} {"level":"info","message":"✅ Connection accepted: a36dec8d-78ad-449f-863d-9e5bea86d5fe","timestamp":"2025-10-04T00:21:16.862Z"} {"level":"info","message":"Client disconnected: cb2CU5exOI2oeM2bAABZ, reason: transport close","timestamp":"2025-10-04T00:24:04.594Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:24:04.594Z"} {"level":"info","message":"🔌 Connection terminated: a36dec8d-78ad-449f-863d-9e5bea86d5fe - Device disconnected","timestamp":"2025-10-04T00:24:04.594Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:24:04.594Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T00:24:16.303Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:24:23.550Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: O-cQQg43ZlrRqBfaAAAB","timestamp":"2025-10-04T00:24:24.966Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T00:24:24.977Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -SIQ5LSA7L0egFHqAAAD","timestamp":"2025-10-04T00:24:25.576Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:24:25.577Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WtxCQfTqQGJgDWvrAAAF","timestamp":"2025-10-04T00:24:25.953Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: -SIQ5LSA7L0egFHqAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T00:24:26.509Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:24:26.510Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:24:26.510Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:24:31.803Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: k0XGnq990IJ_ocpkAAAB","timestamp":"2025-10-04T00:24:32.965Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: vpOyYYfNMRPGu9LCAAAD","timestamp":"2025-10-04T00:24:32.973Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 YaBrowser/25.8.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T00:24:32.978Z"} {"level":"info","message":"Client disconnected: k0XGnq990IJ_ocpkAAAB, reason: transport close","timestamp":"2025-10-04T00:24:37.291Z"} {"level":"info","message":"Client disconnected: vpOyYYfNMRPGu9LCAAAD, reason: transport close","timestamp":"2025-10-04T00:24:37.292Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T00:24:37.292Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T00:24:37.293Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T00:24:47.581Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:24:51.604Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: L_9mfFK54xg3Mn0qAAAB","timestamp":"2025-10-04T00:25:18.935Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: L_9mfFK54xg3Mn0qAAAB","timestamp":"2025-10-04T00:25:18.935Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:25:18.991Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:25:18.992Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:25:19.018Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:25:19.019Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: GUxLOmqxDM2ci3SGAAAD","timestamp":"2025-10-04T00:25:21.674Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:25:21.676Z"} {"level":"info","message":"📷 Camera request received from operator socket GUxLOmqxDM2ci3SGAAAD","timestamp":"2025-10-04T00:25:23.438Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:25:23.439Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:25:23.439Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:25:23.440Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:25:23.441Z"} {"level":"info","message":"✅ Connection request created: 3c45e380-55e2-49f6-9467-64388d6340a2","timestamp":"2025-10-04T00:25:23.442Z"} {"level":"info","message":"✅ Connection initiated: 3c45e380-55e2-49f6-9467-64388d6340a2","timestamp":"2025-10-04T00:25:23.442Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"3c45e380-55e2-49f6-9467-64388d6340a2","timestamp":"2025-10-04T00:25:23.776Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=3c45e380-55e2-49f6-9467-64388d6340a2, accepted=true","timestamp":"2025-10-04T00:25:23.777Z"} {"level":"info","message":"✅ Connection established: 3c45e380-55e2-49f6-9467-64388d6340a2","timestamp":"2025-10-04T00:25:23.777Z"} {"level":"info","message":"✅ Connection accepted: 3c45e380-55e2-49f6-9467-64388d6340a2","timestamp":"2025-10-04T00:25:23.777Z"} {"level":"info","message":"Client disconnected: L_9mfFK54xg3Mn0qAAAB, reason: transport close","timestamp":"2025-10-04T00:27:00.261Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:27:00.261Z"} {"level":"info","message":"🔌 Connection terminated: 3c45e380-55e2-49f6-9467-64388d6340a2 - Device disconnected","timestamp":"2025-10-04T00:27:00.261Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:27:00.262Z"} {"level":"info","message":"Client disconnected: GUxLOmqxDM2ci3SGAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T00:28:56.958Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:28:56.959Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:28:56.959Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ZIoPfekEGwmYBrvpAAAF","timestamp":"2025-10-04T00:29:34.492Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: ZIoPfekEGwmYBrvpAAAF","timestamp":"2025-10-04T00:29:34.493Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:29:34.547Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:29:34.548Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:29:34.582Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:29:34.582Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: LRXFcj--DehLAfuCAAAH","timestamp":"2025-10-04T00:29:35.726Z","userAgent":""} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:29:47.617Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VjPoy366mmSymxVYAAAB","timestamp":"2025-10-04T00:29:47.896Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2symiRXsk2jGqMfjAAAD","timestamp":"2025-10-04T00:29:48.621Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:29:48.623Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:30:05.302Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: xPq8aaRHHk_wmbWsAAAC","timestamp":"2025-10-04T00:30:05.657Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: xPq8aaRHHk_wmbWsAAAC","timestamp":"2025-10-04T00:30:05.658Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0sDaAZd9N7CQqocrAAAD","timestamp":"2025-10-04T00:30:05.667Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 0sDaAZd9N7CQqocrAAAD","timestamp":"2025-10-04T00:30:05.668Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:05.687Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:05.688Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:05.689Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:05.689Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:05.707Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:05.708Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:05.708Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:05.708Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: bnXSNyXqAXNAQfJnAAAF","timestamp":"2025-10-04T00:30:05.877Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: H-jCPy18r49eHtGlAAAH","timestamp":"2025-10-04T00:30:09.726Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:30:09.727Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:30:19.741Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VBcMqZTWhEW-T-eNAAAB","timestamp":"2025-10-04T00:30:20.255Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: VBcMqZTWhEW-T-eNAAAB","timestamp":"2025-10-04T00:30:20.255Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:20.300Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:20.301Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:20.352Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:20.353Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ZebkUF8EzzDPPrTRAAAD","timestamp":"2025-10-04T00:30:20.824Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TVUJ9EbyvJyMeBRVAAAF","timestamp":"2025-10-04T00:30:22.964Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: in2-_K9Qhvn82XBtAAAH","timestamp":"2025-10-04T00:30:23.487Z","userAgent":""} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: KHeJ16_7yq_TFrNwAAAJ","timestamp":"2025-10-04T00:30:23.601Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: KHeJ16_7yq_TFrNwAAAJ","timestamp":"2025-10-04T00:30:23.601Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:23.615Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:23.616Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:23.621Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:23.621Z"} {"level":"info","message":"Client disconnected: VBcMqZTWhEW-T-eNAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T00:30:32.339Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:30:32.339Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:30:32.340Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: xvL7iS6aVjG3UlFSAAAL","timestamp":"2025-10-04T00:30:33.496Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: xvL7iS6aVjG3UlFSAAAL","timestamp":"2025-10-04T00:30:33.496Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:33.537Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:30:33.537Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:33.537Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:30:33.538Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 26VhLWj8KRtwI_w0AAAN","timestamp":"2025-10-04T00:30:37.851Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:30:37.853Z"} {"level":"info","message":"📷 Camera request received from operator socket 26VhLWj8KRtwI_w0AAAN","timestamp":"2025-10-04T00:30:39.584Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:30:39.584Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:30:39.584Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:30:39.584Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:30:39.585Z"} {"level":"info","message":"✅ Connection request created: 60ce2144-68c2-48ac-bdcf-f6b39f30e0e1","timestamp":"2025-10-04T00:30:39.586Z"} {"level":"info","message":"✅ Connection initiated: 60ce2144-68c2-48ac-bdcf-f6b39f30e0e1","timestamp":"2025-10-04T00:30:39.586Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"60ce2144-68c2-48ac-bdcf-f6b39f30e0e1","timestamp":"2025-10-04T00:30:39.844Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=60ce2144-68c2-48ac-bdcf-f6b39f30e0e1, accepted=true","timestamp":"2025-10-04T00:30:39.845Z"} {"level":"info","message":"✅ Connection established: 60ce2144-68c2-48ac-bdcf-f6b39f30e0e1","timestamp":"2025-10-04T00:30:39.846Z"} {"level":"info","message":"✅ Connection accepted: 60ce2144-68c2-48ac-bdcf-f6b39f30e0e1","timestamp":"2025-10-04T00:30:39.846Z"} {"level":"info","message":"Client disconnected: xvL7iS6aVjG3UlFSAAAL, reason: transport close","timestamp":"2025-10-04T00:30:52.865Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:30:52.865Z"} {"level":"info","message":"🔌 Connection terminated: 60ce2144-68c2-48ac-bdcf-f6b39f30e0e1 - Device disconnected","timestamp":"2025-10-04T00:30:52.865Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:30:52.865Z"} {"level":"info","message":"Client disconnected: KHeJ16_7yq_TFrNwAAAJ, reason: transport close","timestamp":"2025-10-04T00:30:52.866Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: i-92d9AN3K3LJOh0AAAP","timestamp":"2025-10-04T00:31:17.437Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: i-92d9AN3K3LJOh0AAAP","timestamp":"2025-10-04T00:31:17.437Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:31:17.506Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:31:17.507Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:31:17.582Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:31:17.583Z"} {"level":"info","message":"Client disconnected: 26VhLWj8KRtwI_w0AAAN, reason: client namespace disconnect","timestamp":"2025-10-04T00:31:19.264Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:31:19.264Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:31:19.264Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3aPD1ZtZZKzbssgiAAAR","timestamp":"2025-10-04T00:31:20.300Z","userAgent":""} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:32:01.912Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: T8svBW0TDEQYGbIpAAAB","timestamp":"2025-10-04T00:32:02.024Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: X7NZ6C63vAwb57mDAAAD","timestamp":"2025-10-04T00:32:02.579Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: phj-bK9XDoJfe_3kAAAF","timestamp":"2025-10-04T00:32:03.963Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:03.965Z"} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:03.968Z"} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:03.969Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: h23GUIMDrZsd6OdqAAAH","timestamp":"2025-10-04T00:32:06.544Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:06.545Z"} {"level":"info","message":"Client disconnected: phj-bK9XDoJfe_3kAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T00:32:08.831Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:08.832Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:08.832Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: vdNbyTpjk30Zzu-yAAAJ","timestamp":"2025-10-04T00:32:10.011Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: vdNbyTpjk30Zzu-yAAAJ","timestamp":"2025-10-04T00:32:10.011Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:32:10.211Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:32:10.211Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:32:10.212Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:32:10.213Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -L7pyQfbnN-FFsXOAAAL","timestamp":"2025-10-04T00:32:12.220Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:12.221Z"} {"level":"info","message":"📷 Camera request received from operator socket -L7pyQfbnN-FFsXOAAAL","timestamp":"2025-10-04T00:32:13.280Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:32:13.280Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:32:13.280Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:32:13.280Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:32:13.281Z"} {"level":"info","message":"✅ Connection request created: b595ce58-98b4-4343-ab9c-d6006f442f40","timestamp":"2025-10-04T00:32:13.281Z"} {"level":"info","message":"✅ Connection initiated: b595ce58-98b4-4343-ab9c-d6006f442f40","timestamp":"2025-10-04T00:32:13.281Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"b595ce58-98b4-4343-ab9c-d6006f442f40","timestamp":"2025-10-04T00:32:13.481Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=b595ce58-98b4-4343-ab9c-d6006f442f40, accepted=true","timestamp":"2025-10-04T00:32:13.481Z"} {"level":"info","message":"✅ Connection established: b595ce58-98b4-4343-ab9c-d6006f442f40","timestamp":"2025-10-04T00:32:13.482Z"} {"level":"info","message":"✅ Connection accepted: b595ce58-98b4-4343-ab9c-d6006f442f40","timestamp":"2025-10-04T00:32:13.482Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"b595ce58-98b4-4343-ab9c-d6006f442f40","timestamp":"2025-10-04T00:34:36.051Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=b595ce58-98b4-4343-ab9c-d6006f442f40, accepted=true","timestamp":"2025-10-04T00:34:36.051Z"} {"level":"error","message":"❌ Connection request not found: b595ce58-98b4-4343-ab9c-d6006f442f40","timestamp":"2025-10-04T00:34:36.051Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T00:34:36.052Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T00:36:09.983Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T00:37:11.688Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T00:37:12.249Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T00:37:12.512Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T00:37:15.922Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: CVdo72E_KrkUAOp9AAAB","timestamp":"2025-10-04T00:37:15.957Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 31gB6dBAQ2UPx7JWAAAD","timestamp":"2025-10-04T00:37:16.326Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:16.329Z"} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:16.331Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: zQIbbfNASHbA_TPFAAAF","timestamp":"2025-10-04T00:37:16.886Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: zQIbbfNASHbA_TPFAAAF","timestamp":"2025-10-04T00:37:16.886Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:37:17.025Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:37:17.026Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:37:17.027Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:37:17.028Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SM1xBJBlBEBTMDK5AAAH","timestamp":"2025-10-04T00:37:17.961Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:17.962Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TLDdEQBXu0uU9F00AAAJ","timestamp":"2025-10-04T00:37:18.162Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:18.163Z"} {"level":"info","message":"Client disconnected: 31gB6dBAQ2UPx7JWAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T00:37:23.072Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:23.073Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:23.073Z"} {"level":"info","message":"Client disconnected: zQIbbfNASHbA_TPFAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T00:37:27.968Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:37:27.968Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:37:27.968Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 3n2JVHwsNN4q4Rz9AAAL","timestamp":"2025-10-04T00:37:31.661Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 3n2JVHwsNN4q4Rz9AAAL","timestamp":"2025-10-04T00:37:31.661Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:37:31.754Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:37:31.754Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:37:31.810Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:37:31.810Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: KL4GMU57SJHQlOixAAAN","timestamp":"2025-10-04T00:37:34.117Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:34.118Z"} {"level":"info","message":"📷 Camera request received from operator socket KL4GMU57SJHQlOixAAAN","timestamp":"2025-10-04T00:37:35.969Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:37:35.969Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:37:35.970Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:37:35.970Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:37:35.970Z"} {"level":"info","message":"✅ Connection request created: ab2b52c4-47a9-4fce-a2e1-6e84f3d9eaa7","timestamp":"2025-10-04T00:37:35.971Z"} {"level":"info","message":"✅ Connection initiated: ab2b52c4-47a9-4fce-a2e1-6e84f3d9eaa7","timestamp":"2025-10-04T00:37:35.971Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"ab2b52c4-47a9-4fce-a2e1-6e84f3d9eaa7","timestamp":"2025-10-04T00:37:36.236Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=ab2b52c4-47a9-4fce-a2e1-6e84f3d9eaa7, accepted=true","timestamp":"2025-10-04T00:37:36.237Z"} {"level":"info","message":"✅ Connection established: ab2b52c4-47a9-4fce-a2e1-6e84f3d9eaa7","timestamp":"2025-10-04T00:37:36.237Z"} {"level":"info","message":"✅ Connection accepted: ab2b52c4-47a9-4fce-a2e1-6e84f3d9eaa7","timestamp":"2025-10-04T00:37:36.238Z"} {"level":"info","message":"Client disconnected: 3n2JVHwsNN4q4Rz9AAAL, reason: transport close","timestamp":"2025-10-04T00:39:43.670Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:39:43.671Z"} {"level":"info","message":"🔌 Connection terminated: ab2b52c4-47a9-4fce-a2e1-6e84f3d9eaa7 - Device disconnected","timestamp":"2025-10-04T00:39:43.671Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:39:43.671Z"} {"level":"info","message":"Client disconnected: KL4GMU57SJHQlOixAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T00:39:54.027Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:39:54.027Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:39:54.027Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: x0pgpmDD5Q2-69J1AAAP","timestamp":"2025-10-04T00:40:05.302Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: x0pgpmDD5Q2-69J1AAAP","timestamp":"2025-10-04T00:40:05.302Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:40:05.445Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:40:05.445Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:40:05.588Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:40:05.588Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: LX5u-ualRyTd79ESAAAR","timestamp":"2025-10-04T00:40:10.941Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:40:10.941Z"} {"level":"info","message":"📷 Camera request received from operator socket LX5u-ualRyTd79ESAAAR","timestamp":"2025-10-04T00:40:11.889Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:40:11.889Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:40:11.889Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:40:11.889Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:40:11.889Z"} {"level":"info","message":"✅ Connection request created: d66540d6-85bb-49e1-a587-dc271111ad96","timestamp":"2025-10-04T00:40:11.889Z"} {"level":"info","message":"✅ Connection initiated: d66540d6-85bb-49e1-a587-dc271111ad96","timestamp":"2025-10-04T00:40:11.889Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"d66540d6-85bb-49e1-a587-dc271111ad96","timestamp":"2025-10-04T00:40:12.340Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=d66540d6-85bb-49e1-a587-dc271111ad96, accepted=true","timestamp":"2025-10-04T00:40:12.340Z"} {"level":"info","message":"✅ Connection established: d66540d6-85bb-49e1-a587-dc271111ad96","timestamp":"2025-10-04T00:40:12.340Z"} {"level":"info","message":"✅ Connection accepted: d66540d6-85bb-49e1-a587-dc271111ad96","timestamp":"2025-10-04T00:40:12.340Z"} {"level":"info","message":"Client disconnected: x0pgpmDD5Q2-69J1AAAP, reason: client namespace disconnect","timestamp":"2025-10-04T00:43:24.729Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:43:24.730Z"} {"level":"info","message":"🔌 Connection terminated: d66540d6-85bb-49e1-a587-dc271111ad96 - Device disconnected","timestamp":"2025-10-04T00:43:24.730Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:43:24.730Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: PUxwT0UqyZ-YvEnzAAAT","timestamp":"2025-10-04T00:43:26.692Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: PUxwT0UqyZ-YvEnzAAAT","timestamp":"2025-10-04T00:43:26.692Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:43:26.784Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:43:26.784Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:43:26.853Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:43:26.854Z"} {"level":"info","message":"Client disconnected: PUxwT0UqyZ-YvEnzAAAT, reason: transport close","timestamp":"2025-10-04T00:44:41.870Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:44:41.870Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:44:41.870Z"} {"level":"info","message":"Client disconnected: LX5u-ualRyTd79ESAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T00:46:08.760Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:46:08.760Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:46:08.761Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: eQJlXx4r303bK5q9AAAV","timestamp":"2025-10-04T00:46:26.655Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: eQJlXx4r303bK5q9AAAV","timestamp":"2025-10-04T00:46:26.655Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:46:26.695Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:46:26.695Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:46:26.757Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:46:26.758Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ohJ0Z706uqqN8bt6AAAX","timestamp":"2025-10-04T00:46:29.165Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:46:29.166Z"} {"level":"info","message":"📷 Camera request received from operator socket ohJ0Z706uqqN8bt6AAAX","timestamp":"2025-10-04T00:46:30.025Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:46:30.025Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:46:30.025Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:46:30.025Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:46:30.026Z"} {"level":"info","message":"✅ Connection request created: 24e06005-e635-4f6e-8206-4b5b6abb162c","timestamp":"2025-10-04T00:46:30.026Z"} {"level":"info","message":"✅ Connection initiated: 24e06005-e635-4f6e-8206-4b5b6abb162c","timestamp":"2025-10-04T00:46:30.026Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"24e06005-e635-4f6e-8206-4b5b6abb162c","timestamp":"2025-10-04T00:46:30.445Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=24e06005-e635-4f6e-8206-4b5b6abb162c, accepted=true","timestamp":"2025-10-04T00:46:30.445Z"} {"level":"info","message":"✅ Connection established: 24e06005-e635-4f6e-8206-4b5b6abb162c","timestamp":"2025-10-04T00:46:30.445Z"} {"level":"info","message":"✅ Connection accepted: 24e06005-e635-4f6e-8206-4b5b6abb162c","timestamp":"2025-10-04T00:46:30.445Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"24e06005-e635-4f6e-8206-4b5b6abb162c","timestamp":"2025-10-04T00:48:07.365Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=24e06005-e635-4f6e-8206-4b5b6abb162c, accepted=true","timestamp":"2025-10-04T00:48:07.365Z"} {"level":"error","message":"❌ Connection request not found: 24e06005-e635-4f6e-8206-4b5b6abb162c","timestamp":"2025-10-04T00:48:07.366Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T00:48:07.366Z"} {"level":"info","message":"Client disconnected: ohJ0Z706uqqN8bt6AAAX, reason: client namespace disconnect","timestamp":"2025-10-04T00:48:07.856Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:48:07.857Z"} {"level":"info","message":"🔌 Connection terminated: 24e06005-e635-4f6e-8206-4b5b6abb162c - Operator disconnected","timestamp":"2025-10-04T00:48:07.857Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:48:07.857Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: m1HeBU631ZkNAvW2AAAZ","timestamp":"2025-10-04T00:48:18.668Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:48:18.669Z"} {"level":"info","message":"📷 Camera request received from operator socket m1HeBU631ZkNAvW2AAAZ","timestamp":"2025-10-04T00:48:19.777Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:48:19.777Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:48:19.777Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:48:19.778Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:48:19.778Z"} {"level":"info","message":"✅ Connection request created: 9170670c-a2fc-41d9-9701-48bb3683cb70","timestamp":"2025-10-04T00:48:19.778Z"} {"level":"info","message":"✅ Connection initiated: 9170670c-a2fc-41d9-9701-48bb3683cb70","timestamp":"2025-10-04T00:48:19.778Z"} {"level":"info","message":"Client disconnected: eQJlXx4r303bK5q9AAAV, reason: transport close","timestamp":"2025-10-04T00:48:19.871Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:48:19.871Z"} {"level":"info","message":"🔌 Connection terminated: 9170670c-a2fc-41d9-9701-48bb3683cb70 - Device disconnected","timestamp":"2025-10-04T00:48:19.871Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:48:19.871Z"} {"level":"warn","message":"⏰ Connection timeout: 9170670c-a2fc-41d9-9701-48bb3683cb70","timestamp":"2025-10-04T00:48:49.779Z"} {"level":"info","message":"Connection 9170670c-a2fc-41d9-9701-48bb3683cb70 already removed from pending requests","timestamp":"2025-10-04T00:48:49.779Z"} {"level":"info","message":"Client disconnected: m1HeBU631ZkNAvW2AAAZ, reason: client namespace disconnect","timestamp":"2025-10-04T00:49:21.890Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:49:21.890Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:49:21.890Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: OpBV_3WRqm1KYqUqAAAb","timestamp":"2025-10-04T00:49:25.733Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: OpBV_3WRqm1KYqUqAAAb","timestamp":"2025-10-04T00:49:25.734Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:49:25.824Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:49:25.824Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:49:25.825Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:49:25.825Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 06oR6jsOBbazS63mAAAd","timestamp":"2025-10-04T00:49:28.285Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:49:28.286Z"} {"level":"info","message":"📷 Camera request received from operator socket 06oR6jsOBbazS63mAAAd","timestamp":"2025-10-04T00:49:29.673Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:49:29.673Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:49:29.673Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:49:29.673Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:49:29.674Z"} {"level":"info","message":"✅ Connection request created: 92eda0a7-a19b-4f05-90f3-ef5b2e37a065","timestamp":"2025-10-04T00:49:29.674Z"} {"level":"info","message":"✅ Connection initiated: 92eda0a7-a19b-4f05-90f3-ef5b2e37a065","timestamp":"2025-10-04T00:49:29.674Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"92eda0a7-a19b-4f05-90f3-ef5b2e37a065","timestamp":"2025-10-04T00:49:30.107Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=92eda0a7-a19b-4f05-90f3-ef5b2e37a065, accepted=true","timestamp":"2025-10-04T00:49:30.107Z"} {"level":"info","message":"✅ Connection established: 92eda0a7-a19b-4f05-90f3-ef5b2e37a065","timestamp":"2025-10-04T00:49:30.107Z"} {"level":"info","message":"✅ Connection accepted: 92eda0a7-a19b-4f05-90f3-ef5b2e37a065","timestamp":"2025-10-04T00:49:30.107Z"} {"level":"info","message":"Client disconnected: OpBV_3WRqm1KYqUqAAAb, reason: transport close","timestamp":"2025-10-04T00:50:15.878Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:50:15.878Z"} {"level":"info","message":"🔌 Connection terminated: 92eda0a7-a19b-4f05-90f3-ef5b2e37a065 - Device disconnected","timestamp":"2025-10-04T00:50:15.878Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:50:15.878Z"} {"level":"info","message":"Client disconnected: 06oR6jsOBbazS63mAAAd, reason: client namespace disconnect","timestamp":"2025-10-04T00:50:28.536Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:50:28.537Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:50:28.537Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: cF6apjaw-As8bkwFAAAf","timestamp":"2025-10-04T00:51:06.300Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: cF6apjaw-As8bkwFAAAf","timestamp":"2025-10-04T00:51:06.300Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:51:06.339Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:51:06.339Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:51:06.401Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:51:06.402Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 13IXH-lY6Lck8L9rAAAh","timestamp":"2025-10-04T00:51:07.253Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:51:07.254Z"} {"level":"info","message":"📷 Camera request received from operator socket 13IXH-lY6Lck8L9rAAAh","timestamp":"2025-10-04T00:51:10.297Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:51:10.297Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:51:10.297Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:51:10.297Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:51:10.298Z"} {"level":"info","message":"✅ Connection request created: e0c6d75f-40e0-4985-a361-7e2b2f5b94ca","timestamp":"2025-10-04T00:51:10.298Z"} {"level":"info","message":"✅ Connection initiated: e0c6d75f-40e0-4985-a361-7e2b2f5b94ca","timestamp":"2025-10-04T00:51:10.298Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"e0c6d75f-40e0-4985-a361-7e2b2f5b94ca","timestamp":"2025-10-04T00:51:10.417Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=e0c6d75f-40e0-4985-a361-7e2b2f5b94ca, accepted=true","timestamp":"2025-10-04T00:51:10.417Z"} {"level":"info","message":"✅ Connection established: e0c6d75f-40e0-4985-a361-7e2b2f5b94ca","timestamp":"2025-10-04T00:51:10.417Z"} {"level":"info","message":"✅ Connection accepted: e0c6d75f-40e0-4985-a361-7e2b2f5b94ca","timestamp":"2025-10-04T00:51:10.417Z"} {"level":"info","message":"Client disconnected: cF6apjaw-As8bkwFAAAf, reason: client namespace disconnect","timestamp":"2025-10-04T00:51:19.357Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:51:19.357Z"} {"level":"info","message":"🔌 Connection terminated: e0c6d75f-40e0-4985-a361-7e2b2f5b94ca - Device disconnected","timestamp":"2025-10-04T00:51:19.357Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:51:19.357Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0Nr1WBsxiMlcBNdeAAAj","timestamp":"2025-10-04T00:51:20.586Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 0Nr1WBsxiMlcBNdeAAAj","timestamp":"2025-10-04T00:51:20.586Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:51:20.627Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:51:20.628Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:51:20.710Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:51:20.711Z"} {"level":"info","message":"Client disconnected: 13IXH-lY6Lck8L9rAAAh, reason: client namespace disconnect","timestamp":"2025-10-04T00:51:21.976Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:51:21.977Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:51:21.977Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DPP--sSla0--JrJaAAAl","timestamp":"2025-10-04T00:51:22.484Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:51:22.485Z"} {"level":"info","message":"📷 Camera request received from operator socket DPP--sSla0--JrJaAAAl","timestamp":"2025-10-04T00:51:23.425Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:51:23.425Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:51:23.425Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:51:23.425Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:51:23.426Z"} {"level":"info","message":"✅ Connection request created: 4ecbc474-79ae-482b-a561-394290e6b7b1","timestamp":"2025-10-04T00:51:23.426Z"} {"level":"info","message":"✅ Connection initiated: 4ecbc474-79ae-482b-a561-394290e6b7b1","timestamp":"2025-10-04T00:51:23.426Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"4ecbc474-79ae-482b-a561-394290e6b7b1","timestamp":"2025-10-04T00:51:23.525Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=4ecbc474-79ae-482b-a561-394290e6b7b1, accepted=true","timestamp":"2025-10-04T00:51:23.525Z"} {"level":"info","message":"✅ Connection established: 4ecbc474-79ae-482b-a561-394290e6b7b1","timestamp":"2025-10-04T00:51:23.525Z"} {"level":"info","message":"✅ Connection accepted: 4ecbc474-79ae-482b-a561-394290e6b7b1","timestamp":"2025-10-04T00:51:23.525Z"} {"level":"info","message":"Client disconnected: 0Nr1WBsxiMlcBNdeAAAj, reason: transport close","timestamp":"2025-10-04T00:52:11.488Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:52:11.488Z"} {"level":"info","message":"🔌 Connection terminated: 4ecbc474-79ae-482b-a561-394290e6b7b1 - Device disconnected","timestamp":"2025-10-04T00:52:11.488Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:52:11.488Z"} {"level":"info","message":"Client disconnected: DPP--sSla0--JrJaAAAl, reason: client namespace disconnect","timestamp":"2025-10-04T00:57:17.616Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:57:17.617Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:57:17.617Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VqhL2h-x9mDcfYBrAAAn","timestamp":"2025-10-04T00:57:22.579Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: VqhL2h-x9mDcfYBrAAAn","timestamp":"2025-10-04T00:57:22.579Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:57:22.631Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:57:22.631Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:57:22.673Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:57:22.673Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: scemU04TowFT1yvQAAAp","timestamp":"2025-10-04T00:57:24.212Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:57:24.213Z"} {"level":"info","message":"📷 Camera request received from operator socket scemU04TowFT1yvQAAAp","timestamp":"2025-10-04T00:57:25.361Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:57:25.361Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:57:25.361Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:57:25.361Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:57:25.362Z"} {"level":"info","message":"✅ Connection request created: 8d63ea7d-399e-434a-85a4-e6f0e41ec373","timestamp":"2025-10-04T00:57:25.362Z"} {"level":"info","message":"✅ Connection initiated: 8d63ea7d-399e-434a-85a4-e6f0e41ec373","timestamp":"2025-10-04T00:57:25.362Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"8d63ea7d-399e-434a-85a4-e6f0e41ec373","timestamp":"2025-10-04T00:57:25.449Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=8d63ea7d-399e-434a-85a4-e6f0e41ec373, accepted=true","timestamp":"2025-10-04T00:57:25.449Z"} {"level":"info","message":"✅ Connection established: 8d63ea7d-399e-434a-85a4-e6f0e41ec373","timestamp":"2025-10-04T00:57:25.449Z"} {"level":"info","message":"✅ Connection accepted: 8d63ea7d-399e-434a-85a4-e6f0e41ec373","timestamp":"2025-10-04T00:57:25.449Z"} {"level":"info","message":"Client disconnected: scemU04TowFT1yvQAAAp, reason: client namespace disconnect","timestamp":"2025-10-04T00:59:14.386Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:59:14.387Z"} {"level":"info","message":"🔌 Connection terminated: 8d63ea7d-399e-434a-85a4-e6f0e41ec373 - Operator disconnected","timestamp":"2025-10-04T00:59:14.387Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:59:14.387Z"} {"level":"info","message":"Client disconnected: VqhL2h-x9mDcfYBrAAAn, reason: client namespace disconnect","timestamp":"2025-10-04T00:59:16.470Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T00:59:16.471Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T00:59:16.471Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: DtlZJq5ZZ-iEG2cuAAAr","timestamp":"2025-10-04T00:59:37.873Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: DtlZJq5ZZ-iEG2cuAAAr","timestamp":"2025-10-04T00:59:37.873Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:59:37.904Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:59:37.904Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T00:59:37.921Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T00:59:37.921Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _ujr60FyrwP7YheoAAAt","timestamp":"2025-10-04T00:59:39.114Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:59:39.117Z"} {"level":"info","message":"📷 Camera request received from operator socket _ujr60FyrwP7YheoAAAt","timestamp":"2025-10-04T00:59:40.036Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T00:59:40.036Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T00:59:40.036Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T00:59:40.036Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T00:59:40.036Z"} {"level":"info","message":"✅ Connection request created: 514fb3ca-aa33-4b02-9ca7-86eadbfce6a8","timestamp":"2025-10-04T00:59:40.037Z"} {"level":"info","message":"✅ Connection initiated: 514fb3ca-aa33-4b02-9ca7-86eadbfce6a8","timestamp":"2025-10-04T00:59:40.037Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"514fb3ca-aa33-4b02-9ca7-86eadbfce6a8","timestamp":"2025-10-04T00:59:40.215Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=514fb3ca-aa33-4b02-9ca7-86eadbfce6a8, accepted=true","timestamp":"2025-10-04T00:59:40.215Z"} {"level":"info","message":"✅ Connection established: 514fb3ca-aa33-4b02-9ca7-86eadbfce6a8","timestamp":"2025-10-04T00:59:40.215Z"} {"level":"info","message":"✅ Connection accepted: 514fb3ca-aa33-4b02-9ca7-86eadbfce6a8","timestamp":"2025-10-04T00:59:40.215Z"} {"level":"info","message":"📷 Camera request received from operator socket _ujr60FyrwP7YheoAAAt","timestamp":"2025-10-04T01:00:45.337Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:00:45.337Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:00:45.337Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:00:45.337Z"} {"level":"error","message":"❌ Connection validation failed: Device busy or unavailable","timestamp":"2025-10-04T01:00:45.338Z"} {"level":"error","message":"❌ Failed to initiate connection: Device busy or unavailable","timestamp":"2025-10-04T01:00:45.338Z"} {"level":"info","message":"Client disconnected: DtlZJq5ZZ-iEG2cuAAAr, reason: transport close","timestamp":"2025-10-04T01:01:18.516Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T01:01:18.516Z"} {"level":"info","message":"🔌 Connection terminated: 514fb3ca-aa33-4b02-9ca7-86eadbfce6a8 - Device disconnected","timestamp":"2025-10-04T01:01:18.517Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T01:01:18.517Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5JDVBGGRGbzdin9FAAAv","timestamp":"2025-10-04T01:02:33.406Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 5JDVBGGRGbzdin9FAAAv","timestamp":"2025-10-04T01:02:33.407Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:02:33.438Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:02:33.438Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:02:33.501Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:02:33.502Z"} {"level":"info","message":"Client disconnected: _ujr60FyrwP7YheoAAAt, reason: client namespace disconnect","timestamp":"2025-10-04T01:02:34.314Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:02:34.315Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:02:34.315Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: oUG32-yUIEe2SsbVAAAx","timestamp":"2025-10-04T01:02:34.837Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:02:34.838Z"} {"level":"info","message":"📷 Camera request received from operator socket oUG32-yUIEe2SsbVAAAx","timestamp":"2025-10-04T01:02:36.753Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:02:36.754Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:02:36.754Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:02:36.754Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T01:02:36.754Z"} {"level":"info","message":"✅ Connection request created: 9daf8abc-5551-431f-a108-abcb57d11c80","timestamp":"2025-10-04T01:02:36.754Z"} {"level":"info","message":"✅ Connection initiated: 9daf8abc-5551-431f-a108-abcb57d11c80","timestamp":"2025-10-04T01:02:36.755Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"9daf8abc-5551-431f-a108-abcb57d11c80","timestamp":"2025-10-04T01:02:36.918Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=9daf8abc-5551-431f-a108-abcb57d11c80, accepted=true","timestamp":"2025-10-04T01:02:36.918Z"} {"level":"info","message":"✅ Connection established: 9daf8abc-5551-431f-a108-abcb57d11c80","timestamp":"2025-10-04T01:02:36.918Z"} {"level":"info","message":"✅ Connection accepted: 9daf8abc-5551-431f-a108-abcb57d11c80","timestamp":"2025-10-04T01:02:36.919Z"} {"level":"info","message":"Client disconnected: 5JDVBGGRGbzdin9FAAAv, reason: transport close","timestamp":"2025-10-04T01:05:35.233Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T01:05:35.234Z"} {"level":"info","message":"🔌 Connection terminated: 9daf8abc-5551-431f-a108-abcb57d11c80 - Device disconnected","timestamp":"2025-10-04T01:05:35.234Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T01:05:35.234Z"} {"level":"info","message":"Client disconnected: oUG32-yUIEe2SsbVAAAx, reason: client namespace disconnect","timestamp":"2025-10-04T01:06:04.368Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:06:04.368Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:06:04.368Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: BgK-Whbn1yWA43bSAAAz","timestamp":"2025-10-04T01:06:07.609Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: BgK-Whbn1yWA43bSAAAz","timestamp":"2025-10-04T01:06:07.609Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:06:07.654Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:06:07.654Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:06:07.679Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:06:07.680Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: YgJntVi5d2alXk-5AAA1","timestamp":"2025-10-04T01:06:08.624Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: nHCwLgqbjaJu0JPWAAA3","timestamp":"2025-10-04T01:06:09.095Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:06:09.096Z"} {"level":"info","message":"📷 Camera request received from operator socket nHCwLgqbjaJu0JPWAAA3","timestamp":"2025-10-04T01:06:10.034Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:06:10.035Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:06:10.035Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:06:10.035Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T01:06:10.035Z"} {"level":"info","message":"✅ Connection request created: e6a5ee53-5d7f-4319-94fc-90f996942087","timestamp":"2025-10-04T01:06:10.035Z"} {"level":"info","message":"✅ Connection initiated: e6a5ee53-5d7f-4319-94fc-90f996942087","timestamp":"2025-10-04T01:06:10.037Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"e6a5ee53-5d7f-4319-94fc-90f996942087","timestamp":"2025-10-04T01:06:10.362Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=e6a5ee53-5d7f-4319-94fc-90f996942087, accepted=true","timestamp":"2025-10-04T01:06:10.362Z"} {"level":"info","message":"✅ Connection established: e6a5ee53-5d7f-4319-94fc-90f996942087","timestamp":"2025-10-04T01:06:10.362Z"} {"level":"info","message":"✅ Connection accepted: e6a5ee53-5d7f-4319-94fc-90f996942087","timestamp":"2025-10-04T01:06:10.363Z"} {"level":"info","message":"Client disconnected: BgK-Whbn1yWA43bSAAAz, reason: transport close","timestamp":"2025-10-04T01:06:32.669Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T01:06:32.669Z"} {"level":"info","message":"🔌 Connection terminated: e6a5ee53-5d7f-4319-94fc-90f996942087 - Device disconnected","timestamp":"2025-10-04T01:06:32.669Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T01:06:32.669Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: GswELgr_jbOelWDNAAA5","timestamp":"2025-10-04T01:08:39.580Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: GswELgr_jbOelWDNAAA5","timestamp":"2025-10-04T01:08:39.580Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:08:39.632Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:08:39.632Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:08:39.705Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:08:39.705Z"} {"level":"info","message":"Client disconnected: nHCwLgqbjaJu0JPWAAA3, reason: client namespace disconnect","timestamp":"2025-10-04T01:08:44.216Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:08:44.216Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:08:44.216Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: j5bom5Fjq0tEogriAAA7","timestamp":"2025-10-04T01:08:44.732Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:08:44.733Z"} {"level":"info","message":"📷 Camera request received from operator socket j5bom5Fjq0tEogriAAA7","timestamp":"2025-10-04T01:08:46.056Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:08:46.056Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:08:46.056Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:08:46.057Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T01:08:46.057Z"} {"level":"info","message":"✅ Connection request created: 0cf4e750-b787-4163-816a-5f12d62f67d5","timestamp":"2025-10-04T01:08:46.057Z"} {"level":"info","message":"✅ Connection initiated: 0cf4e750-b787-4163-816a-5f12d62f67d5","timestamp":"2025-10-04T01:08:46.057Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"0cf4e750-b787-4163-816a-5f12d62f67d5","timestamp":"2025-10-04T01:08:46.196Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=0cf4e750-b787-4163-816a-5f12d62f67d5, accepted=true","timestamp":"2025-10-04T01:08:46.196Z"} {"level":"info","message":"✅ Connection established: 0cf4e750-b787-4163-816a-5f12d62f67d5","timestamp":"2025-10-04T01:08:46.196Z"} {"level":"info","message":"✅ Connection accepted: 0cf4e750-b787-4163-816a-5f12d62f67d5","timestamp":"2025-10-04T01:08:46.196Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: fosEIaVSZyDaqAooAAA9","timestamp":"2025-10-04T01:08:55.655Z","userAgent":""} {"androidVersion":"11","appVersion":"1.0.0-test","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","manufacturer":"Samsung","message":"Android client registered: test_android_c1m0142yx","model":"Galaxy S21 Test","timestamp":"2025-10-04T01:08:55.660Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UG9ABbTVgS8W5it0AAA_","timestamp":"2025-10-04T01:08:56.663Z","userAgent":""} {"level":"info","message":"Operator registered: test_operator_6ne2jdjky","timestamp":"2025-10-04T01:08:56.664Z"} {"level":"info","message":"🔗 Initiating connection: test_operator_6ne2jdjky -> test_android_c1m0142yx (back)","timestamp":"2025-10-04T01:08:57.688Z"} {"level":"info","message":"📱 Sending camera:request to Android device test_android_c1m0142yx","timestamp":"2025-10-04T01:08:57.688Z"} {"level":"info","message":"✅ Connection request created: 64bfc086-0b63-4203-af46-d8caa60e8422","timestamp":"2025-10-04T01:08:57.688Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=64bfc086-0b63-4203-af46-d8caa60e8422, accepted=true","timestamp":"2025-10-04T01:08:59.190Z"} {"level":"info","message":"✅ Connection established: 64bfc086-0b63-4203-af46-d8caa60e8422","timestamp":"2025-10-04T01:08:59.191Z"} {"level":"info","message":"✅ Connection accepted: 64bfc086-0b63-4203-af46-d8caa60e8422","timestamp":"2025-10-04T01:08:59.191Z"} {"level":"info","message":"Client disconnected: fosEIaVSZyDaqAooAAA9, reason: client namespace disconnect","timestamp":"2025-10-04T01:09:04.699Z"} {"level":"info","message":"🧹 Cleaning up connections for device: test_android_c1m0142yx","timestamp":"2025-10-04T01:09:04.699Z"} {"level":"info","message":"🔌 Connection terminated: 64bfc086-0b63-4203-af46-d8caa60e8422 - Device disconnected","timestamp":"2025-10-04T01:09:04.699Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device test_android_c1m0142yx","timestamp":"2025-10-04T01:09:04.700Z"} {"level":"info","message":"Client disconnected: UG9ABbTVgS8W5it0AAA_, reason: client namespace disconnect","timestamp":"2025-10-04T01:09:04.700Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: test_operator_6ne2jdjky","timestamp":"2025-10-04T01:09:04.700Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator test_operator_6ne2jdjky","timestamp":"2025-10-04T01:09:04.700Z"} {"level":"info","message":"Client disconnected: j5bom5Fjq0tEogriAAA7, reason: client namespace disconnect","timestamp":"2025-10-04T01:09:53.120Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:09:53.120Z"} {"level":"info","message":"🔌 Connection terminated: 0cf4e750-b787-4163-816a-5f12d62f67d5 - Operator disconnected","timestamp":"2025-10-04T01:09:53.120Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:09:53.120Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: hz6E088gLz1djIhaAABB","timestamp":"2025-10-04T01:09:54.302Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:09:54.303Z"} {"level":"info","message":"Client disconnected: GswELgr_jbOelWDNAAA5, reason: transport close","timestamp":"2025-10-04T01:09:54.815Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T01:09:54.815Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T01:09:54.815Z"} {"level":"info","message":"Client disconnected: hz6E088gLz1djIhaAABB, reason: client namespace disconnect","timestamp":"2025-10-04T01:09:55.616Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:09:55.617Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:09:55.617Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:10:22.577Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:10:23.336Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:10:23.726Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T01:10:43.218Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: pH8H30DWPGdp72HdAAAB","timestamp":"2025-10-04T01:10:45.012Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: jutAsE5_uDBp2mEbAAAD","timestamp":"2025-10-04T01:10:45.492Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Vf8nlqFZ2XZFOUUTAAAF","timestamp":"2025-10-04T01:10:45.902Z","userAgent":"node-XMLHttpRequest"} {"availableCameras":["back"],"level":"info","manufacturer":"TestDevice","message":"Android client registered: webrtc_android_dylk7i1f3","model":"WebRTC Test","timestamp":"2025-10-04T01:10:45.911Z","webrtcCapabilities":{"audio":true,"codecs":["H264","VP8","VP9"],"resolutions":["720p","1080p"],"video":true}} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2c3IbLLO0yJ4w9tVAAAH","timestamp":"2025-10-04T01:10:45.918Z","userAgent":"node-XMLHttpRequest"} {"level":"info","message":"Operator registered: webrtc_operator_ct2ia9790","timestamp":"2025-10-04T01:10:45.923Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WVDFcveBOWROInrGAAAJ","timestamp":"2025-10-04T01:10:46.072Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0iRxYUPTPIcXcKwfAAAL","timestamp":"2025-10-04T01:10:46.527Z","userAgent":""} {"level":"info","message":"📷 Camera request received from operator socket 2c3IbLLO0yJ4w9tVAAAH","timestamp":"2025-10-04T01:10:46.926Z"} {"cameraType":"back","deviceId":"webrtc_android_dylk7i1f3","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:10:46.928Z"} {"level":"info","message":"✅ Operator found: webrtc_operator_ct2ia9790","timestamp":"2025-10-04T01:10:46.928Z"} {"level":"info","message":"🔗 Initiating connection: webrtc_operator_ct2ia9790 -> webrtc_android_dylk7i1f3 (back)","timestamp":"2025-10-04T01:10:46.929Z"} {"level":"info","message":"📱 Sending camera:request to Android device webrtc_android_dylk7i1f3","timestamp":"2025-10-04T01:10:46.930Z"} {"level":"info","message":"✅ Connection request created: c619e1ad-d271-4db4-8daf-40797e66ad31","timestamp":"2025-10-04T01:10:46.931Z"} {"level":"info","message":"✅ Connection initiated: c619e1ad-d271-4db4-8daf-40797e66ad31","timestamp":"2025-10-04T01:10:46.931Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=c619e1ad-d271-4db4-8daf-40797e66ad31, accepted=true","timestamp":"2025-10-04T01:10:47.434Z"} {"level":"info","message":"✅ Connection established: c619e1ad-d271-4db4-8daf-40797e66ad31","timestamp":"2025-10-04T01:10:47.435Z"} {"level":"info","message":"✅ Connection accepted: c619e1ad-d271-4db4-8daf-40797e66ad31","timestamp":"2025-10-04T01:10:47.435Z"} {"level":"info","message":"Client disconnected: Vf8nlqFZ2XZFOUUTAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T01:10:52.931Z"} {"level":"info","message":"🧹 Cleaning up connections for device: webrtc_android_dylk7i1f3","timestamp":"2025-10-04T01:10:52.931Z"} {"level":"info","message":"🔌 Connection terminated: c619e1ad-d271-4db4-8daf-40797e66ad31 - Device disconnected","timestamp":"2025-10-04T01:10:52.932Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device webrtc_android_dylk7i1f3","timestamp":"2025-10-04T01:10:52.932Z"} {"level":"info","message":"Client disconnected: 2c3IbLLO0yJ4w9tVAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T01:10:52.933Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: webrtc_operator_ct2ia9790","timestamp":"2025-10-04T01:10:52.934Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator webrtc_operator_ct2ia9790","timestamp":"2025-10-04T01:10:52.934Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:11:29.168Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T01:14:21.442Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 93aZj7Vb1iKtPN-UAAAB","timestamp":"2025-10-04T01:14:21.505Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: jkMoVR_R7Od-L-DcAAAD","timestamp":"2025-10-04T01:14:21.952Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rBrQAXm1Hfw2UvB0AAAG","timestamp":"2025-10-04T01:14:24.953Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: IhtntZ01hexL6wdJAAAH","timestamp":"2025-10-04T01:14:24.954Z","userAgent":""} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: rvAW3VtF9a04eCzfAAAJ","timestamp":"2025-10-04T01:14:44.752Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: rvAW3VtF9a04eCzfAAAJ","timestamp":"2025-10-04T01:14:44.753Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:14:44.803Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:14:44.804Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:14:44.879Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:14:44.879Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gF4mhYbNHCWOBE7KAAAL","timestamp":"2025-10-04T01:14:51.895Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:14:51.897Z"} {"level":"info","message":"📷 Camera request received from operator socket gF4mhYbNHCWOBE7KAAAL","timestamp":"2025-10-04T01:14:53.549Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:14:53.549Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:14:53.550Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:14:53.550Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T01:14:53.556Z"} {"level":"info","message":"✅ Connection request created: 8bda4b52-a6e4-4e84-a453-c5826719d824","timestamp":"2025-10-04T01:14:53.557Z"} {"level":"info","message":"✅ Connection initiated: 8bda4b52-a6e4-4e84-a453-c5826719d824","timestamp":"2025-10-04T01:14:53.557Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"8bda4b52-a6e4-4e84-a453-c5826719d824","timestamp":"2025-10-04T01:14:53.912Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=8bda4b52-a6e4-4e84-a453-c5826719d824, accepted=true","timestamp":"2025-10-04T01:14:53.913Z"} {"level":"info","message":"✅ Connection established: 8bda4b52-a6e4-4e84-a453-c5826719d824","timestamp":"2025-10-04T01:14:53.914Z"} {"level":"info","message":"✅ Connection accepted: 8bda4b52-a6e4-4e84-a453-c5826719d824","timestamp":"2025-10-04T01:14:53.914Z"} {"level":"info","message":"📷 Camera request received from operator socket gF4mhYbNHCWOBE7KAAAL","timestamp":"2025-10-04T01:15:15.079Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:15:15.079Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:15:15.079Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:15:15.080Z"} {"level":"error","message":"❌ Connection validation failed: Device busy or unavailable","timestamp":"2025-10-04T01:15:15.080Z"} {"level":"error","message":"❌ Failed to initiate connection: Device busy or unavailable","timestamp":"2025-10-04T01:15:15.080Z"} {"level":"info","message":"📷 Camera request received from operator socket gF4mhYbNHCWOBE7KAAAL","timestamp":"2025-10-04T01:15:17.328Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:15:17.329Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:15:17.329Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:15:17.329Z"} {"level":"error","message":"❌ Connection validation failed: Device busy or unavailable","timestamp":"2025-10-04T01:15:17.329Z"} {"level":"error","message":"❌ Failed to initiate connection: Device busy or unavailable","timestamp":"2025-10-04T01:15:17.329Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:15:50.554Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:15:51.680Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:15:51.831Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T01:16:02.536Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Bzu0PQ31I1n2QTmwAAAB","timestamp":"2025-10-04T01:16:03.781Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: Bzu0PQ31I1n2QTmwAAAB","timestamp":"2025-10-04T01:16:03.781Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SL75KzFL1FgfnrNvAAAD","timestamp":"2025-10-04T01:16:04.556Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:04.558Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: x0TJXptbFZ7kGncEAAAF","timestamp":"2025-10-04T01:16:05.197Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: PxEP4Oo07z3JcxYMAAAH","timestamp":"2025-10-04T01:16:05.877Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:05.878Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: sNqjwaQaGqkesUqcAAAJ","timestamp":"2025-10-04T01:16:06.160Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:06.161Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: yAQ2rh1JnnL64sVfAAAL","timestamp":"2025-10-04T01:16:07.150Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:07.151Z"} {"level":"info","message":"Client disconnected: SL75KzFL1FgfnrNvAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T01:16:11.752Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:11.752Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:11.753Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: w_KMudxPTiFZp_G6AAAN","timestamp":"2025-10-04T01:16:12.148Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:12.150Z"} {"level":"info","message":"Client disconnected: w_KMudxPTiFZp_G6AAAN, reason: client namespace disconnect","timestamp":"2025-10-04T01:16:13.063Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:13.064Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:13.064Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: PdVJzPKh0gGQYLBfAAAP","timestamp":"2025-10-04T01:16:15.941Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:15.942Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0p6JmaD4p77KPB9wAAAR","timestamp":"2025-10-04T01:16:34.264Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 0p6JmaD4p77KPB9wAAAR","timestamp":"2025-10-04T01:16:34.264Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:16:34.324Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:16:34.325Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:16:34.383Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:16:34.383Z"} {"level":"info","message":"Client disconnected: PdVJzPKh0gGQYLBfAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T01:16:37.223Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:37.224Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:37.224Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UukHjDwgcCPK8ansAAAT","timestamp":"2025-10-04T01:16:37.692Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:37.693Z"} {"level":"info","message":"📷 Camera request received from operator socket UukHjDwgcCPK8ansAAAT","timestamp":"2025-10-04T01:16:38.712Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:16:38.713Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:16:38.713Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:16:38.713Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T01:16:38.714Z"} {"level":"info","message":"✅ Connection request created: f92b9d51-676d-46b9-9de5-5d17a52cc8a8","timestamp":"2025-10-04T01:16:38.714Z"} {"level":"info","message":"✅ Connection initiated: f92b9d51-676d-46b9-9de5-5d17a52cc8a8","timestamp":"2025-10-04T01:16:38.714Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"f92b9d51-676d-46b9-9de5-5d17a52cc8a8","timestamp":"2025-10-04T01:16:38.961Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=f92b9d51-676d-46b9-9de5-5d17a52cc8a8, accepted=true","timestamp":"2025-10-04T01:16:38.962Z"} {"level":"info","message":"✅ Connection established: f92b9d51-676d-46b9-9de5-5d17a52cc8a8","timestamp":"2025-10-04T01:16:38.962Z"} {"level":"info","message":"✅ Connection accepted: f92b9d51-676d-46b9-9de5-5d17a52cc8a8","timestamp":"2025-10-04T01:16:38.963Z"} {"level":"info","message":"Client disconnected: 0p6JmaD4p77KPB9wAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T01:16:49.596Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T01:16:49.597Z"} {"level":"info","message":"🔌 Connection terminated: f92b9d51-676d-46b9-9de5-5d17a52cc8a8 - Device disconnected","timestamp":"2025-10-04T01:16:49.597Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T01:16:49.597Z"} {"level":"info","message":"Client disconnected: Bzu0PQ31I1n2QTmwAAAB, reason: transport close","timestamp":"2025-10-04T01:17:08.366Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: _l79w1xUe9Zc43CKAAAV","timestamp":"2025-10-04T01:54:48.690Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: _l79w1xUe9Zc43CKAAAV","timestamp":"2025-10-04T01:54:48.691Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:54:48.733Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:54:48.734Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T01:54:48.792Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T01:54:48.792Z"} {"level":"info","message":"Client disconnected: UukHjDwgcCPK8ansAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T01:54:56.580Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:54:56.580Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:54:56.580Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: xE1ujONyzU13WDIjAAAX","timestamp":"2025-10-04T01:54:57.068Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:54:57.073Z"} {"level":"info","message":"📷 Camera request received from operator socket xE1ujONyzU13WDIjAAAX","timestamp":"2025-10-04T01:54:58.325Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T01:54:58.325Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:54:58.325Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T01:54:58.325Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T01:54:58.325Z"} {"level":"info","message":"✅ Connection request created: 3555987c-82da-4fe7-9204-66597471af3e","timestamp":"2025-10-04T01:54:58.325Z"} {"level":"info","message":"✅ Connection initiated: 3555987c-82da-4fe7-9204-66597471af3e","timestamp":"2025-10-04T01:54:58.325Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"3555987c-82da-4fe7-9204-66597471af3e","timestamp":"2025-10-04T01:54:58.680Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=3555987c-82da-4fe7-9204-66597471af3e, accepted=true","timestamp":"2025-10-04T01:54:58.680Z"} {"level":"info","message":"✅ Connection established: 3555987c-82da-4fe7-9204-66597471af3e","timestamp":"2025-10-04T01:54:58.681Z"} {"level":"info","message":"✅ Connection accepted: 3555987c-82da-4fe7-9204-66597471af3e","timestamp":"2025-10-04T01:54:58.681Z"} {"level":"info","message":"Client disconnected: _l79w1xUe9Zc43CKAAAV, reason: transport close","timestamp":"2025-10-04T01:57:33.453Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T01:57:33.453Z"} {"level":"info","message":"🔌 Connection terminated: 3555987c-82da-4fe7-9204-66597471af3e - Device disconnected","timestamp":"2025-10-04T01:57:33.453Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T01:57:33.453Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T01:59:12.138Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: IxrPE9JHuwk5XgpRAAAB","timestamp":"2025-10-04T01:59:12.817Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3cFi6YolA3dlppi2AAAD","timestamp":"2025-10-04T01:59:13.168Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: KQa7RFF7HflfNGK7AAAF","timestamp":"2025-10-04T01:59:13.677Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: L38GbMddNm3ecj0eAAAH","timestamp":"2025-10-04T01:59:14.639Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:59:14.642Z"} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:59:14.644Z"} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T01:59:14.645Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:59:16.626Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:59:46.997Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:59:47.749Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:59:47.966Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:59:48.182Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:59:48.573Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T01:59:48.944Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T02:00:12.674Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: oGqNtTyZDMOclq6aAAAB","timestamp":"2025-10-04T02:00:12.803Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.2 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: z9UWXgw7PIYMufcRAAAD","timestamp":"2025-10-04T02:00:12.915Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DS8GNNN9OhAKnrYLAAAF","timestamp":"2025-10-04T02:00:13.555Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:13.556Z"} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:13.558Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _3eQcWr-YpoXaIJeAAAH","timestamp":"2025-10-04T02:00:14.623Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:14.624Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ji7AtH9eiMTKBNUzAAAJ","timestamp":"2025-10-04T02:00:16.731Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:16.733Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: D1kMoGjHY8zVZkBBAAAL","timestamp":"2025-10-04T02:00:22.501Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: D1kMoGjHY8zVZkBBAAAL","timestamp":"2025-10-04T02:00:22.501Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:00:22.535Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:00:22.535Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:00:22.602Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:00:22.602Z"} {"level":"info","message":"Client disconnected: DS8GNNN9OhAKnrYLAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T02:00:39.910Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:39.911Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:39.911Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: JlfaLSf3X7yUWzmlAAAN","timestamp":"2025-10-04T02:00:40.802Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:40.803Z"} {"level":"info","message":"📷 Camera request received from operator socket JlfaLSf3X7yUWzmlAAAN","timestamp":"2025-10-04T02:00:41.903Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:00:41.903Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:00:41.904Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:00:41.904Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:00:41.906Z"} {"level":"info","message":"✅ Connection request created: c14a9fda-b389-4e20-a846-369d0dad5384","timestamp":"2025-10-04T02:00:41.906Z"} {"level":"info","message":"✅ Connection initiated: c14a9fda-b389-4e20-a846-369d0dad5384","timestamp":"2025-10-04T02:00:41.906Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"c14a9fda-b389-4e20-a846-369d0dad5384","timestamp":"2025-10-04T02:00:42.024Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=c14a9fda-b389-4e20-a846-369d0dad5384, accepted=true","timestamp":"2025-10-04T02:00:42.024Z"} {"level":"info","message":"✅ Connection established: c14a9fda-b389-4e20-a846-369d0dad5384","timestamp":"2025-10-04T02:00:42.025Z"} {"level":"info","message":"✅ Connection accepted: c14a9fda-b389-4e20-a846-369d0dad5384","timestamp":"2025-10-04T02:00:42.025Z"} {"level":"info","message":"Client disconnected: D1kMoGjHY8zVZkBBAAAL, reason: transport close","timestamp":"2025-10-04T02:05:21.480Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:05:21.480Z"} {"level":"info","message":"🔌 Connection terminated: c14a9fda-b389-4e20-a846-369d0dad5384 - Device disconnected","timestamp":"2025-10-04T02:05:21.480Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:05:21.481Z"} {"level":"info","message":"Client disconnected: oGqNtTyZDMOclq6aAAAB, reason: transport close","timestamp":"2025-10-04T02:08:40.364Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: L-05nQLoEHRNGQ38AAAP","timestamp":"2025-10-04T02:08:51.129Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: L-05nQLoEHRNGQ38AAAP","timestamp":"2025-10-04T02:08:51.129Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:08:51.155Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:08:51.156Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:08:51.220Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:08:51.220Z"} {"level":"info","message":"Client disconnected: L-05nQLoEHRNGQ38AAAP, reason: client namespace disconnect","timestamp":"2025-10-04T02:08:52.992Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:08:52.992Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:08:52.992Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hDtZ1V7tGidltEw5AAAR","timestamp":"2025-10-04T02:11:01.806Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: hDtZ1V7tGidltEw5AAAR","timestamp":"2025-10-04T02:11:01.806Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:11:01.884Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:11:01.884Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:11:01.960Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:11:01.960Z"} {"level":"info","message":"Client disconnected: JlfaLSf3X7yUWzmlAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T02:11:05.129Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:11:05.129Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:11:05.129Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: CZ9daWCxNB51pNRzAAAT","timestamp":"2025-10-04T02:11:05.537Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:11:05.538Z"} {"level":"info","message":"📷 Camera request received from operator socket CZ9daWCxNB51pNRzAAAT","timestamp":"2025-10-04T02:11:06.410Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:11:06.411Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:11:06.411Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:11:06.411Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:11:06.411Z"} {"level":"info","message":"✅ Connection request created: 504679ec-e574-4f5c-ab4c-9c546df5b625","timestamp":"2025-10-04T02:11:06.411Z"} {"level":"info","message":"✅ Connection initiated: 504679ec-e574-4f5c-ab4c-9c546df5b625","timestamp":"2025-10-04T02:11:06.411Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"504679ec-e574-4f5c-ab4c-9c546df5b625","timestamp":"2025-10-04T02:11:06.511Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=504679ec-e574-4f5c-ab4c-9c546df5b625, accepted=true","timestamp":"2025-10-04T02:11:06.511Z"} {"level":"info","message":"✅ Connection established: 504679ec-e574-4f5c-ab4c-9c546df5b625","timestamp":"2025-10-04T02:11:06.511Z"} {"level":"info","message":"✅ Connection accepted: 504679ec-e574-4f5c-ab4c-9c546df5b625","timestamp":"2025-10-04T02:11:06.511Z"} {"level":"info","message":"Client disconnected: hDtZ1V7tGidltEw5AAAR, reason: transport close","timestamp":"2025-10-04T02:11:15.294Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:11:15.294Z"} {"level":"info","message":"🔌 Connection terminated: 504679ec-e574-4f5c-ab4c-9c546df5b625 - Device disconnected","timestamp":"2025-10-04T02:11:15.294Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:11:15.294Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: NfygGn6CGSqqwX5hAAAV","timestamp":"2025-10-04T02:14:50.891Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: NfygGn6CGSqqwX5hAAAV","timestamp":"2025-10-04T02:14:50.891Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:14:50.932Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:14:50.932Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:14:51.002Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:14:51.002Z"} {"level":"info","message":"Client disconnected: CZ9daWCxNB51pNRzAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T02:14:55.893Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:14:55.893Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:14:55.893Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 824k1AZZTTOXC20TAAAX","timestamp":"2025-10-04T02:14:56.377Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:14:56.378Z"} {"level":"info","message":"📷 Camera request received from operator socket 824k1AZZTTOXC20TAAAX","timestamp":"2025-10-04T02:14:57.485Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:14:57.486Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:14:57.486Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:14:57.486Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:14:57.486Z"} {"level":"info","message":"✅ Connection request created: 06503a56-a128-4749-a604-5b0259d25476","timestamp":"2025-10-04T02:14:57.486Z"} {"level":"info","message":"✅ Connection initiated: 06503a56-a128-4749-a604-5b0259d25476","timestamp":"2025-10-04T02:14:57.486Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"06503a56-a128-4749-a604-5b0259d25476","timestamp":"2025-10-04T02:14:57.621Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=06503a56-a128-4749-a604-5b0259d25476, accepted=true","timestamp":"2025-10-04T02:14:57.621Z"} {"level":"info","message":"✅ Connection established: 06503a56-a128-4749-a604-5b0259d25476","timestamp":"2025-10-04T02:14:57.621Z"} {"level":"info","message":"✅ Connection accepted: 06503a56-a128-4749-a604-5b0259d25476","timestamp":"2025-10-04T02:14:57.621Z"} {"level":"info","message":"Client disconnected: NfygGn6CGSqqwX5hAAAV, reason: transport close","timestamp":"2025-10-04T02:15:13.613Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:15:13.613Z"} {"level":"info","message":"🔌 Connection terminated: 06503a56-a128-4749-a604-5b0259d25476 - Device disconnected","timestamp":"2025-10-04T02:15:13.613Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:15:13.613Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 8AWU0O7g4C6Nffx_AAAZ","timestamp":"2025-10-04T02:16:15.124Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 8AWU0O7g4C6Nffx_AAAZ","timestamp":"2025-10-04T02:16:15.124Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:16:15.169Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:16:15.169Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:16:15.246Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:16:15.247Z"} {"level":"info","message":"Client disconnected: 824k1AZZTTOXC20TAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T02:16:19.004Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:16:19.004Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:16:19.004Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3PHsPyjlt_NkVp9FAAAb","timestamp":"2025-10-04T02:16:19.479Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:16:19.480Z"} {"level":"info","message":"📷 Camera request received from operator socket 3PHsPyjlt_NkVp9FAAAb","timestamp":"2025-10-04T02:16:20.612Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:16:20.613Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:16:20.613Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:16:20.613Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:16:20.613Z"} {"level":"info","message":"✅ Connection request created: e2a7206b-f478-437c-9f8b-5462cd838bdd","timestamp":"2025-10-04T02:16:20.613Z"} {"level":"info","message":"✅ Connection initiated: e2a7206b-f478-437c-9f8b-5462cd838bdd","timestamp":"2025-10-04T02:16:20.613Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"e2a7206b-f478-437c-9f8b-5462cd838bdd","timestamp":"2025-10-04T02:16:20.805Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=e2a7206b-f478-437c-9f8b-5462cd838bdd, accepted=true","timestamp":"2025-10-04T02:16:20.805Z"} {"level":"info","message":"✅ Connection established: e2a7206b-f478-437c-9f8b-5462cd838bdd","timestamp":"2025-10-04T02:16:20.806Z"} {"level":"info","message":"✅ Connection accepted: e2a7206b-f478-437c-9f8b-5462cd838bdd","timestamp":"2025-10-04T02:16:20.806Z"} {"level":"info","message":"Client disconnected: 8AWU0O7g4C6Nffx_AAAZ, reason: transport close","timestamp":"2025-10-04T02:17:01.593Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:17:01.593Z"} {"level":"info","message":"🔌 Connection terminated: e2a7206b-f478-437c-9f8b-5462cd838bdd - Device disconnected","timestamp":"2025-10-04T02:17:01.593Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:17:01.593Z"} {"level":"info","message":"Client disconnected: 3PHsPyjlt_NkVp9FAAAb, reason: client namespace disconnect","timestamp":"2025-10-04T02:17:07.341Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:17:07.341Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:17:07.341Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: jMxT-xtfuZhwfl83AAAd","timestamp":"2025-10-04T02:17:52.908Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: jMxT-xtfuZhwfl83AAAd","timestamp":"2025-10-04T02:17:52.908Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:17:52.941Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:17:52.941Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:17:52.960Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:17:52.960Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6HlrAeMOKLL9TzToAAAf","timestamp":"2025-10-04T02:17:54.512Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:17:54.514Z"} {"level":"info","message":"📷 Camera request received from operator socket 6HlrAeMOKLL9TzToAAAf","timestamp":"2025-10-04T02:17:55.315Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:17:55.315Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:17:55.315Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:17:55.315Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:17:55.315Z"} {"level":"info","message":"✅ Connection request created: 7ed0a523-5454-43c1-83b4-161a62840a8b","timestamp":"2025-10-04T02:17:55.315Z"} {"level":"info","message":"✅ Connection initiated: 7ed0a523-5454-43c1-83b4-161a62840a8b","timestamp":"2025-10-04T02:17:55.316Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"7ed0a523-5454-43c1-83b4-161a62840a8b","timestamp":"2025-10-04T02:17:55.439Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=7ed0a523-5454-43c1-83b4-161a62840a8b, accepted=true","timestamp":"2025-10-04T02:17:55.439Z"} {"level":"info","message":"✅ Connection established: 7ed0a523-5454-43c1-83b4-161a62840a8b","timestamp":"2025-10-04T02:17:55.440Z"} {"level":"info","message":"✅ Connection accepted: 7ed0a523-5454-43c1-83b4-161a62840a8b","timestamp":"2025-10-04T02:17:55.440Z"} {"level":"info","message":"Client disconnected: jMxT-xtfuZhwfl83AAAd, reason: client namespace disconnect","timestamp":"2025-10-04T02:19:02.704Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:19:02.704Z"} {"level":"info","message":"🔌 Connection terminated: 7ed0a523-5454-43c1-83b4-161a62840a8b - Device disconnected","timestamp":"2025-10-04T02:19:02.705Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:19:02.705Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hfamgL0aJiRo2JrYAAAh","timestamp":"2025-10-04T02:19:06.581Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: hfamgL0aJiRo2JrYAAAh","timestamp":"2025-10-04T02:19:06.581Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:19:06.636Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:19:06.636Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:19:06.720Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:19:06.720Z"} {"level":"info","message":"Client disconnected: 6HlrAeMOKLL9TzToAAAf, reason: client namespace disconnect","timestamp":"2025-10-04T02:19:12.553Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:12.554Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:12.554Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: jWdd_YtsetjBsE0DAAAj","timestamp":"2025-10-04T02:19:13.141Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:13.142Z"} {"level":"info","message":"📷 Camera request received from operator socket jWdd_YtsetjBsE0DAAAj","timestamp":"2025-10-04T02:19:14.330Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:19:14.330Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:14.330Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:19:14.330Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:19:14.330Z"} {"level":"info","message":"✅ Connection request created: 503fa4e9-7350-478f-8a26-4a79f4b60111","timestamp":"2025-10-04T02:19:14.331Z"} {"level":"info","message":"✅ Connection initiated: 503fa4e9-7350-478f-8a26-4a79f4b60111","timestamp":"2025-10-04T02:19:14.331Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"503fa4e9-7350-478f-8a26-4a79f4b60111","timestamp":"2025-10-04T02:19:14.580Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=503fa4e9-7350-478f-8a26-4a79f4b60111, accepted=true","timestamp":"2025-10-04T02:19:14.580Z"} {"level":"info","message":"✅ Connection established: 503fa4e9-7350-478f-8a26-4a79f4b60111","timestamp":"2025-10-04T02:19:14.580Z"} {"level":"info","message":"✅ Connection accepted: 503fa4e9-7350-478f-8a26-4a79f4b60111","timestamp":"2025-10-04T02:19:14.580Z"} {"level":"info","message":"📷 Camera request received from operator socket jWdd_YtsetjBsE0DAAAj","timestamp":"2025-10-04T02:19:18.082Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:19:18.082Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:18.082Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:19:18.082Z"} {"level":"error","message":"❌ Connection validation failed: Device busy or unavailable","timestamp":"2025-10-04T02:19:18.083Z"} {"level":"error","message":"❌ Failed to initiate connection: Device busy or unavailable","timestamp":"2025-10-04T02:19:18.083Z"} {"level":"info","message":"Client disconnected: jWdd_YtsetjBsE0DAAAj, reason: client namespace disconnect","timestamp":"2025-10-04T02:19:23.057Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:23.057Z"} {"level":"info","message":"🔌 Connection terminated: 503fa4e9-7350-478f-8a26-4a79f4b60111 - Operator disconnected","timestamp":"2025-10-04T02:19:23.058Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:23.058Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: E9_cVKm_DuYQJRh1AAAl","timestamp":"2025-10-04T02:19:23.854Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:23.855Z"} {"level":"info","message":"📷 Camera request received from operator socket E9_cVKm_DuYQJRh1AAAl","timestamp":"2025-10-04T02:19:24.954Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:19:24.954Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:24.954Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:19:24.954Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:19:24.954Z"} {"level":"info","message":"✅ Connection request created: 6d8de9ca-5819-438d-88e7-9b3e35c34edb","timestamp":"2025-10-04T02:19:24.955Z"} {"level":"info","message":"✅ Connection initiated: 6d8de9ca-5819-438d-88e7-9b3e35c34edb","timestamp":"2025-10-04T02:19:24.955Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"6d8de9ca-5819-438d-88e7-9b3e35c34edb","timestamp":"2025-10-04T02:19:25.082Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=6d8de9ca-5819-438d-88e7-9b3e35c34edb, accepted=true","timestamp":"2025-10-04T02:19:25.082Z"} {"level":"info","message":"✅ Connection established: 6d8de9ca-5819-438d-88e7-9b3e35c34edb","timestamp":"2025-10-04T02:19:25.082Z"} {"level":"info","message":"✅ Connection accepted: 6d8de9ca-5819-438d-88e7-9b3e35c34edb","timestamp":"2025-10-04T02:19:25.082Z"} {"level":"info","message":"Client disconnected: E9_cVKm_DuYQJRh1AAAl, reason: client namespace disconnect","timestamp":"2025-10-04T02:19:28.817Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:28.818Z"} {"level":"info","message":"🔌 Connection terminated: 6d8de9ca-5819-438d-88e7-9b3e35c34edb - Operator disconnected","timestamp":"2025-10-04T02:19:28.818Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:19:28.818Z"} {"level":"info","message":"Client disconnected: hfamgL0aJiRo2JrYAAAh, reason: transport close","timestamp":"2025-10-04T02:19:36.275Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:19:36.275Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:19:36.275Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: o60I-j_h_IlR55zsAAAn","timestamp":"2025-10-04T02:30:28.338Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: o60I-j_h_IlR55zsAAAn","timestamp":"2025-10-04T02:30:28.338Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:30:28.381Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:30:28.382Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:30:28.419Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:30:28.419Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: J0tldgXAIUWlss62AAAp","timestamp":"2025-10-04T02:30:32.832Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:30:32.833Z"} {"level":"info","message":"📷 Camera request received from operator socket J0tldgXAIUWlss62AAAp","timestamp":"2025-10-04T02:30:34.069Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:30:34.069Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:30:34.069Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:30:34.069Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:30:34.069Z"} {"level":"info","message":"✅ Connection request created: 88c49e9c-4e8a-4b63-8d94-392219d91298","timestamp":"2025-10-04T02:30:34.069Z"} {"level":"info","message":"✅ Connection initiated: 88c49e9c-4e8a-4b63-8d94-392219d91298","timestamp":"2025-10-04T02:30:34.069Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"88c49e9c-4e8a-4b63-8d94-392219d91298","timestamp":"2025-10-04T02:30:34.374Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=88c49e9c-4e8a-4b63-8d94-392219d91298, accepted=true","timestamp":"2025-10-04T02:30:34.375Z"} {"level":"info","message":"✅ Connection established: 88c49e9c-4e8a-4b63-8d94-392219d91298","timestamp":"2025-10-04T02:30:34.375Z"} {"level":"info","message":"✅ Connection accepted: 88c49e9c-4e8a-4b63-8d94-392219d91298","timestamp":"2025-10-04T02:30:34.375Z"} {"level":"info","message":"Client disconnected: o60I-j_h_IlR55zsAAAn, reason: client namespace disconnect","timestamp":"2025-10-04T02:30:37.361Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:30:37.361Z"} {"level":"info","message":"🔌 Connection terminated: 88c49e9c-4e8a-4b63-8d94-392219d91298 - Device disconnected","timestamp":"2025-10-04T02:30:37.361Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:30:37.361Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: cZdqk0XQzmXAJvPpAAAr","timestamp":"2025-10-04T02:30:51.902Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: cZdqk0XQzmXAJvPpAAAr","timestamp":"2025-10-04T02:30:51.903Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:30:51.937Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T02:30:51.937Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:30:51.937Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T02:30:51.938Z"} {"level":"info","message":"Client disconnected: J0tldgXAIUWlss62AAAp, reason: client namespace disconnect","timestamp":"2025-10-04T02:30:55.236Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:30:55.236Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:30:55.236Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: XqgorrDjgFxUY6v4AAAt","timestamp":"2025-10-04T02:30:55.713Z","userAgent":""} {"level":"info","message":"Operator registered: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:30:55.714Z"} {"level":"info","message":"📷 Camera request received from operator socket XqgorrDjgFxUY6v4AAAt","timestamp":"2025-10-04T02:30:56.517Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T02:30:56.517Z"} {"level":"info","message":"✅ Operator found: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c","timestamp":"2025-10-04T02:30:56.517Z"} {"level":"info","message":"🔗 Initiating connection: 3aa3e4b5-0dd6-45de-be1c-dba26958e34c -> android_bcac6e0d (back)","timestamp":"2025-10-04T02:30:56.517Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T02:30:56.517Z"} {"level":"info","message":"✅ Connection request created: c2051374-9fa7-4a3e-9985-18c1722cce29","timestamp":"2025-10-04T02:30:56.517Z"} {"level":"info","message":"✅ Connection initiated: c2051374-9fa7-4a3e-9985-18c1722cce29","timestamp":"2025-10-04T02:30:56.517Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"c2051374-9fa7-4a3e-9985-18c1722cce29","timestamp":"2025-10-04T02:30:56.671Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=c2051374-9fa7-4a3e-9985-18c1722cce29, accepted=true","timestamp":"2025-10-04T02:30:56.671Z"} {"level":"info","message":"✅ Connection established: c2051374-9fa7-4a3e-9985-18c1722cce29","timestamp":"2025-10-04T02:30:56.671Z"} {"level":"info","message":"✅ Connection accepted: c2051374-9fa7-4a3e-9985-18c1722cce29","timestamp":"2025-10-04T02:30:56.671Z"} {"level":"info","message":"Client disconnected: cZdqk0XQzmXAJvPpAAAr, reason: transport close","timestamp":"2025-10-04T02:31:42.012Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T02:31:42.012Z"} {"level":"info","message":"🔌 Connection terminated: c2051374-9fa7-4a3e-9985-18c1722cce29 - Device disconnected","timestamp":"2025-10-04T02:31:42.013Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T02:31:42.013Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T02:56:23.218Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T06:25:09.327Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Kpl9mBwb0wbS2X-TAAAB","timestamp":"2025-10-04T06:25:43.680Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:25:43.683Z"} {"level":"info","message":"Client disconnected: Kpl9mBwb0wbS2X-TAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T06:25:44.588Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:25:44.588Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:25:44.589Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5o_b0lPiycgDVJYYAAAD","timestamp":"2025-10-04T06:26:42.889Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 5o_b0lPiycgDVJYYAAAD","timestamp":"2025-10-04T06:26:42.889Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T06:26:42.939Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T06:26:42.939Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T06:26:43.005Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T06:26:43.006Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: dk0uOUIXiqDqasRYAAAF","timestamp":"2025-10-04T06:26:44.291Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:26:44.292Z"} {"level":"info","message":"📷 Camera request received from operator socket dk0uOUIXiqDqasRYAAAF","timestamp":"2025-10-04T06:26:45.446Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T06:26:45.446Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:26:45.446Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> android_bcac6e0d (back)","timestamp":"2025-10-04T06:26:45.447Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T06:26:45.447Z"} {"level":"info","message":"✅ Connection request created: aebbcad9-d034-4341-b67b-66f8e6e0501b","timestamp":"2025-10-04T06:26:45.448Z"} {"level":"info","message":"✅ Connection initiated: aebbcad9-d034-4341-b67b-66f8e6e0501b","timestamp":"2025-10-04T06:26:45.448Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"aebbcad9-d034-4341-b67b-66f8e6e0501b","timestamp":"2025-10-04T06:26:45.706Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=aebbcad9-d034-4341-b67b-66f8e6e0501b, accepted=true","timestamp":"2025-10-04T06:26:45.707Z"} {"level":"info","message":"✅ Connection established: aebbcad9-d034-4341-b67b-66f8e6e0501b","timestamp":"2025-10-04T06:26:45.707Z"} {"level":"info","message":"✅ Connection accepted: aebbcad9-d034-4341-b67b-66f8e6e0501b","timestamp":"2025-10-04T06:26:45.707Z"} {"level":"info","message":"Client disconnected: dk0uOUIXiqDqasRYAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T06:29:12.635Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:29:12.635Z"} {"level":"info","message":"🔌 Connection terminated: aebbcad9-d034-4341-b67b-66f8e6e0501b - Operator disconnected","timestamp":"2025-10-04T06:29:12.635Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:29:12.636Z"} {"level":"info","message":"Client disconnected: 5o_b0lPiycgDVJYYAAAD, reason: transport close","timestamp":"2025-10-04T06:29:13.348Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T06:29:13.348Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_bcac6e0d","timestamp":"2025-10-04T06:29:13.348Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TIfZ-oGxRK0DlQWtAAAH","timestamp":"2025-10-04T06:29:14.128Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:29:14.130Z"} {"level":"info","message":"Client disconnected: TIfZ-oGxRK0DlQWtAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T06:29:14.843Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:29:14.843Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:29:14.843Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: yH_a_H3ujiVIBrsbAAAJ","timestamp":"2025-10-04T06:45:37.763Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: d18KKY8miSe3DfEHAAAL","timestamp":"2025-10-04T06:45:54.663Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T06:45:54.667Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UOonYDsdfSiY83vPAAAN","timestamp":"2025-10-04T06:45:56.790Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:45:56.791Z"} {"level":"info","message":"📷 Camera request received from operator socket UOonYDsdfSiY83vPAAAN","timestamp":"2025-10-04T06:45:57.779Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T06:45:57.779Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:45:57.779Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> demo-device-001 (back)","timestamp":"2025-10-04T06:45:57.779Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T06:45:57.779Z"} {"level":"info","message":"✅ Connection request created: 3dc186bc-5023-4937-848b-2094c80b5927","timestamp":"2025-10-04T06:45:57.779Z"} {"level":"info","message":"✅ Connection initiated: 3dc186bc-5023-4937-848b-2094c80b5927","timestamp":"2025-10-04T06:45:57.780Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=3dc186bc-5023-4937-848b-2094c80b5927, accepted=true","timestamp":"2025-10-04T06:45:59.547Z"} {"level":"info","message":"✅ Connection established: 3dc186bc-5023-4937-848b-2094c80b5927","timestamp":"2025-10-04T06:45:59.547Z"} {"level":"info","message":"✅ Connection accepted: 3dc186bc-5023-4937-848b-2094c80b5927","timestamp":"2025-10-04T06:45:59.547Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Tg2Szd3483WK3-VtAAAP","timestamp":"2025-10-04T06:49:51.246Z","userAgent":"node-XMLHttpRequest"} {"availableCameras":["back"],"level":"info","manufacturer":"TestDevice","message":"Android client registered: webrtc_android_kw0cegkzd","model":"WebRTC Test","timestamp":"2025-10-04T06:49:51.254Z","webrtcCapabilities":{"audio":true,"codecs":["H264","VP8","VP9"],"resolutions":["720p","1080p"],"video":true}} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: W7xSymwce43nJ87uAAAR","timestamp":"2025-10-04T06:49:51.263Z","userAgent":"node-XMLHttpRequest"} {"level":"info","message":"Operator registered: webrtc_operator_gzz7909f3","timestamp":"2025-10-04T06:49:51.268Z"} {"level":"info","message":"📷 Camera request received from operator socket W7xSymwce43nJ87uAAAR","timestamp":"2025-10-04T06:49:52.269Z"} {"cameraType":"back","deviceId":"webrtc_android_kw0cegkzd","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T06:49:52.269Z"} {"level":"info","message":"✅ Operator found: webrtc_operator_gzz7909f3","timestamp":"2025-10-04T06:49:52.269Z"} {"level":"info","message":"🔗 Initiating connection: webrtc_operator_gzz7909f3 -> webrtc_android_kw0cegkzd (back)","timestamp":"2025-10-04T06:49:52.269Z"} {"level":"info","message":"📱 Sending camera:request to Android device webrtc_android_kw0cegkzd","timestamp":"2025-10-04T06:49:52.269Z"} {"level":"info","message":"✅ Connection request created: 07c231ca-5c8f-424b-8f47-733770e2989e","timestamp":"2025-10-04T06:49:52.269Z"} {"level":"info","message":"✅ Connection initiated: 07c231ca-5c8f-424b-8f47-733770e2989e","timestamp":"2025-10-04T06:49:52.270Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=07c231ca-5c8f-424b-8f47-733770e2989e, accepted=true","timestamp":"2025-10-04T06:49:52.770Z"} {"level":"info","message":"✅ Connection established: 07c231ca-5c8f-424b-8f47-733770e2989e","timestamp":"2025-10-04T06:49:52.770Z"} {"level":"info","message":"✅ Connection accepted: 07c231ca-5c8f-424b-8f47-733770e2989e","timestamp":"2025-10-04T06:49:52.771Z"} {"level":"info","message":"Client disconnected: Tg2Szd3483WK3-VtAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T06:49:58.273Z"} {"level":"info","message":"🧹 Cleaning up connections for device: webrtc_android_kw0cegkzd","timestamp":"2025-10-04T06:49:58.273Z"} {"level":"info","message":"🔌 Connection terminated: 07c231ca-5c8f-424b-8f47-733770e2989e - Device disconnected","timestamp":"2025-10-04T06:49:58.274Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device webrtc_android_kw0cegkzd","timestamp":"2025-10-04T06:49:58.274Z"} {"level":"info","message":"Client disconnected: W7xSymwce43nJ87uAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T06:49:58.274Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: webrtc_operator_gzz7909f3","timestamp":"2025-10-04T06:49:58.274Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator webrtc_operator_gzz7909f3","timestamp":"2025-10-04T06:49:58.274Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T06:50:55.700Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: iexq32A5HufLtxzVAAAB","timestamp":"2025-10-04T06:50:56.547Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: dZjMJtNWFIsvAbIbAAAD","timestamp":"2025-10-04T06:50:58.249Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:50:58.251Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: AeI_K_lfgKubL2-zAAAF","timestamp":"2025-10-04T06:50:59.687Z","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/143.0"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T06:50:59.691Z"} {"level":"info","message":"Client disconnected: dZjMJtNWFIsvAbIbAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T06:51:04.773Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:51:04.773Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:51:04.774Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: eXJDJpMGPPgA3z7rAAAH","timestamp":"2025-10-04T06:51:17.246Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: eXJDJpMGPPgA3z7rAAAH","timestamp":"2025-10-04T06:51:17.247Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T06:51:17.272Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T06:51:17.273Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T06:51:17.338Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T06:51:17.339Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Jvrm-d3VKnzYudBrAAAJ","timestamp":"2025-10-04T06:51:18.290Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:51:18.291Z"} {"level":"info","message":"📷 Camera request received from operator socket Jvrm-d3VKnzYudBrAAAJ","timestamp":"2025-10-04T06:51:26.109Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T06:51:26.109Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T06:51:26.110Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> android_bcac6e0d (back)","timestamp":"2025-10-04T06:51:26.110Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T06:51:26.111Z"} {"level":"info","message":"✅ Connection request created: e16f5710-127b-493f-b5bb-32b538680997","timestamp":"2025-10-04T06:51:26.111Z"} {"level":"info","message":"✅ Connection initiated: e16f5710-127b-493f-b5bb-32b538680997","timestamp":"2025-10-04T06:51:26.111Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"e16f5710-127b-493f-b5bb-32b538680997","timestamp":"2025-10-04T06:51:26.421Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=e16f5710-127b-493f-b5bb-32b538680997, accepted=true","timestamp":"2025-10-04T06:51:26.422Z"} {"level":"info","message":"✅ Connection established: e16f5710-127b-493f-b5bb-32b538680997","timestamp":"2025-10-04T06:51:26.422Z"} {"level":"info","message":"✅ Connection accepted: e16f5710-127b-493f-b5bb-32b538680997","timestamp":"2025-10-04T06:51:26.422Z"} {"level":"info","message":"Client disconnected: eXJDJpMGPPgA3z7rAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T07:15:06.292Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T07:15:06.292Z"} {"level":"info","message":"🔌 Connection terminated: e16f5710-127b-493f-b5bb-32b538680997 - Device disconnected","timestamp":"2025-10-04T07:15:06.293Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T07:15:06.293Z"} {"level":"info","message":"Client disconnected: Jvrm-d3VKnzYudBrAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T07:15:22.184Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:15:22.185Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:15:22.185Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Zwx_tgfTVk4gHSp1AAAL","timestamp":"2025-10-04T07:15:22.741Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:15:22.742Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: MtKEswgv1LztzJ4hAAAN","timestamp":"2025-10-04T07:15:25.751Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: MtKEswgv1LztzJ4hAAAN","timestamp":"2025-10-04T07:15:25.752Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:15:25.787Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:15:25.787Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:15:25.849Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:15:25.849Z"} {"level":"info","message":"Client disconnected: Zwx_tgfTVk4gHSp1AAAL, reason: client namespace disconnect","timestamp":"2025-10-04T07:15:27.160Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:15:27.160Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:15:27.160Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UXq1iPeeIWd6wS19AAAP","timestamp":"2025-10-04T07:15:27.603Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:15:27.605Z"} {"level":"info","message":"📷 Camera request received from operator socket UXq1iPeeIWd6wS19AAAP","timestamp":"2025-10-04T07:15:29.642Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T07:15:29.643Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:15:29.643Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> android_bcac6e0d (back)","timestamp":"2025-10-04T07:15:29.643Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T07:15:29.643Z"} {"level":"info","message":"✅ Connection request created: caaba2de-fa47-444b-9ff0-433fc1e0a986","timestamp":"2025-10-04T07:15:29.643Z"} {"level":"info","message":"✅ Connection initiated: caaba2de-fa47-444b-9ff0-433fc1e0a986","timestamp":"2025-10-04T07:15:29.643Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"caaba2de-fa47-444b-9ff0-433fc1e0a986","timestamp":"2025-10-04T07:15:29.888Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=caaba2de-fa47-444b-9ff0-433fc1e0a986, accepted=true","timestamp":"2025-10-04T07:15:29.888Z"} {"level":"info","message":"✅ Connection established: caaba2de-fa47-444b-9ff0-433fc1e0a986","timestamp":"2025-10-04T07:15:29.888Z"} {"level":"info","message":"✅ Connection accepted: caaba2de-fa47-444b-9ff0-433fc1e0a986","timestamp":"2025-10-04T07:15:29.888Z"} {"level":"info","message":"Client disconnected: MtKEswgv1LztzJ4hAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T07:17:00.820Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T07:17:00.821Z"} {"level":"info","message":"🔌 Connection terminated: caaba2de-fa47-444b-9ff0-433fc1e0a986 - Device disconnected","timestamp":"2025-10-04T07:17:00.821Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T07:17:00.821Z"} {"level":"info","message":"Client disconnected: iexq32A5HufLtxzVAAAB, reason: transport close","timestamp":"2025-10-04T07:33:07.566Z"} {"level":"info","message":"Client disconnected: AeI_K_lfgKubL2-zAAAF, reason: transport close","timestamp":"2025-10-04T07:33:07.566Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T07:33:07.566Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T07:33:07.566Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: rE17YXJ83zIG0UR-AAAR","timestamp":"2025-10-04T07:33:13.131Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: rE17YXJ83zIG0UR-AAAR","timestamp":"2025-10-04T07:33:13.131Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:33:13.165Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:33:13.165Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:33:13.235Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:33:13.235Z"} {"level":"info","message":"Client disconnected: UXq1iPeeIWd6wS19AAAP, reason: client namespace disconnect","timestamp":"2025-10-04T07:33:14.326Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:33:14.326Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:33:14.326Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: i6ZWBuWU1pteDKQfAAAT","timestamp":"2025-10-04T07:33:14.794Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:33:14.795Z"} {"level":"info","message":"📷 Camera request received from operator socket i6ZWBuWU1pteDKQfAAAT","timestamp":"2025-10-04T07:33:15.639Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T07:33:15.639Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:33:15.639Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> android_bcac6e0d (back)","timestamp":"2025-10-04T07:33:15.639Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T07:33:15.639Z"} {"level":"info","message":"✅ Connection request created: 192f6eef-c75a-4d23-9e2a-12c8f4f22a82","timestamp":"2025-10-04T07:33:15.640Z"} {"level":"info","message":"✅ Connection initiated: 192f6eef-c75a-4d23-9e2a-12c8f4f22a82","timestamp":"2025-10-04T07:33:15.640Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"192f6eef-c75a-4d23-9e2a-12c8f4f22a82","timestamp":"2025-10-04T07:33:15.964Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=192f6eef-c75a-4d23-9e2a-12c8f4f22a82, accepted=true","timestamp":"2025-10-04T07:33:15.965Z"} {"level":"info","message":"✅ Connection established: 192f6eef-c75a-4d23-9e2a-12c8f4f22a82","timestamp":"2025-10-04T07:33:15.965Z"} {"level":"info","message":"✅ Connection accepted: 192f6eef-c75a-4d23-9e2a-12c8f4f22a82","timestamp":"2025-10-04T07:33:15.965Z"} {"level":"info","message":"Client disconnected: rE17YXJ83zIG0UR-AAAR, reason: client namespace disconnect","timestamp":"2025-10-04T07:33:36.568Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T07:33:36.568Z"} {"level":"info","message":"🔌 Connection terminated: 192f6eef-c75a-4d23-9e2a-12c8f4f22a82 - Device disconnected","timestamp":"2025-10-04T07:33:36.568Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T07:33:36.568Z"} {"level":"info","message":"Client disconnected: i6ZWBuWU1pteDKQfAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T07:33:37.694Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:33:37.694Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:33:37.694Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: b-YJFuxtiTzM5nqoAAAV","timestamp":"2025-10-04T07:34:21.029Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: b-YJFuxtiTzM5nqoAAAV","timestamp":"2025-10-04T07:34:21.029Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:34:21.102Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:34:21.102Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:34:21.102Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:34:21.103Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: tyIUkwqF2uefujviAAAX","timestamp":"2025-10-04T07:34:24.292Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:34:24.293Z"} {"level":"info","message":"📷 Camera request received from operator socket tyIUkwqF2uefujviAAAX","timestamp":"2025-10-04T07:34:25.407Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T07:34:25.407Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:34:25.408Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> android_bcac6e0d (back)","timestamp":"2025-10-04T07:34:25.408Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T07:34:25.408Z"} {"level":"info","message":"✅ Connection request created: 1e5429bb-78a0-474c-88f9-bae3bef5faa9","timestamp":"2025-10-04T07:34:25.408Z"} {"level":"info","message":"✅ Connection initiated: 1e5429bb-78a0-474c-88f9-bae3bef5faa9","timestamp":"2025-10-04T07:34:25.408Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"1e5429bb-78a0-474c-88f9-bae3bef5faa9","timestamp":"2025-10-04T07:34:25.631Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=1e5429bb-78a0-474c-88f9-bae3bef5faa9, accepted=true","timestamp":"2025-10-04T07:34:25.631Z"} {"level":"info","message":"✅ Connection established: 1e5429bb-78a0-474c-88f9-bae3bef5faa9","timestamp":"2025-10-04T07:34:25.631Z"} {"level":"info","message":"✅ Connection accepted: 1e5429bb-78a0-474c-88f9-bae3bef5faa9","timestamp":"2025-10-04T07:34:25.631Z"} {"level":"info","message":"Client disconnected: b-YJFuxtiTzM5nqoAAAV, reason: transport close","timestamp":"2025-10-04T07:40:37.466Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T07:40:37.466Z"} {"level":"info","message":"🔌 Connection terminated: 1e5429bb-78a0-474c-88f9-bae3bef5faa9 - Device disconnected","timestamp":"2025-10-04T07:40:37.466Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T07:40:37.466Z"} {"level":"info","message":"Client disconnected: tyIUkwqF2uefujviAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T07:41:53.226Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:41:53.226Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:41:53.226Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: HJS_-scOQbdBwzMfAAAZ","timestamp":"2025-10-04T07:41:55.372Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: HJS_-scOQbdBwzMfAAAZ","timestamp":"2025-10-04T07:41:55.372Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:41:55.415Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:41:55.415Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:41:55.477Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:41:55.477Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: R9YzNXts1eBh1XpbAAAb","timestamp":"2025-10-04T07:41:57.158Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:41:57.159Z"} {"level":"info","message":"📷 Camera request received from operator socket R9YzNXts1eBh1XpbAAAb","timestamp":"2025-10-04T07:41:59.338Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T07:41:59.338Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:41:59.338Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> android_bcac6e0d (back)","timestamp":"2025-10-04T07:41:59.338Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T07:41:59.338Z"} {"level":"info","message":"✅ Connection request created: 736abfae-3cac-48e6-b4a2-427baa60583c","timestamp":"2025-10-04T07:41:59.339Z"} {"level":"info","message":"✅ Connection initiated: 736abfae-3cac-48e6-b4a2-427baa60583c","timestamp":"2025-10-04T07:41:59.339Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"736abfae-3cac-48e6-b4a2-427baa60583c","timestamp":"2025-10-04T07:41:59.654Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=736abfae-3cac-48e6-b4a2-427baa60583c, accepted=true","timestamp":"2025-10-04T07:41:59.654Z"} {"level":"info","message":"✅ Connection established: 736abfae-3cac-48e6-b4a2-427baa60583c","timestamp":"2025-10-04T07:41:59.654Z"} {"level":"info","message":"✅ Connection accepted: 736abfae-3cac-48e6-b4a2-427baa60583c","timestamp":"2025-10-04T07:41:59.654Z"} {"level":"info","message":"Client disconnected: HJS_-scOQbdBwzMfAAAZ, reason: client namespace disconnect","timestamp":"2025-10-04T07:42:25.944Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T07:42:25.944Z"} {"level":"info","message":"🔌 Connection terminated: 736abfae-3cac-48e6-b4a2-427baa60583c - Device disconnected","timestamp":"2025-10-04T07:42:25.944Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T07:42:25.945Z"} {"level":"info","message":"Client disconnected: R9YzNXts1eBh1XpbAAAb, reason: client namespace disconnect","timestamp":"2025-10-04T07:42:28.313Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:28.314Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:28.314Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: m8EK1Pw25bQzEhsZAAAd","timestamp":"2025-10-04T07:42:28.773Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:28.774Z"} {"level":"info","message":"Client disconnected: m8EK1Pw25bQzEhsZAAAd, reason: client namespace disconnect","timestamp":"2025-10-04T07:42:29.473Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:29.473Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:29.474Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2lbECQ_KUGA7w_lDAAAf","timestamp":"2025-10-04T07:42:29.869Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:29.870Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: tmldT8ZoNyPmaNZuAAAh","timestamp":"2025-10-04T07:42:30.870Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: tmldT8ZoNyPmaNZuAAAh","timestamp":"2025-10-04T07:42:30.870Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:42:30.892Z"} {"deviceId":"android_bcac6e0d","deviceInfo":{"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"model":"LGE LGM-G600S"},"level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T07:42:30.892Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:42:30.892Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":["back","front","ultra_wide","telephoto"],"level":"info","message":"Android client registered: android_bcac6e0d","model":"LGE LGM-G600S","timestamp":"2025-10-04T07:42:30.892Z"} {"level":"info","message":"Client disconnected: 2lbECQ_KUGA7w_lDAAAf, reason: client namespace disconnect","timestamp":"2025-10-04T07:42:31.721Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:31.721Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:31.722Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: FUr57_4Giqz__3D7AAAj","timestamp":"2025-10-04T07:42:32.149Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:32.150Z"} {"level":"info","message":"📷 Camera request received from operator socket FUr57_4Giqz__3D7AAAj","timestamp":"2025-10-04T07:42:33.046Z"} {"cameraType":"back","deviceId":"android_bcac6e0d","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T07:42:33.046Z"} {"level":"info","message":"✅ Operator found: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T07:42:33.046Z"} {"level":"info","message":"🔗 Initiating connection: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd -> android_bcac6e0d (back)","timestamp":"2025-10-04T07:42:33.046Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_bcac6e0d","timestamp":"2025-10-04T07:42:33.046Z"} {"level":"info","message":"✅ Connection request created: 7b97e563-88b0-4c86-867c-e4c61fea6db6","timestamp":"2025-10-04T07:42:33.046Z"} {"level":"info","message":"✅ Connection initiated: 7b97e563-88b0-4c86-867c-e4c61fea6db6","timestamp":"2025-10-04T07:42:33.046Z"} {"accepted":true,"level":"info","message":"📱 Android event: camera:response","sessionId":"7b97e563-88b0-4c86-867c-e4c61fea6db6","timestamp":"2025-10-04T07:42:33.205Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=7b97e563-88b0-4c86-867c-e4c61fea6db6, accepted=true","timestamp":"2025-10-04T07:42:33.205Z"} {"level":"info","message":"✅ Connection established: 7b97e563-88b0-4c86-867c-e4c61fea6db6","timestamp":"2025-10-04T07:42:33.205Z"} {"level":"info","message":"✅ Connection accepted: 7b97e563-88b0-4c86-867c-e4c61fea6db6","timestamp":"2025-10-04T07:42:33.205Z"} {"level":"info","message":"Client disconnected: tmldT8ZoNyPmaNZuAAAh, reason: transport close","timestamp":"2025-10-04T07:43:07.419Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_bcac6e0d","timestamp":"2025-10-04T07:43:07.419Z"} {"level":"info","message":"🔌 Connection terminated: 7b97e563-88b0-4c86-867c-e4c61fea6db6 - Device disconnected","timestamp":"2025-10-04T07:43:07.419Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_bcac6e0d","timestamp":"2025-10-04T07:43:07.419Z"} {"level":"info","message":"Client disconnected: FUr57_4Giqz__3D7AAAj, reason: client namespace disconnect","timestamp":"2025-10-04T08:00:35.416Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:00:35.416Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:00:35.416Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: l4xhmUh42CD9v9dCAAAl","timestamp":"2025-10-04T08:00:35.876Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:00:35.877Z"} {"level":"info","message":"Client disconnected: l4xhmUh42CD9v9dCAAAl, reason: client namespace disconnect","timestamp":"2025-10-04T08:00:36.704Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:00:36.704Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:00:36.704Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: FVxUAgpCNjy7jUUFAAAn","timestamp":"2025-10-04T08:00:37.948Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:00:37.949Z"} {"level":"info","message":"Client disconnected: FVxUAgpCNjy7jUUFAAAn, reason: client namespace disconnect","timestamp":"2025-10-04T08:01:23.759Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:01:23.759Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:01:23.759Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: JN7DO9S46AdaMJ5EAAAp","timestamp":"2025-10-04T08:01:24.692Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:01:24.693Z"} {"level":"info","message":"Client disconnected: JN7DO9S46AdaMJ5EAAAp, reason: client namespace disconnect","timestamp":"2025-10-04T08:02:48.961Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:02:48.961Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:02:48.961Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: LmHJD_VfWYYPRAnVAAAr","timestamp":"2025-10-04T08:02:49.509Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:02:49.511Z"} {"level":"info","message":"Client disconnected: LmHJD_VfWYYPRAnVAAAr, reason: client namespace disconnect","timestamp":"2025-10-04T08:22:15.939Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:15.939Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:15.939Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: l-5QM0RNVjvZZ9yFAAAt","timestamp":"2025-10-04T08:22:16.528Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:16.531Z"} {"level":"info","message":"Client disconnected: l-5QM0RNVjvZZ9yFAAAt, reason: client namespace disconnect","timestamp":"2025-10-04T08:22:23.547Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:23.547Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:23.547Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rAhOBDf88ukmCpnSAAAv","timestamp":"2025-10-04T08:22:32.800Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:32.801Z"} {"level":"info","message":"Client disconnected: rAhOBDf88ukmCpnSAAAv, reason: client namespace disconnect","timestamp":"2025-10-04T08:22:33.763Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:33.763Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:33.763Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9QtRkaPtMUd0dlWtAAAx","timestamp":"2025-10-04T08:22:34.423Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:22:34.424Z"} {"level":"info","message":"Client disconnected: 9QtRkaPtMUd0dlWtAAAx, reason: client namespace disconnect","timestamp":"2025-10-04T08:46:55.179Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:46:55.179Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:46:55.179Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: tFOjCSaMAxqad4j7AAAz","timestamp":"2025-10-04T08:47:25.230Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:47:25.231Z"} {"level":"info","message":"Client disconnected: tFOjCSaMAxqad4j7AAAz, reason: client namespace disconnect","timestamp":"2025-10-04T08:47:26.322Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:47:26.322Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:47:26.323Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: KgDJztkkUdHPSYNkAAA1","timestamp":"2025-10-04T08:47:26.822Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:47:26.824Z"} {"level":"info","message":"Client disconnected: KgDJztkkUdHPSYNkAAA1, reason: client namespace disconnect","timestamp":"2025-10-04T08:47:28.034Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:47:28.034Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:47:28.034Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9zmr8Stld8Vkh28fAAA3","timestamp":"2025-10-04T08:47:35.598Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T08:47:35.599Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NC6MNKh4koiIC3rpAAA6","timestamp":"2025-10-04T09:09:00.731Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: b3IaUO6uNA6EZawCAAA7","timestamp":"2025-10-04T09:09:00.733Z","userAgent":""} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T09:09:46.956Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ccYqbTUKRFkaFI92AAAB","timestamp":"2025-10-04T09:09:48.297Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T09:09:48.299Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1yJQAzVR3UT5yowFAAAE","timestamp":"2025-10-04T09:10:06.008Z","userAgent":""} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: nsb_1xToET-z_wlLAAAF","timestamp":"2025-10-04T09:10:06.010Z","userAgent":""} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T09:29:13.128Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: CIBmyx8JWpsMkZgvAAAB","timestamp":"2025-10-04T09:29:14.025Z","userAgent":""} {"level":"info","message":"🎥 Video stream request received from operator socket CIBmyx8JWpsMkZgvAAAB","timestamp":"2025-10-04T09:29:14.029Z"} {"cameraType":"back","deviceId":"test_universal_video_device","level":"info","message":"🎥 Request data:","preferredMethod":"auto","timestamp":"2025-10-04T09:29:14.029Z"} {"level":"error","message":"❌ Operator not found for socket CIBmyx8JWpsMkZgvAAAB","timestamp":"2025-10-04T09:29:14.030Z"} {"level":"info","message":"🎥 Video stream request received from operator socket CIBmyx8JWpsMkZgvAAAB","timestamp":"2025-10-04T09:29:14.031Z"} {"cameraType":"back","deviceId":"test_universal_video_device","level":"info","message":"🎥 Request data:","preferredMethod":"websocket-tunnel","timestamp":"2025-10-04T09:29:14.031Z"} {"level":"error","message":"❌ Operator not found for socket CIBmyx8JWpsMkZgvAAAB","timestamp":"2025-10-04T09:29:14.031Z"} {"level":"info","message":"🎥 Video stream request received from operator socket CIBmyx8JWpsMkZgvAAAB","timestamp":"2025-10-04T09:29:14.032Z"} {"cameraType":"back","deviceId":"test_universal_video_device","level":"info","message":"🎥 Request data:","preferredMethod":"webrtc-direct","timestamp":"2025-10-04T09:29:14.032Z"} {"level":"error","message":"❌ Operator not found for socket CIBmyx8JWpsMkZgvAAAB","timestamp":"2025-10-04T09:29:14.032Z"} {"level":"info","message":"Operator registered: test_universal_video_operator","timestamp":"2025-10-04T09:29:14.033Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DI5z1_Yx__Lz754RAAAD","timestamp":"2025-10-04T09:29:14.036Z","userAgent":""} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T09:29:30.907Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: sUe60WBjinQEMu9BAAAB","timestamp":"2025-10-04T09:29:31.124Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T09:29:31.126Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: asfAVc1Hg9fdZzIXAAAE","timestamp":"2025-10-04T09:29:31.613Z","userAgent":""} {"level":"info","message":"Operator registered: test_universal_video_operator","timestamp":"2025-10-04T09:29:31.614Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: wNQ3u1ODgbUtkyXQAAAF","timestamp":"2025-10-04T09:29:31.642Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: wNQ3u1ODgbUtkyXQAAAF","timestamp":"2025-10-04T09:29:31.642Z"} {"deviceId":"android_199ae8cd5d4","deviceInfo":{"androidVersion":"9","appVersion":"1.0","availableCameras":"back,front","manufacturer":"LGE","model":"LGM-G600S"},"deviceName":"Trevor_Test_ANDROID_LGG6","level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T09:29:31.676Z"} {"androidVersion":"9","appVersion":"1.0","availableCameras":"back,front","level":"info","manufacturer":"LGE","message":"Android client registered: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T09:29:31.677Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 4sYwhGNF77q-UKqoAAAH","timestamp":"2025-10-04T09:29:31.734Z","userAgent":""} {"level":"info","message":"Operator registered: 90be3f6b-e10b-48e9-bd7b-2fe0b4ebc0bd","timestamp":"2025-10-04T09:29:31.736Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VomEDXx4lWoWYWGYAAAJ","timestamp":"2025-10-04T09:29:31.880Z","userAgent":""} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T09:30:57.908Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 1qNOKJkyoLssPs8nAAAB","timestamp":"2025-10-04T09:30:59.030Z","userAgent":"okhttp/3.12.12"} {"level":"info","message":"🤖 Android client connected: 1qNOKJkyoLssPs8nAAAB","timestamp":"2025-10-04T09:30:59.030Z"} {"deviceId":"android_199ae8cd5d4","deviceInfo":{"androidVersion":"9","appVersion":"1.0","availableCameras":"back,front","manufacturer":"LGE","model":"LGM-G600S"},"deviceName":"Trevor_Test_ANDROID_LGG6","level":"info","message":"📱 Android event: register:android","timestamp":"2025-10-04T09:30:59.056Z"} {"androidVersion":"9","appVersion":"1.0","availableCameras":"back,front","level":"info","manufacturer":"LGE","message":"Android client registered: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T09:30:59.058Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DXj_83LJ-bidNAe1AAAD","timestamp":"2025-10-04T09:31:00.150Z","userAgent":""} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T10:28:07.867Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: z7ZSZaTfMpJ5AZcTAAAH","timestamp":"2025-10-04T10:28:08.729Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: z7ZSZaTfMpJ5AZcTAAAH","timestamp":"2025-10-04T10:28:08.729Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: MOsQxBlOCn_ZifpBAAAI","timestamp":"2025-10-04T10:28:08.732Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: MOsQxBlOCn_ZifpBAAAI","timestamp":"2025-10-04T10:28:08.732Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: BQ5Rn2hO6mV-BVd9AAAJ","timestamp":"2025-10-04T10:28:08.752Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: BQ5Rn2hO6mV-BVd9AAAJ","timestamp":"2025-10-04T10:28:08.752Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 3Dm6IkxVhzuoQf1PAAAK","timestamp":"2025-10-04T10:28:08.753Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 3Dm6IkxVhzuoQf1PAAAK","timestamp":"2025-10-04T10:28:08.753Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: YbXTct_pEfDJBwI0AAAL","timestamp":"2025-10-04T10:28:08.765Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: YbXTct_pEfDJBwI0AAAL","timestamp":"2025-10-04T10:28:08.765Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 4AiCRFu4m62AJ4QzAAAM","timestamp":"2025-10-04T10:28:08.785Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 4AiCRFu4m62AJ4QzAAAM","timestamp":"2025-10-04T10:28:08.785Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: zyGWTvHWuUqk5vMUAAAN","timestamp":"2025-10-04T10:28:08.795Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: zyGWTvHWuUqk5vMUAAAN","timestamp":"2025-10-04T10:28:08.795Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:08.935Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:08.939Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:08.958Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:08.981Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:09.003Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:09.010Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:09.097Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: w95pQ4C-DI4KANFcAAAP","timestamp":"2025-10-04T10:28:11.244Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: r1EnuwGTR_bpLTjtAAAR","timestamp":"2025-10-04T10:28:14.397Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:28:14.398Z"} {"level":"info","message":"Client disconnected: YbXTct_pEfDJBwI0AAAL, reason: client namespace disconnect","timestamp":"2025-10-04T10:28:20.904Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: f4gnzXPx--YFGgiEAAAT","timestamp":"2025-10-04T10:28:21.748Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: f4gnzXPx--YFGgiEAAAT","timestamp":"2025-10-04T10:28:21.748Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:21.927Z"} {"level":"info","message":"Client disconnected: r1EnuwGTR_bpLTjtAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T10:28:23.010Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:28:23.010Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:28:23.010Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2KgQ7ium8ksj1dKkAAAV","timestamp":"2025-10-04T10:28:23.519Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:28:23.520Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 4pwwLSvvNbGZNMWMAAAX","timestamp":"2025-10-04T10:28:38.098Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 4pwwLSvvNbGZNMWMAAAX","timestamp":"2025-10-04T10:28:38.098Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:28:38.149Z"} {"level":"info","message":"Client disconnected: 4pwwLSvvNbGZNMWMAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T10:28:59.344Z"} {"level":"info","message":"Client disconnected: f4gnzXPx--YFGgiEAAAT, reason: transport close","timestamp":"2025-10-04T10:28:59.506Z"} {"level":"info","message":"Client disconnected: MOsQxBlOCn_ZifpBAAAI, reason: transport close","timestamp":"2025-10-04T10:28:59.507Z"} {"level":"info","message":"Client disconnected: z7ZSZaTfMpJ5AZcTAAAH, reason: transport close","timestamp":"2025-10-04T10:28:59.508Z"} {"level":"info","message":"Client disconnected: zyGWTvHWuUqk5vMUAAAN, reason: transport close","timestamp":"2025-10-04T10:28:59.508Z"} {"level":"info","message":"Client disconnected: 4AiCRFu4m62AJ4QzAAAM, reason: transport close","timestamp":"2025-10-04T10:28:59.509Z"} {"level":"info","message":"Client disconnected: 3Dm6IkxVhzuoQf1PAAAK, reason: transport close","timestamp":"2025-10-04T10:28:59.509Z"} {"level":"info","message":"Client disconnected: BQ5Rn2hO6mV-BVd9AAAJ, reason: transport close","timestamp":"2025-10-04T10:28:59.509Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UBO9eBm1NQloRJRjAAAZ","timestamp":"2025-10-04T10:29:35.665Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: sI4BztqQOkmOsFhMAAAb","timestamp":"2025-10-04T10:29:39.184Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T10:29:39.190Z"} {"level":"info","message":"Client disconnected: 2KgQ7ium8ksj1dKkAAAV, reason: client namespace disconnect","timestamp":"2025-10-04T10:29:45.410Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:29:45.410Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:29:45.411Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3iBuy-hUjx29jTu1AAAd","timestamp":"2025-10-04T10:29:45.837Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:29:45.838Z"} {"level":"info","message":"📷 Camera request received from operator socket 3iBuy-hUjx29jTu1AAAd","timestamp":"2025-10-04T10:29:47.195Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T10:29:47.195Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:29:47.195Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> demo-device-001 (back)","timestamp":"2025-10-04T10:29:47.195Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T10:29:47.197Z"} {"level":"info","message":"✅ Connection request created: 04c2392c-3b79-4e03-8c6f-d4a4d6602d31","timestamp":"2025-10-04T10:29:47.197Z"} {"level":"info","message":"✅ Connection initiated: 04c2392c-3b79-4e03-8c6f-d4a4d6602d31","timestamp":"2025-10-04T10:29:47.197Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=04c2392c-3b79-4e03-8c6f-d4a4d6602d31, accepted=true","timestamp":"2025-10-04T10:29:48.899Z"} {"level":"info","message":"✅ Connection established: 04c2392c-3b79-4e03-8c6f-d4a4d6602d31","timestamp":"2025-10-04T10:29:48.899Z"} {"level":"info","message":"✅ Connection accepted: 04c2392c-3b79-4e03-8c6f-d4a4d6602d31","timestamp":"2025-10-04T10:29:48.899Z"} {"level":"info","message":"Client disconnected: 3iBuy-hUjx29jTu1AAAd, reason: client namespace disconnect","timestamp":"2025-10-04T10:30:02.050Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:30:02.050Z"} {"level":"info","message":"🔌 Connection terminated: 04c2392c-3b79-4e03-8c6f-d4a4d6602d31 - Operator disconnected","timestamp":"2025-10-04T10:30:02.051Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:30:02.051Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: L04ZyE9y3mr8It5IAAAg","timestamp":"2025-10-04T10:30:17.815Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: L04ZyE9y3mr8It5IAAAg","timestamp":"2025-10-04T10:30:17.816Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: WGBe0g-m_3g6M-idAAAh","timestamp":"2025-10-04T10:30:17.833Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: WGBe0g-m_3g6M-idAAAh","timestamp":"2025-10-04T10:30:17.833Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:30:19.250Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:30:19.251Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ItrzO5hY6cr54ES4AAAj","timestamp":"2025-10-04T10:30:19.275Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ItrzO5hY6cr54ES4AAAj","timestamp":"2025-10-04T10:30:19.276Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:30:19.785Z"} {"level":"info","message":"Client disconnected: L04ZyE9y3mr8It5IAAAg, reason: client namespace disconnect","timestamp":"2025-10-04T10:30:54.773Z"} {"level":"info","message":"Client disconnected: ItrzO5hY6cr54ES4AAAj, reason: client namespace disconnect","timestamp":"2025-10-04T10:30:54.855Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: AmuuWiSgAwSx-B0_AAAm","timestamp":"2025-10-04T10:30:55.736Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: AmuuWiSgAwSx-B0_AAAm","timestamp":"2025-10-04T10:30:55.736Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: f7ckB8it_Xvq7G4VAAAn","timestamp":"2025-10-04T10:30:55.749Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: f7ckB8it_Xvq7G4VAAAn","timestamp":"2025-10-04T10:30:55.749Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Un5XRXzLq6ZdM-vNAAAp","timestamp":"2025-10-04T10:30:56.041Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Un5XRXzLq6ZdM-vNAAAp","timestamp":"2025-10-04T10:30:56.041Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:30:56.173Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:30:56.174Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:30:56.284Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: bWwzTlTYe0zpJAYDAAAr","timestamp":"2025-10-04T10:30:58.481Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: bWwzTlTYe0zpJAYDAAAr","timestamp":"2025-10-04T10:30:58.481Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:30:58.668Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: z15QRdF1pXa6tNjcAAAt","timestamp":"2025-10-04T10:31:17.898Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: z15QRdF1pXa6tNjcAAAt","timestamp":"2025-10-04T10:31:17.899Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:31:18.280Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: cXFnW6LNhl5RVj9-AAAv","timestamp":"2025-10-04T10:32:46.750Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: cXFnW6LNhl5RVj9-AAAv","timestamp":"2025-10-04T10:32:46.750Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:32:46.936Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: cUJA3MzQESRQKpUhAAAx","timestamp":"2025-10-04T10:33:06.014Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: cUJA3MzQESRQKpUhAAAx","timestamp":"2025-10-04T10:33:06.014Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:33:06.061Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Cp3B2rKttv1BemGVAAAz","timestamp":"2025-10-04T10:33:41.311Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Cp3B2rKttv1BemGVAAAz","timestamp":"2025-10-04T10:33:41.311Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:33:41.391Z"} {"level":"info","message":"Client disconnected: bWwzTlTYe0zpJAYDAAAr, reason: transport close","timestamp":"2025-10-04T10:40:53.741Z"} {"level":"info","message":"Client disconnected: f7ckB8it_Xvq7G4VAAAn, reason: transport close","timestamp":"2025-10-04T10:40:53.742Z"} {"level":"info","message":"Client disconnected: AmuuWiSgAwSx-B0_AAAm, reason: transport close","timestamp":"2025-10-04T10:40:53.743Z"} {"level":"info","message":"Client disconnected: z15QRdF1pXa6tNjcAAAt, reason: transport close","timestamp":"2025-10-04T10:40:53.743Z"} {"level":"info","message":"Client disconnected: WGBe0g-m_3g6M-idAAAh, reason: transport close","timestamp":"2025-10-04T10:40:53.743Z"} {"level":"info","message":"Client disconnected: Cp3B2rKttv1BemGVAAAz, reason: transport close","timestamp":"2025-10-04T10:40:53.744Z"} {"level":"info","message":"Client disconnected: Un5XRXzLq6ZdM-vNAAAp, reason: transport close","timestamp":"2025-10-04T10:40:53.744Z"} {"level":"info","message":"Client disconnected: cUJA3MzQESRQKpUhAAAx, reason: transport close","timestamp":"2025-10-04T10:40:53.744Z"} {"level":"info","message":"Client disconnected: cXFnW6LNhl5RVj9-AAAv, reason: transport close","timestamp":"2025-10-04T10:40:53.744Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: CikyVexIhabV0WcJAAA1","timestamp":"2025-10-04T10:41:05.931Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: CikyVexIhabV0WcJAAA1","timestamp":"2025-10-04T10:41:05.932Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:41:05.986Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VNVDRXAHjnwkkALfAAA3","timestamp":"2025-10-04T10:41:11.225Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:41:11.226Z"} {"level":"info","message":"📷 Camera request received from operator socket VNVDRXAHjnwkkALfAAA3","timestamp":"2025-10-04T10:41:12.636Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T10:41:12.636Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:41:12.636Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> demo-device-001 (back)","timestamp":"2025-10-04T10:41:12.636Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T10:41:12.636Z"} {"level":"info","message":"✅ Connection request created: e7441ba4-d205-49ab-8e40-6906c48ff4f6","timestamp":"2025-10-04T10:41:12.636Z"} {"level":"info","message":"✅ Connection initiated: e7441ba4-d205-49ab-8e40-6906c48ff4f6","timestamp":"2025-10-04T10:41:12.636Z"} {"level":"info","message":"Client disconnected: CikyVexIhabV0WcJAAA1, reason: client namespace disconnect","timestamp":"2025-10-04T10:41:26.318Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: K-57fYfVlBihHwovAAA5","timestamp":"2025-10-04T10:41:27.816Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: K-57fYfVlBihHwovAAA5","timestamp":"2025-10-04T10:41:27.816Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:41:27.867Z"} {"level":"info","message":"Client disconnected: VNVDRXAHjnwkkALfAAA3, reason: client namespace disconnect","timestamp":"2025-10-04T10:41:28.604Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:41:28.604Z"} {"level":"info","message":"🔌 Connection terminated: e7441ba4-d205-49ab-8e40-6906c48ff4f6 - Operator disconnected","timestamp":"2025-10-04T10:41:28.604Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:41:28.604Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _y2ui786wNcu8O5wAAA7","timestamp":"2025-10-04T10:41:29.519Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:41:29.520Z"} {"level":"info","message":"📷 Camera request received from operator socket _y2ui786wNcu8O5wAAA7","timestamp":"2025-10-04T10:41:31.020Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T10:41:31.020Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:41:31.020Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> demo-device-001 (back)","timestamp":"2025-10-04T10:41:31.020Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T10:41:31.020Z"} {"level":"info","message":"✅ Connection request created: 690d11ed-c82f-4a32-8c37-b7d50620e887","timestamp":"2025-10-04T10:41:31.020Z"} {"level":"info","message":"✅ Connection initiated: 690d11ed-c82f-4a32-8c37-b7d50620e887","timestamp":"2025-10-04T10:41:31.020Z"} {"level":"warn","message":"⏰ Connection timeout: e7441ba4-d205-49ab-8e40-6906c48ff4f6","timestamp":"2025-10-04T10:41:42.639Z"} {"level":"info","message":"Connection e7441ba4-d205-49ab-8e40-6906c48ff4f6 already removed from pending requests","timestamp":"2025-10-04T10:41:42.639Z"} {"level":"warn","message":"⏰ Connection timeout: 690d11ed-c82f-4a32-8c37-b7d50620e887","timestamp":"2025-10-04T10:42:01.021Z"} {"level":"info","message":"❌ Connection rejected: 690d11ed-c82f-4a32-8c37-b7d50620e887 - Connection timeout","timestamp":"2025-10-04T10:42:01.022Z"} {"level":"info","message":"Client disconnected: _y2ui786wNcu8O5wAAA7, reason: client namespace disconnect","timestamp":"2025-10-04T10:45:03.251Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:03.251Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:03.251Z"} {"level":"info","message":"Client disconnected: K-57fYfVlBihHwovAAA5, reason: transport close","timestamp":"2025-10-04T10:45:05.777Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: HaXNv3Pyl2M4idJvAAA-","timestamp":"2025-10-04T10:45:18.762Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: HaXNv3Pyl2M4idJvAAA-","timestamp":"2025-10-04T10:45:18.762Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: HR6Lh1Ig7HATBxJ7AAA_","timestamp":"2025-10-04T10:45:18.797Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: HR6Lh1Ig7HATBxJ7AAA_","timestamp":"2025-10-04T10:45:18.797Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: nxs99kyCl1zxBk2MAABB","timestamp":"2025-10-04T10:45:20.128Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: nxs99kyCl1zxBk2MAABB","timestamp":"2025-10-04T10:45:20.128Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:45:20.645Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:45:20.682Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:45:20.849Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: L4Jadq4d3h_8wr1fAABD","timestamp":"2025-10-04T10:45:22.783Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:22.784Z"} {"level":"info","message":"Client disconnected: L4Jadq4d3h_8wr1fAABD, reason: client namespace disconnect","timestamp":"2025-10-04T10:45:24.091Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:24.091Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:24.091Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0-Tszof2OJxYefdhAABF","timestamp":"2025-10-04T10:45:25.944Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:25.946Z"} {"level":"info","message":"Client disconnected: HaXNv3Pyl2M4idJvAAA-, reason: client namespace disconnect","timestamp":"2025-10-04T10:45:29.545Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: BiDJpg1w0tuA5VyeAABH","timestamp":"2025-10-04T10:45:38.043Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: BiDJpg1w0tuA5VyeAABH","timestamp":"2025-10-04T10:45:38.043Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:45:38.430Z"} {"level":"info","message":"Client disconnected: 0-Tszof2OJxYefdhAABF, reason: client namespace disconnect","timestamp":"2025-10-04T10:45:53.595Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:53.595Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:53.595Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: jeCjhlakLK1Z7WsnAABJ","timestamp":"2025-10-04T10:45:55.239Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:45:55.240Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: l64aT99TlKgIlZPrAABL","timestamp":"2025-10-04T10:46:02.312Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T10:46:02.317Z"} {"level":"info","message":"Client disconnected: BiDJpg1w0tuA5VyeAABH, reason: client namespace disconnect","timestamp":"2025-10-04T10:46:04.804Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 3DGtQYk0-a7LD557AABN","timestamp":"2025-10-04T10:46:05.756Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 3DGtQYk0-a7LD557AABN","timestamp":"2025-10-04T10:46:05.756Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:46:05.798Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=690d11ed-c82f-4a32-8c37-b7d50620e887, accepted=false","timestamp":"2025-10-04T10:48:22.115Z"} {"level":"error","message":"❌ Connection request not found: 690d11ed-c82f-4a32-8c37-b7d50620e887","timestamp":"2025-10-04T10:48:22.116Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T10:48:22.116Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=e7441ba4-d205-49ab-8e40-6906c48ff4f6, accepted=false","timestamp":"2025-10-04T10:48:23.187Z"} {"level":"error","message":"❌ Connection request not found: e7441ba4-d205-49ab-8e40-6906c48ff4f6","timestamp":"2025-10-04T10:48:23.188Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T10:48:23.188Z"} {"level":"info","message":"Client disconnected: sI4BztqQOkmOsFhMAAAb, reason: client namespace disconnect","timestamp":"2025-10-04T10:48:24.139Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T10:48:24.140Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T10:48:24.140Z"} {"level":"info","message":"Client disconnected: 3DGtQYk0-a7LD557AABN, reason: client namespace disconnect","timestamp":"2025-10-04T10:48:27.593Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: TN8A2EJjw1Z8L1NlAABP","timestamp":"2025-10-04T10:48:28.605Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: TN8A2EJjw1Z8L1NlAABP","timestamp":"2025-10-04T10:48:28.605Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:48:28.648Z"} {"level":"info","message":"Client disconnected: jeCjhlakLK1Z7WsnAABJ, reason: client namespace disconnect","timestamp":"2025-10-04T10:48:32.395Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:48:32.395Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:48:32.395Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: lZsVFTuPZRgGLMqnAABR","timestamp":"2025-10-04T10:48:33.071Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:48:33.072Z"} {"level":"info","message":"Client disconnected: TN8A2EJjw1Z8L1NlAABP, reason: client namespace disconnect","timestamp":"2025-10-04T10:48:44.354Z"} {"level":"info","message":"Client disconnected: lZsVFTuPZRgGLMqnAABR, reason: client namespace disconnect","timestamp":"2025-10-04T10:48:47.539Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:48:47.539Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:48:47.539Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: omdgEZepSe273SUtAABT","timestamp":"2025-10-04T10:48:49.548Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: omdgEZepSe273SUtAABT","timestamp":"2025-10-04T10:48:49.548Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:48:49.740Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Qj3hoMKVIUgAwuQxAABV","timestamp":"2025-10-04T10:48:52.008Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:48:52.009Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: IvWCmCY85wDRaCI4AABX","timestamp":"2025-10-04T10:49:53.204Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T10:49:53.209Z"} {"level":"info","message":"Client disconnected: l64aT99TlKgIlZPrAABL, reason: client namespace disconnect","timestamp":"2025-10-04T10:49:59.971Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T10:49:59.971Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T10:49:59.971Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: b7UFxsz43OWzcvNEAABZ","timestamp":"2025-10-04T10:50:01.064Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T10:50:01.067Z"} {"level":"info","message":"Client disconnected: IvWCmCY85wDRaCI4AABX, reason: client namespace disconnect","timestamp":"2025-10-04T10:50:08.531Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T10:50:08.531Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T10:50:08.531Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ODfe9xZBFZgxd5pPAABb","timestamp":"2025-10-04T10:50:09.432Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T10:50:09.435Z"} {"level":"info","message":"Client disconnected: b7UFxsz43OWzcvNEAABZ, reason: client namespace disconnect","timestamp":"2025-10-04T10:50:17.339Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T10:50:17.339Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T10:50:17.339Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: HJUInCNsn2YqQc07AABd","timestamp":"2025-10-04T10:50:18.082Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T10:50:18.084Z"} {"level":"info","message":"Client disconnected: Qj3hoMKVIUgAwuQxAABV, reason: client namespace disconnect","timestamp":"2025-10-04T10:50:25.515Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:50:25.516Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:50:25.516Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rp_65KKaWHmpEnAwAABf","timestamp":"2025-10-04T10:50:27.511Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:50:27.512Z"} {"level":"info","message":"Client disconnected: omdgEZepSe273SUtAABT, reason: client namespace disconnect","timestamp":"2025-10-04T10:50:33.054Z"} {"level":"info","message":"Client disconnected: rp_65KKaWHmpEnAwAABf, reason: client namespace disconnect","timestamp":"2025-10-04T10:50:34.739Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:50:34.739Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:50:34.739Z"} {"level":"info","message":"Client disconnected: ODfe9xZBFZgxd5pPAABb, reason: client namespace disconnect","timestamp":"2025-10-04T10:50:37.594Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T10:50:37.594Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T10:50:37.594Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NdRa1W7pN2tjmfvcAABh","timestamp":"2025-10-04T10:50:39.303Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T10:50:39.307Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: rfyrovjUMP5MHZk0AABj","timestamp":"2025-10-04T10:50:50.582Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: rfyrovjUMP5MHZk0AABj","timestamp":"2025-10-04T10:50:50.582Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T10:50:50.639Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ATrAvwT9hDLH7YukAABl","timestamp":"2025-10-04T10:51:01.102Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:51:01.103Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T10:55:32.930Z"} {"level":"info","message":"Client disconnected: rfyrovjUMP5MHZk0AABj, reason: client namespace disconnect","timestamp":"2025-10-04T10:55:43.781Z"} {"level":"info","message":"Client disconnected: w95pQ4C-DI4KANFcAAAP, reason: transport close","timestamp":"2025-10-04T10:55:49.179Z"} {"level":"info","message":"Client disconnected: ATrAvwT9hDLH7YukAABl, reason: client namespace disconnect","timestamp":"2025-10-04T10:55:53.137Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:55:53.137Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T10:55:53.137Z"} {"level":"info","message":"Client disconnected: HR6Lh1Ig7HATBxJ7AAA_, reason: transport close","timestamp":"2025-10-04T10:58:38.438Z"} {"level":"info","message":"Client disconnected: nxs99kyCl1zxBk2MAABB, reason: transport close","timestamp":"2025-10-04T10:58:38.438Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T11:00:20.546Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1N47p5Wk-AbeB6mBAAAB","timestamp":"2025-10-04T11:00:20.651Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T11:00:20.653Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: SpIRIFHp6ZVKqcHOAAAF","timestamp":"2025-10-04T11:00:20.760Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: SpIRIFHp6ZVKqcHOAAAF","timestamp":"2025-10-04T11:00:20.760Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: pI3jmnIePQLjrJJfAAAG","timestamp":"2025-10-04T11:00:20.775Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: pI3jmnIePQLjrJJfAAAG","timestamp":"2025-10-04T11:00:20.775Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: pysAaPVa3wiHGJOyAAAH","timestamp":"2025-10-04T11:00:20.789Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: pysAaPVa3wiHGJOyAAAH","timestamp":"2025-10-04T11:00:20.789Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T11:00:20.832Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T11:00:20.833Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T11:00:20.975Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T11:00:20.976Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T11:00:20.995Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T11:00:20.996Z"} {"level":"info","message":"Client disconnected: SpIRIFHp6ZVKqcHOAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T11:00:22.737Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: e-_3iOa-mEyy-TODAAAJ","timestamp":"2025-10-04T11:00:23.663Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: P1rh-KQj7y0uLwOMAAAL","timestamp":"2025-10-04T11:00:27.420Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: P1rh-KQj7y0uLwOMAAAL","timestamp":"2025-10-04T11:00:27.420Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T11:00:27.606Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T11:00:27.607Z"} {"level":"info","message":"Client disconnected: P1rh-KQj7y0uLwOMAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T11:00:36.044Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T11:00:36.045Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T11:00:36.045Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Lx0yDIqhdL7SbGwrAAAN","timestamp":"2025-10-04T11:00:37.874Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Lx0yDIqhdL7SbGwrAAAN","timestamp":"2025-10-04T11:00:37.874Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T11:00:38.039Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T11:00:38.040Z"} {"level":"info","message":"Client disconnected: 1N47p5Wk-AbeB6mBAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T11:00:50.763Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T11:00:50.763Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T11:00:50.763Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Rqm4ip294TM5OCvfAAAP","timestamp":"2025-10-04T11:00:51.951Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T11:00:51.952Z"} {"level":"info","message":"📷 Camera request received from operator socket Rqm4ip294TM5OCvfAAAP","timestamp":"2025-10-04T11:00:54.453Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T11:00:54.453Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T11:00:54.453Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T11:00:54.454Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T11:00:54.455Z"} {"level":"info","message":"✅ Connection request created: 1274acc7-069e-4120-8719-cdf60cc2b4a5","timestamp":"2025-10-04T11:00:54.455Z"} {"level":"info","message":"✅ Connection initiated: 1274acc7-069e-4120-8719-cdf60cc2b4a5","timestamp":"2025-10-04T11:00:54.455Z"} {"level":"warn","message":"⏰ Connection timeout: 1274acc7-069e-4120-8719-cdf60cc2b4a5","timestamp":"2025-10-04T11:01:24.456Z"} {"level":"info","message":"❌ Connection rejected: 1274acc7-069e-4120-8719-cdf60cc2b4a5 - Connection timeout","timestamp":"2025-10-04T11:01:24.457Z"} {"level":"info","message":"Client disconnected: Lx0yDIqhdL7SbGwrAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T12:07:46.359Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:07:46.359Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:07:46.359Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: JEFQEKQeNQQJP8QrAAAR","timestamp":"2025-10-04T12:07:48.557Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: JEFQEKQeNQQJP8QrAAAR","timestamp":"2025-10-04T12:07:48.558Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:07:48.592Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:07:48.592Z"} {"level":"info","message":"Client disconnected: JEFQEKQeNQQJP8QrAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T12:10:10.519Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:10:10.519Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:10:10.519Z"} {"level":"info","message":"Client disconnected: pysAaPVa3wiHGJOyAAAH, reason: transport close","timestamp":"2025-10-04T12:10:13.785Z"} {"level":"info","message":"Client disconnected: pI3jmnIePQLjrJJfAAAG, reason: transport close","timestamp":"2025-10-04T12:10:13.786Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: yVCQHY9jaTxQqbPtAAAU","timestamp":"2025-10-04T12:10:25.049Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: yVCQHY9jaTxQqbPtAAAU","timestamp":"2025-10-04T12:10:25.049Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: w97m6TU6ancku8WcAAAV","timestamp":"2025-10-04T12:10:25.070Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: w97m6TU6ancku8WcAAAV","timestamp":"2025-10-04T12:10:25.070Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ncGmFkqJnol4MyheAAAX","timestamp":"2025-10-04T12:10:26.515Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ncGmFkqJnol4MyheAAAX","timestamp":"2025-10-04T12:10:26.515Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:10:27.078Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:10:27.079Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:10:27.079Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:10:27.079Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:10:27.154Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:10:27.154Z"} {"level":"info","message":"Client disconnected: Rqm4ip294TM5OCvfAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T12:10:32.511Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:32.511Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:32.511Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: YZnZmdJUFzEKBEO4AAAZ","timestamp":"2025-10-04T12:10:33.166Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:33.168Z"} {"level":"info","message":"Client disconnected: YZnZmdJUFzEKBEO4AAAZ, reason: client namespace disconnect","timestamp":"2025-10-04T12:10:34.039Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:34.039Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:34.039Z"} {"level":"info","message":"Client disconnected: yVCQHY9jaTxQqbPtAAAU, reason: client namespace disconnect","timestamp":"2025-10-04T12:10:35.924Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: aLtnW_orYQFMzMUvAAAb","timestamp":"2025-10-04T12:10:37.621Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: aLtnW_orYQFMzMUvAAAb","timestamp":"2025-10-04T12:10:37.621Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:10:37.798Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:10:37.798Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 7XgTLMxOU0Vxk1T9AAAd","timestamp":"2025-10-04T12:10:45.539Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:45.540Z"} {"level":"info","message":"Client disconnected: 7XgTLMxOU0Vxk1T9AAAd, reason: client namespace disconnect","timestamp":"2025-10-04T12:10:46.447Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:46.447Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:46.447Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9TM-YGkS7ju79fDTAAAf","timestamp":"2025-10-04T12:10:47.587Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:10:47.588Z"} {"level":"info","message":"Client disconnected: aLtnW_orYQFMzMUvAAAb, reason: client namespace disconnect","timestamp":"2025-10-04T12:11:09.610Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:11:09.611Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:11:09.611Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: IixNYTC5C5ixSUa4AAAh","timestamp":"2025-10-04T12:11:12.335Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: IixNYTC5C5ixSUa4AAAh","timestamp":"2025-10-04T12:11:12.335Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:11:12.397Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:11:12.397Z"} {"level":"info","message":"Client disconnected: 9TM-YGkS7ju79fDTAAAf, reason: client namespace disconnect","timestamp":"2025-10-04T12:11:19.551Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:19.551Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:19.551Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: S8370EV-Nk2RO8yKAAAj","timestamp":"2025-10-04T12:11:20.195Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:20.196Z"} {"level":"info","message":"Client disconnected: S8370EV-Nk2RO8yKAAAj, reason: client namespace disconnect","timestamp":"2025-10-04T12:11:21.407Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:21.407Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:21.407Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zr1ABVhxSbBamOs7AAAl","timestamp":"2025-10-04T12:11:22.255Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:22.261Z"} {"level":"info","message":"Client disconnected: IixNYTC5C5ixSUa4AAAh, reason: client namespace disconnect","timestamp":"2025-10-04T12:11:53.836Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:11:53.836Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:11:53.837Z"} {"level":"info","message":"Client disconnected: zr1ABVhxSbBamOs7AAAl, reason: client namespace disconnect","timestamp":"2025-10-04T12:11:57.535Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:57.535Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:11:57.535Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:12:07.104Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T12:12:12.424Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wvyZ7TgrMi65fK40AAAB","timestamp":"2025-10-04T12:12:13.419Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Ysej20rNVmsT62wwAAAE","timestamp":"2025-10-04T12:12:14.683Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Ysej20rNVmsT62wwAAAE","timestamp":"2025-10-04T12:12:14.683Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: a4rdySXVxUVNM5OVAAAF","timestamp":"2025-10-04T12:12:14.695Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: a4rdySXVxUVNM5OVAAAF","timestamp":"2025-10-04T12:12:14.696Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:12:14.728Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:12:14.729Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:12:14.883Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:12:14.883Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WgdBLrTJYdBvcLOPAAAH","timestamp":"2025-10-04T12:12:17.495Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:12:17.497Z"} {"level":"info","message":"📷 Camera request received from operator socket WgdBLrTJYdBvcLOPAAAH","timestamp":"2025-10-04T12:12:19.728Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:12:19.728Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:12:19.728Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:12:19.729Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:12:19.730Z"} {"level":"info","message":"✅ Connection request created: dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":"2025-10-04T12:12:19.731Z"} {"level":"info","message":"✅ Connection initiated: dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":"2025-10-04T12:12:19.731Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939733} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 5017195613071243953 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:++u/\r\na=ice-pwd:4pT+9Lb/cinYZ8CXL78Hxpi+\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 11:C6:1D:E8:CA:9A:34:3C:18:96:DB:EE:C7:D5:95:4E:E3:5B:A1:20:18:C1:B2:D8:7A:98:8A:89:83:87:05:C6\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2127517437 1968183347\r\na=ssrc:2127517437 cname:LxQEFJtS4RBZMAKe\r\na=ssrc:2127517437 msid:stream videoTrack\r\na=ssrc:1968183347 cname:LxQEFJtS4RBZMAKe\r\na=ssrc:1968183347 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:++u/\r\na=ice-pwd:4pT+9Lb/cinYZ8CXL78Hxpi+\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 11:C6:1D:E8:CA:9A:34:3C:18:96:DB:EE:C7:D5:95:4E:E3:5B:A1:20:18:C1:B2:D8:7A:98:8A:89:83:87:05:C6\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1662111330 cname:LxQEFJtS4RBZMAKe\r\na=ssrc:1662111330 msid:stream audioTrack\r\n","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939789,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 56358 typ host generation 0 ufrag ++u\\/ network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939856,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 36995 typ host generation 0 ufrag ++u\\/ network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939858,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 35492 typ host generation 0 ufrag ++u\\/ network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939859,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 39817 typ host generation 0 ufrag ++u\\/ network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939861,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 53588 typ host generation 0 ufrag ++u\\/ network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939863,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 52678 typ host generation 0 ufrag ++u\\/ network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939864,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 53588 typ srflx raddr 192.168.219.109 rport 53588 generation 0 ufrag ++u\\/ network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939965,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 36995 typ srflx raddr 192.168.219.109 rport 36995 generation 0 ufrag ++u\\/ network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":1759579939985,"type":"ice-candidate"} {"level":"info","message":"Client disconnected: WgdBLrTJYdBvcLOPAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T12:12:37.848Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:12:37.848Z"} {"level":"info","message":"🔌 Connection terminated: dbc9dea5-fd42-476b-b7a9-187cbf44c4e8 - Operator disconnected","timestamp":"2025-10-04T12:12:37.849Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:12:37.849Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: JeJWbPDBakFY15NJAAAJ","timestamp":"2025-10-04T12:12:38.873Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: JeJWbPDBakFY15NJAAAJ","timestamp":"2025-10-04T12:12:38.874Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:12:39.003Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:12:39.004Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: IbM53TplEu8ktlpDAAAL","timestamp":"2025-10-04T12:12:39.828Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:12:39.828Z"} {"level":"info","message":"📷 Camera request received from operator socket IbM53TplEu8ktlpDAAAL","timestamp":"2025-10-04T12:12:42.680Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:12:42.680Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:12:42.680Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:12:42.680Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:12:42.680Z"} {"level":"info","message":"✅ Connection request created: d8900841-c7f4-4e66-8ef2-a6f5d10bb6e9","timestamp":"2025-10-04T12:12:42.681Z"} {"level":"info","message":"✅ Connection initiated: d8900841-c7f4-4e66-8ef2-a6f5d10bb6e9","timestamp":"2025-10-04T12:12:42.681Z"} {"level":"warn","message":"⏰ Connection timeout: dbc9dea5-fd42-476b-b7a9-187cbf44c4e8","timestamp":"2025-10-04T12:12:49.731Z"} {"level":"info","message":"Connection dbc9dea5-fd42-476b-b7a9-187cbf44c4e8 already removed from pending requests","timestamp":"2025-10-04T12:12:49.731Z"} {"level":"warn","message":"⏰ Connection timeout: d8900841-c7f4-4e66-8ef2-a6f5d10bb6e9","timestamp":"2025-10-04T12:13:12.680Z"} {"level":"info","message":"❌ Connection rejected: d8900841-c7f4-4e66-8ef2-a6f5d10bb6e9 - Connection timeout","timestamp":"2025-10-04T12:13:12.681Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: DpDnYrgCXm1M3Pg8AAAN","timestamp":"2025-10-04T12:13:23.677Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: DpDnYrgCXm1M3Pg8AAAN","timestamp":"2025-10-04T12:13:23.677Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:13:23.913Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:13:23.913Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: pZQxArf1QvzCiwrKAAAP","timestamp":"2025-10-04T12:13:44.453Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: pZQxArf1QvzCiwrKAAAP","timestamp":"2025-10-04T12:13:44.453Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:13:44.742Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:13:44.743Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Q1V6tLFjYbrqtNPaAAAR","timestamp":"2025-10-04T12:14:52.021Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide,telephoto","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T12:14:52.026Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: UXvAXcYLtFRi_9vHAAAT","timestamp":"2025-10-04T12:14:54.444Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T12:14:54.449Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 54fae3ff-dde2-482b-9aec-62aa917d529e","operatorId":"demo-operator-001","timestamp":"2025-10-04T12:14:55.701Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=54fae3ff-dde2-482b-9aec-62aa917d529e, accepted=true","timestamp":"2025-10-04T12:14:58.528Z"} {"level":"error","message":"❌ Connection request not found: 54fae3ff-dde2-482b-9aec-62aa917d529e","timestamp":"2025-10-04T12:14:58.528Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T12:14:58.529Z"} {"level":"info","message":"Camera session ended: 54fae3ff-dde2-482b-9aec-62aa917d529e","timestamp":"2025-10-04T12:15:26.400Z"} {"level":"info","message":"Client disconnected: Q1V6tLFjYbrqtNPaAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T12:15:27.350Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T12:15:27.351Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T12:15:27.351Z"} {"level":"info","message":"Client disconnected: UXvAXcYLtFRi_9vHAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T12:15:29.447Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T12:15:29.447Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T12:15:29.447Z"} {"level":"info","message":"Client disconnected: Ysej20rNVmsT62wwAAAE, reason: transport close","timestamp":"2025-10-04T12:19:43.916Z"} {"level":"info","message":"Client disconnected: JeJWbPDBakFY15NJAAAJ, reason: transport close","timestamp":"2025-10-04T12:19:43.989Z"} {"level":"info","message":"Client disconnected: DpDnYrgCXm1M3Pg8AAAN, reason: transport close","timestamp":"2025-10-04T12:19:43.990Z"} {"level":"info","message":"Client disconnected: a4rdySXVxUVNM5OVAAAF, reason: transport close","timestamp":"2025-10-04T12:19:43.991Z"} {"level":"info","message":"Client disconnected: pZQxArf1QvzCiwrKAAAP, reason: transport close","timestamp":"2025-10-04T12:19:43.991Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:19:43.991Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:19:43.991Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: vQidU_ZsUa39p_FTAAAW","timestamp":"2025-10-04T12:20:03.827Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: vQidU_ZsUa39p_FTAAAW","timestamp":"2025-10-04T12:20:03.827Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 1FtA72fFxNenx-a9AAAX","timestamp":"2025-10-04T12:20:03.850Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 1FtA72fFxNenx-a9AAAX","timestamp":"2025-10-04T12:20:03.850Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: _d5e6tX_KcOMU3_-AAAZ","timestamp":"2025-10-04T12:20:05.326Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: _d5e6tX_KcOMU3_-AAAZ","timestamp":"2025-10-04T12:20:05.327Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:05.779Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:05.780Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:05.781Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:05.781Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:05.888Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:05.888Z"} {"level":"info","message":"Client disconnected: IbM53TplEu8ktlpDAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:07.791Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:07.791Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:07.791Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 5OcDnUIap8y0UYEkAAAb","timestamp":"2025-10-04T12:20:09.749Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:09.751Z"} {"level":"info","message":"Client disconnected: vQidU_ZsUa39p_FTAAAW, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:11.242Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9G7qgJm1mg7EeFknAAAd","timestamp":"2025-10-04T12:20:11.816Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 9G7qgJm1mg7EeFknAAAd","timestamp":"2025-10-04T12:20:11.816Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:12.026Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:12.026Z"} {"level":"info","message":"Client disconnected: 5OcDnUIap8y0UYEkAAAb, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:14.175Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:14.175Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:14.175Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 7XDQSG92mAAPQGABAAAf","timestamp":"2025-10-04T12:20:15.820Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:15.821Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:20:20.632Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T12:20:26.434Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: b6dqsUqor2ghj6BEAAAB","timestamp":"2025-10-04T12:20:26.936Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:26.937Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: dlT16nMA-RvPQPk2AAAF","timestamp":"2025-10-04T12:20:27.630Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: dlT16nMA-RvPQPk2AAAF","timestamp":"2025-10-04T12:20:27.631Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: XVlq2hBdQAN-79h0AAAG","timestamp":"2025-10-04T12:20:27.661Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: XVlq2hBdQAN-79h0AAAG","timestamp":"2025-10-04T12:20:27.661Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hiSc26_2-rcgeoDwAAAH","timestamp":"2025-10-04T12:20:27.663Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: hiSc26_2-rcgeoDwAAAH","timestamp":"2025-10-04T12:20:27.663Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:27.695Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:27.696Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:27.842Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:27.843Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:27.899Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:27.899Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: alxgVWcUhd4sw1rBAAAJ","timestamp":"2025-10-04T12:20:28.975Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"Client disconnected: hiSc26_2-rcgeoDwAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:29.266Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: tE52JiLlEEw4JWrEAAAL","timestamp":"2025-10-04T12:20:30.303Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: tE52JiLlEEw4JWrEAAAL","timestamp":"2025-10-04T12:20:30.303Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:30.479Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:30.479Z"} {"level":"info","message":"Client disconnected: b6dqsUqor2ghj6BEAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:32.831Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:32.832Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:32.832Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _oxwjqOu6kVXutUzAAAN","timestamp":"2025-10-04T12:20:33.436Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:33.438Z"} {"level":"info","message":"📷 Camera request received from operator socket _oxwjqOu6kVXutUzAAAN","timestamp":"2025-10-04T12:20:36.312Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:20:36.312Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:36.312Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:20:36.313Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:20:36.313Z"} {"level":"info","message":"✅ Connection request created: f154f015-d3ab-4ad2-b896-8d3330681ea2","timestamp":"2025-10-04T12:20:36.314Z"} {"level":"info","message":"✅ Connection initiated: f154f015-d3ab-4ad2-b896-8d3330681ea2","timestamp":"2025-10-04T12:20:36.314Z"} {"level":"info","message":"Client disconnected: tE52JiLlEEw4JWrEAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:46.403Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:20:46.403Z"} {"level":"info","message":"🔌 Connection terminated: f154f015-d3ab-4ad2-b896-8d3330681ea2 - Device disconnected","timestamp":"2025-10-04T12:20:46.404Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:20:46.404Z"} {"level":"info","message":"Client disconnected: _oxwjqOu6kVXutUzAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:47.263Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:47.263Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:47.263Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: AH7NtSPH5T6glqy_AAAP","timestamp":"2025-10-04T12:20:48.580Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:48.581Z"} {"level":"info","message":"Client disconnected: AH7NtSPH5T6glqy_AAAP, reason: client namespace disconnect","timestamp":"2025-10-04T12:20:50.119Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:50.119Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:50.119Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 7yp3IdhZR-Nv1yzdAAAR","timestamp":"2025-10-04T12:20:51.041Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 7yp3IdhZR-Nv1yzdAAAR","timestamp":"2025-10-04T12:20:51.041Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:20:51.138Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:20:51.138Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NNG82J7VrNLhO9UBAAAT","timestamp":"2025-10-04T12:20:53.531Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:53.532Z"} {"level":"info","message":"📷 Camera request received from operator socket NNG82J7VrNLhO9UBAAAT","timestamp":"2025-10-04T12:20:54.920Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:20:54.920Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:20:54.920Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:20:54.920Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:20:54.920Z"} {"level":"info","message":"✅ Connection request created: 0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":"2025-10-04T12:20:54.921Z"} {"level":"info","message":"✅ Connection initiated: 0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":"2025-10-04T12:20:54.921Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580454910} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 7350747903720315390 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:uHGB\r\na=ice-pwd:UUSWHWTUzt0obUKLNdFBUGMl\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 67:6E:3E:96:60:65:DC:38:AD:AB:C2:F3:DB:6E:6F:3C:E1:9F:E7:9D:1B:80:84:EE:0C:97:C0:83:F5:99:AE:65\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2595975475 3267258933\r\na=ssrc:2595975475 cname:xq0s3FzU52Pqk2SH\r\na=ssrc:2595975475 msid:stream videoTrack\r\na=ssrc:3267258933 cname:xq0s3FzU52Pqk2SH\r\na=ssrc:3267258933 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:uHGB\r\na=ice-pwd:UUSWHWTUzt0obUKLNdFBUGMl\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 67:6E:3E:96:60:65:DC:38:AD:AB:C2:F3:DB:6E:6F:3C:E1:9F:E7:9D:1B:80:84:EE:0C:97:C0:83:F5:99:AE:65\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:4265021005 cname:xq0s3FzU52Pqk2SH\r\na=ssrc:4265021005 msid:stream audioTrack\r\n","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580454998,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 36743 typ host generation 0 ufrag uHGB network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455104,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 49337 typ host generation 0 ufrag uHGB network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455108,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 38418 typ host generation 0 ufrag uHGB network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455111,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 50826 typ host generation 0 ufrag uHGB network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455115,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 48133 typ host generation 0 ufrag uHGB network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455116,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 46618 typ host generation 0 ufrag uHGB network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455117,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 48133 typ srflx raddr 192.168.219.109 rport 48133 generation 0 ufrag uHGB network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455245,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 49337 typ srflx raddr 192.168.219.109 rport 49337 generation 0 ufrag uHGB network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":1759580455271,"type":"ice-candidate"} {"level":"warn","message":"⏰ Connection timeout: f154f015-d3ab-4ad2-b896-8d3330681ea2","timestamp":"2025-10-04T12:21:06.314Z"} {"level":"info","message":"Connection f154f015-d3ab-4ad2-b896-8d3330681ea2 already removed from pending requests","timestamp":"2025-10-04T12:21:06.314Z"} {"level":"warn","message":"⏰ Connection timeout: 0b43ae80-15a7-43db-a9e5-fc227fd9eb7d","timestamp":"2025-10-04T12:21:24.921Z"} {"level":"info","message":"❌ Connection rejected: 0b43ae80-15a7-43db-a9e5-fc227fd9eb7d - Connection timeout","timestamp":"2025-10-04T12:21:24.921Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"test_operator","sessionId":"test_session_1759580485936","timestamp":1759580486012} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 4723847610529245746 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:g+3H\r\na=ice-pwd:pTtIr6ZOB0oscoQtPj3fH6xP\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 53:A1:4A:E8:79:93:D5:9D:E1:D6:EC:73:A9:33:30:ED:95:FA:F5:2C:22:D0:63:A1:38:6B:4D:4E:8B:1A:66:B5\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2912026283 2011315862\r\na=ssrc:2912026283 cname:5vDdEvpLUtkXOzY0\r\na=ssrc:2912026283 msid:stream videoTrack\r\na=ssrc:2011315862 cname:5vDdEvpLUtkXOzY0\r\na=ssrc:2011315862 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:g+3H\r\na=ice-pwd:pTtIr6ZOB0oscoQtPj3fH6xP\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 53:A1:4A:E8:79:93:D5:9D:E1:D6:EC:73:A9:33:30:ED:95:FA:F5:2C:22:D0:63:A1:38:6B:4D:4E:8B:1A:66:B5\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1967966286 cname:5vDdEvpLUtkXOzY0\r\na=ssrc:1967966286 msid:stream audioTrack\r\n","sessionId":"test_session_1759580485936","timestamp":1759580486069,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 60560 typ host generation 0 ufrag g+3H network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486090,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 48603 typ host generation 0 ufrag g+3H network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486092,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 60163 typ host generation 0 ufrag g+3H network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486096,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 40823 typ host generation 0 ufrag g+3H network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486096,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 45268 typ host generation 0 ufrag g+3H network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486097,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 57190 typ host generation 0 ufrag g+3H network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486098,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 48603 typ srflx raddr 192.168.219.109 rport 48603 generation 0 ufrag g+3H network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486188,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 45268 typ srflx raddr 192.168.219.109 rport 45268 generation 0 ufrag g+3H network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759580485936","timestamp":1759580486210,"type":"ice-candidate"} {"level":"info","message":"📷 Camera request received from operator socket NNG82J7VrNLhO9UBAAAT","timestamp":"2025-10-04T12:21:47.256Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:21:47.256Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:21:47.256Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:21:47.256Z"} {"level":"error","message":"❌ Connection validation failed: Device busy or unavailable","timestamp":"2025-10-04T12:21:47.256Z"} {"level":"error","message":"❌ Failed to initiate connection: Device busy or unavailable","timestamp":"2025-10-04T12:21:47.257Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:45:02.420Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:45:02.911Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T12:45:07.767Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: X_SiSvXNaD32a6JeAAAB","timestamp":"2025-10-04T12:45:08.033Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: G9hsccaIy4MZv-59AAAF","timestamp":"2025-10-04T12:45:09.406Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: G9hsccaIy4MZv-59AAAF","timestamp":"2025-10-04T12:45:09.406Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: LzR3zVCRRh46GAJ-AAAG","timestamp":"2025-10-04T12:45:09.431Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: LzR3zVCRRh46GAJ-AAAG","timestamp":"2025-10-04T12:45:09.432Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 8q6rfs_9iewePvTbAAAH","timestamp":"2025-10-04T12:45:09.455Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 8q6rfs_9iewePvTbAAAH","timestamp":"2025-10-04T12:45:09.456Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:45:09.499Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:45:09.499Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:45:09.517Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:45:09.518Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:45:09.679Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:45:09.679Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: GS-L6vAy3KTsoe_aAAAJ","timestamp":"2025-10-04T12:45:12.670Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:45:12.672Z"} {"level":"info","message":"Client disconnected: LzR3zVCRRh46GAJ-AAAG, reason: client namespace disconnect","timestamp":"2025-10-04T12:45:18.867Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: RTvLBDUnEFIXMTjlAAAL","timestamp":"2025-10-04T12:45:20.156Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: RTvLBDUnEFIXMTjlAAAL","timestamp":"2025-10-04T12:45:20.156Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:45:20.332Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:45:20.332Z"} {"level":"info","message":"Client disconnected: GS-L6vAy3KTsoe_aAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T12:45:23.543Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:45:23.543Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:45:23.544Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 20aC384ckdyUQN2nAAAN","timestamp":"2025-10-04T12:45:24.204Z","userAgent":""} {"level":"info","message":"Operator registered: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:45:24.205Z"} {"level":"info","message":"📷 Camera request received from operator socket 20aC384ckdyUQN2nAAAN","timestamp":"2025-10-04T12:45:26.392Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:45:26.393Z"} {"level":"info","message":"✅ Operator found: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:45:26.393Z"} {"level":"info","message":"🔗 Initiating connection: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:45:26.393Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:45:26.395Z"} {"level":"info","message":"✅ Connection request created: e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":"2025-10-04T12:45:26.395Z"} {"level":"info","message":"✅ Connection initiated: e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":"2025-10-04T12:45:26.395Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926381} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 4865262855367847615 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:JpLp\r\na=ice-pwd:3THt6kx/jpCc4BatURa1BsH3\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 51:70:75:9C:85:BD:DA:48:DD:29:4A:39:C4:73:B7:22:8C:AE:2F:DE:D1:C2:B6:35:03:7B:A7:F0:A3:CB:70:CB\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1830570668 2462222167\r\na=ssrc:1830570668 cname:RpOQb4sDSVMd7QN3\r\na=ssrc:1830570668 msid:stream videoTrack\r\na=ssrc:2462222167 cname:RpOQb4sDSVMd7QN3\r\na=ssrc:2462222167 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:JpLp\r\na=ice-pwd:3THt6kx/jpCc4BatURa1BsH3\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 51:70:75:9C:85:BD:DA:48:DD:29:4A:39:C4:73:B7:22:8C:AE:2F:DE:D1:C2:B6:35:03:7B:A7:F0:A3:CB:70:CB\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2414600284 cname:RpOQb4sDSVMd7QN3\r\na=ssrc:2414600284 msid:stream audioTrack\r\n","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926501,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 57656 typ host generation 0 ufrag JpLp network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926516,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 55094 typ host generation 0 ufrag JpLp network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926518,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 49418 typ host generation 0 ufrag JpLp network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926520,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 56734 typ host generation 0 ufrag JpLp network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926522,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 39488 typ host generation 0 ufrag JpLp network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926524,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 43918 typ host generation 0 ufrag JpLp network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926530,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 55094 typ srflx raddr 192.168.219.109 rport 55094 generation 0 ufrag JpLp network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926625,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 39488 typ srflx raddr 192.168.219.109 rport 39488 generation 0 ufrag JpLp network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":1759581926680,"type":"ice-candidate"} {"level":"info","message":"Client disconnected: 20aC384ckdyUQN2nAAAN, reason: transport close","timestamp":"2025-10-04T12:45:33.155Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:45:33.155Z"} {"level":"info","message":"🔌 Connection terminated: e7f8a46d-af75-41a5-96a9-fe962b4a92eb - Operator disconnected","timestamp":"2025-10-04T12:45:33.156Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator d3f9ab1b-c754-41ff-919e-b0e7fc42cd5a","timestamp":"2025-10-04T12:45:33.156Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0Dbr-neuaE4PXJoLAAAP","timestamp":"2025-10-04T12:45:40.270Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:45:40.272Z"} {"level":"info","message":"📷 Camera request received from operator socket 0Dbr-neuaE4PXJoLAAAP","timestamp":"2025-10-04T12:45:41.464Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:45:41.464Z"} {"level":"info","message":"✅ Operator found: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:45:41.464Z"} {"level":"info","message":"🔗 Initiating connection: 7b6e6e50-c743-4b2e-a37e-56472102ee0c -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:45:41.464Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:45:41.464Z"} {"level":"info","message":"✅ Connection request created: 5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":"2025-10-04T12:45:41.465Z"} {"level":"info","message":"✅ Connection initiated: 5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":"2025-10-04T12:45:41.465Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"7b6e6e50-c743-4b2e-a37e-56472102ee0c","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941539} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 5586145873155328373 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Q+t9\r\na=ice-pwd:P/y1hgp3EndLjK3WZhuiXoR7\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 5A:B2:88:28:95:08:53:1A:7E:65:0A:80:27:A4:DB:2B:6E:4B:97:CB:E1:03:0C:7A:F0:91:A2:A4:71:1C:0D:CB\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3632435705 666853365\r\na=ssrc:3632435705 cname:e5qX/dtaWw/8vzax\r\na=ssrc:3632435705 msid:stream videoTrack\r\na=ssrc:666853365 cname:e5qX/dtaWw/8vzax\r\na=ssrc:666853365 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Q+t9\r\na=ice-pwd:P/y1hgp3EndLjK3WZhuiXoR7\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 5A:B2:88:28:95:08:53:1A:7E:65:0A:80:27:A4:DB:2B:6E:4B:97:CB:E1:03:0C:7A:F0:91:A2:A4:71:1C:0D:CB\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3091107636 cname:e5qX/dtaWw/8vzax\r\na=ssrc:3091107636 msid:stream audioTrack\r\n","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941634,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 49518 typ host generation 0 ufrag Q+t9 network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941645,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 54568 typ host generation 0 ufrag Q+t9 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941648,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 34117 typ host generation 0 ufrag Q+t9 network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941649,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 33435 typ host generation 0 ufrag Q+t9 network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941651,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 54411 typ host generation 0 ufrag Q+t9 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941652,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 33808 typ host generation 0 ufrag Q+t9 network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941654,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 54568 typ srflx raddr 192.168.219.109 rport 54568 generation 0 ufrag Q+t9 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941760,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 54411 typ srflx raddr 192.168.219.109 rport 54411 generation 0 ufrag Q+t9 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":1759581941840,"type":"ice-candidate"} {"level":"info","message":"Client disconnected: RTvLBDUnEFIXMTjlAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T12:45:46.278Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:45:46.279Z"} {"level":"info","message":"🔌 Connection terminated: 5b61e8e2-b903-47b9-9b00-a7c2136fab6d - Device disconnected","timestamp":"2025-10-04T12:45:46.279Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:45:46.279Z"} {"level":"info","message":"Client disconnected: 0Dbr-neuaE4PXJoLAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T12:45:48.863Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:45:48.864Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:45:48.864Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: iUp956UOzgwAhejGAAAR","timestamp":"2025-10-04T12:45:50.568Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: iUp956UOzgwAhejGAAAR","timestamp":"2025-10-04T12:45:50.569Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:45:50.608Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:45:50.608Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: o6OLETSxNXsydzLIAAAT","timestamp":"2025-10-04T12:45:51.564Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:45:51.565Z"} {"level":"info","message":"📷 Camera request received from operator socket o6OLETSxNXsydzLIAAAT","timestamp":"2025-10-04T12:45:52.704Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:45:52.704Z"} {"level":"info","message":"✅ Operator found: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:45:52.704Z"} {"level":"info","message":"🔗 Initiating connection: 7b6e6e50-c743-4b2e-a37e-56472102ee0c -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:45:52.704Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:45:52.704Z"} {"level":"info","message":"✅ Connection request created: bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":"2025-10-04T12:45:52.705Z"} {"level":"info","message":"✅ Connection initiated: bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":"2025-10-04T12:45:52.705Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"7b6e6e50-c743-4b2e-a37e-56472102ee0c","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952596} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 8953283458028540192 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:BEd0\r\na=ice-pwd:mie71MPEgHyX+aLnsJYN9oxx\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 62:00:DE:C6:3A:CD:2A:EB:FE:C9:87:0E:B0:45:BF:E7:9A:04:06:60:31:1D:44:33:05:9B:9A:73:13:7F:8E:B8\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1470693420 785322415\r\na=ssrc:1470693420 cname:C/5VEN6L2cFjF2tx\r\na=ssrc:1470693420 msid:stream videoTrack\r\na=ssrc:785322415 cname:C/5VEN6L2cFjF2tx\r\na=ssrc:785322415 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:BEd0\r\na=ice-pwd:mie71MPEgHyX+aLnsJYN9oxx\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 62:00:DE:C6:3A:CD:2A:EB:FE:C9:87:0E:B0:45:BF:E7:9A:04:06:60:31:1D:44:33:05:9B:9A:73:13:7F:8E:B8\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2715773187 cname:C/5VEN6L2cFjF2tx\r\na=ssrc:2715773187 msid:stream audioTrack\r\n","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952671,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 38048 typ host generation 0 ufrag BEd0 network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952681,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 44574 typ host generation 0 ufrag BEd0 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952682,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 43179 typ host generation 0 ufrag BEd0 network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952685,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 40744 typ host generation 0 ufrag BEd0 network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952690,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 36574 typ host generation 0 ufrag BEd0 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952695,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 48893 typ host generation 0 ufrag BEd0 network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952701,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 44574 typ srflx raddr 192.168.219.109 rport 44574 generation 0 ufrag BEd0 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952774,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 36574 typ srflx raddr 192.168.219.109 rport 36574 generation 0 ufrag BEd0 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":1759581952793,"type":"ice-candidate"} {"level":"warn","message":"⏰ Connection timeout: e7f8a46d-af75-41a5-96a9-fe962b4a92eb","timestamp":"2025-10-04T12:45:56.394Z"} {"level":"info","message":"Connection e7f8a46d-af75-41a5-96a9-fe962b4a92eb already removed from pending requests","timestamp":"2025-10-04T12:45:56.394Z"} {"level":"warn","message":"⏰ Connection timeout: 5b61e8e2-b903-47b9-9b00-a7c2136fab6d","timestamp":"2025-10-04T12:46:11.466Z"} {"level":"info","message":"Connection 5b61e8e2-b903-47b9-9b00-a7c2136fab6d already removed from pending requests","timestamp":"2025-10-04T12:46:11.466Z"} {"level":"warn","message":"⏰ Connection timeout: bcefc2a5-a3ff-48ea-9554-5b1c9af87cae","timestamp":"2025-10-04T12:46:22.705Z"} {"level":"info","message":"❌ Connection rejected: bcefc2a5-a3ff-48ea-9554-5b1c9af87cae - Connection timeout","timestamp":"2025-10-04T12:46:22.705Z"} {"level":"info","message":"Client disconnected: 8q6rfs_9iewePvTbAAAH, reason: transport close","timestamp":"2025-10-04T12:46:30.586Z"} {"level":"info","message":"Client disconnected: iUp956UOzgwAhejGAAAR, reason: transport close","timestamp":"2025-10-04T12:46:30.586Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:46:30.587Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:46:30.587Z"} {"level":"info","message":"Client disconnected: G9hsccaIy4MZv-59AAAF, reason: transport close","timestamp":"2025-10-04T12:46:30.587Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: pT7ABJvTz7B9qoEzAAAW","timestamp":"2025-10-04T12:46:44.764Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: pT7ABJvTz7B9qoEzAAAW","timestamp":"2025-10-04T12:46:44.764Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: CYiZ_f0jD65k5F08AAAX","timestamp":"2025-10-04T12:46:44.783Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: CYiZ_f0jD65k5F08AAAX","timestamp":"2025-10-04T12:46:44.783Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: nM7MCC4bOAuYRrQpAAAZ","timestamp":"2025-10-04T12:46:46.272Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: nM7MCC4bOAuYRrQpAAAZ","timestamp":"2025-10-04T12:46:46.273Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:46:46.770Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:46:46.770Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:46:46.771Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:46:46.771Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:46:46.897Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:46:46.897Z"} {"level":"info","message":"Client disconnected: CYiZ_f0jD65k5F08AAAX, reason: client namespace disconnect","timestamp":"2025-10-04T12:46:52.078Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Yg1f6rn2g4eUCrmhAAAb","timestamp":"2025-10-04T12:46:52.901Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Yg1f6rn2g4eUCrmhAAAb","timestamp":"2025-10-04T12:46:52.901Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:46:52.980Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:46:52.980Z"} {"level":"info","message":"Client disconnected: o6OLETSxNXsydzLIAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T12:46:54.001Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:46:54.001Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:46:54.001Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: kiudc8gEr94WAOVXAAAd","timestamp":"2025-10-04T12:46:54.564Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:46:54.565Z"} {"level":"info","message":"Client disconnected: kiudc8gEr94WAOVXAAAd, reason: client namespace disconnect","timestamp":"2025-10-04T12:46:55.608Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:46:55.608Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:46:55.608Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: c4WBovk_jXBQDyC2AAAf","timestamp":"2025-10-04T12:46:56.723Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:46:56.724Z"} {"level":"info","message":"Client disconnected: Yg1f6rn2g4eUCrmhAAAb, reason: client namespace disconnect","timestamp":"2025-10-04T12:46:58.409Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:46:58.410Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:46:58.410Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: N3YN4SL5nwh4nxGnAAAh","timestamp":"2025-10-04T12:46:59.403Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: N3YN4SL5nwh4nxGnAAAh","timestamp":"2025-10-04T12:46:59.403Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:46:59.586Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:46:59.586Z"} {"level":"info","message":"Client disconnected: c4WBovk_jXBQDyC2AAAf, reason: client namespace disconnect","timestamp":"2025-10-04T12:47:05.073Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:47:05.073Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:47:05.073Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: WEg4aIue8EHfeZqHAAAj","timestamp":"2025-10-04T12:47:06.035Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:47:06.036Z"} {"level":"info","message":"Client disconnected: N3YN4SL5nwh4nxGnAAAh, reason: client namespace disconnect","timestamp":"2025-10-04T12:47:11.884Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:47:11.884Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:47:11.884Z"} {"level":"info","message":"Client disconnected: WEg4aIue8EHfeZqHAAAj, reason: client namespace disconnect","timestamp":"2025-10-04T12:47:12.514Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:47:12.514Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:47:12.514Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:47:15.687Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:47:16.424Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T12:47:21.069Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: H2jD-QvXeKHlADH1AAAC","timestamp":"2025-10-04T12:47:22.512Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: H2jD-QvXeKHlADH1AAAC","timestamp":"2025-10-04T12:47:22.512Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VdMgqFsE2awPqPRJAAAD","timestamp":"2025-10-04T12:47:22.529Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: VdMgqFsE2awPqPRJAAAD","timestamp":"2025-10-04T12:47:22.530Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:47:22.731Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:47:22.732Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:47:22.736Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:47:22.736Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: TBZEtkDWBM3jhiUCAAAF","timestamp":"2025-10-04T12:47:24.249Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: TBZEtkDWBM3jhiUCAAAF","timestamp":"2025-10-04T12:47:24.250Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:47:24.319Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:47:24.319Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zdFhKE2ZCekrFUBIAAAH","timestamp":"2025-10-04T12:47:25.822Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Detpjn0fipq3EG3tAAAJ","timestamp":"2025-10-04T12:47:25.893Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:47:25.895Z"} {"level":"info","message":"📷 Camera request received from operator socket Detpjn0fipq3EG3tAAAJ","timestamp":"2025-10-04T12:47:27.961Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:47:27.961Z"} {"level":"info","message":"✅ Operator found: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:47:27.962Z"} {"level":"info","message":"🔗 Initiating connection: 7b6e6e50-c743-4b2e-a37e-56472102ee0c -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:47:27.962Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:47:27.963Z"} {"level":"info","message":"✅ Connection request created: 42c1a779-1a20-4888-b088-973258e9fd71","timestamp":"2025-10-04T12:47:27.963Z"} {"level":"info","message":"✅ Connection initiated: 42c1a779-1a20-4888-b088-973258e9fd71","timestamp":"2025-10-04T12:47:27.963Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"7b6e6e50-c743-4b2e-a37e-56472102ee0c","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582047940} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 8016865852908874460 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:OVfU\r\na=ice-pwd:A+dBH6hZDohtDQ/yoQilibAm\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 22:8F:D0:13:1C:32:A0:90:4F:74:43:9F:48:27:71:43:F6:99:6F:8D:8A:DC:5B:D0:A0:79:9C:73:D1:0C:A3:57\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3068661146 2974641484\r\na=ssrc:3068661146 cname:HF8xgvxRqFhficPi\r\na=ssrc:3068661146 msid:stream videoTrack\r\na=ssrc:2974641484 cname:HF8xgvxRqFhficPi\r\na=ssrc:2974641484 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:OVfU\r\na=ice-pwd:A+dBH6hZDohtDQ/yoQilibAm\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 22:8F:D0:13:1C:32:A0:90:4F:74:43:9F:48:27:71:43:F6:99:6F:8D:8A:DC:5B:D0:A0:79:9C:73:D1:0C:A3:57\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2468870764 cname:HF8xgvxRqFhficPi\r\na=ssrc:2468870764 msid:stream audioTrack\r\n","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048018,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 34974 typ host generation 0 ufrag OVfU network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048106,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 52634 typ host generation 0 ufrag OVfU network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048108,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 52943 typ host generation 0 ufrag OVfU network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048109,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 59330 typ host generation 0 ufrag OVfU network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048111,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 35508 typ host generation 0 ufrag OVfU network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048112,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 32774 typ host generation 0 ufrag OVfU network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048113,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 52634 typ srflx raddr 192.168.219.109 rport 52634 generation 0 ufrag OVfU network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048227,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 35508 typ srflx raddr 192.168.219.109 rport 35508 generation 0 ufrag OVfU network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"42c1a779-1a20-4888-b088-973258e9fd71","timestamp":1759582048253,"type":"ice-candidate"} {"level":"warn","message":"⏰ Connection timeout: 42c1a779-1a20-4888-b088-973258e9fd71","timestamp":"2025-10-04T12:47:57.964Z"} {"level":"info","message":"❌ Connection rejected: 42c1a779-1a20-4888-b088-973258e9fd71 - Connection timeout","timestamp":"2025-10-04T12:47:57.965Z"} {"level":"info","message":"📷 Camera request received from operator socket Detpjn0fipq3EG3tAAAJ","timestamp":"2025-10-04T12:48:49.634Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:48:49.634Z"} {"level":"info","message":"✅ Operator found: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:48:49.634Z"} {"level":"info","message":"🔗 Initiating connection: 7b6e6e50-c743-4b2e-a37e-56472102ee0c -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:48:49.634Z"} {"level":"error","message":"❌ Connection validation failed: Device busy or unavailable","timestamp":"2025-10-04T12:48:49.634Z"} {"level":"error","message":"❌ Failed to initiate connection: Device busy or unavailable","timestamp":"2025-10-04T12:48:49.635Z"} {"level":"info","message":"Client disconnected: TBZEtkDWBM3jhiUCAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T12:48:53.202Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:48:53.203Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:48:53.203Z"} {"level":"info","message":"Client disconnected: Detpjn0fipq3EG3tAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T12:48:54.833Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:48:54.834Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:48:54.834Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: eizRKJuAal2EkkcbAAAL","timestamp":"2025-10-04T12:48:56.046Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: eizRKJuAal2EkkcbAAAL","timestamp":"2025-10-04T12:48:56.046Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:48:56.123Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:48:56.123Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: St8Q1lipYHET1UIBAAAN","timestamp":"2025-10-04T12:48:56.917Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:48:56.918Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:49:03.248Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T12:49:11.450Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: horT1uKe03Js71GFAAAB","timestamp":"2025-10-04T12:49:12.159Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: fDK8BkIEwMMk8q_qAAAD","timestamp":"2025-10-04T12:49:13.420Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: fDK8BkIEwMMk8q_qAAAD","timestamp":"2025-10-04T12:49:13.421Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:49:13.458Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:49:13.459Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: r-ez2rlQHmhRP917AAAF","timestamp":"2025-10-04T12:49:13.772Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:49:13.773Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: e4VKNxiFe1GMrjt5AAAJ","timestamp":"2025-10-04T12:49:15.253Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: e4VKNxiFe1GMrjt5AAAJ","timestamp":"2025-10-04T12:49:15.253Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: gDAy2wG1a7z_TnReAAAK","timestamp":"2025-10-04T12:49:15.271Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: gDAy2wG1a7z_TnReAAAK","timestamp":"2025-10-04T12:49:15.271Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: wJG6tx3vAVxV9L2mAAAL","timestamp":"2025-10-04T12:49:15.283Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: wJG6tx3vAVxV9L2mAAAL","timestamp":"2025-10-04T12:49:15.283Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:49:15.306Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:49:15.306Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:49:15.314Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:49:15.315Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:49:15.332Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:49:15.333Z"} {"level":"info","message":"📷 Camera request received from operator socket r-ez2rlQHmhRP917AAAF","timestamp":"2025-10-04T12:49:15.786Z"} {"cameraType":"back","deviceId":"android_199ae8cd5d4","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T12:49:15.786Z"} {"level":"info","message":"✅ Operator found: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:49:15.787Z"} {"level":"info","message":"🔗 Initiating connection: 7b6e6e50-c743-4b2e-a37e-56472102ee0c -> android_199ae8cd5d4 (back)","timestamp":"2025-10-04T12:49:15.787Z"} {"level":"info","message":"📱 Sending camera:request to Android device android_199ae8cd5d4","timestamp":"2025-10-04T12:49:15.787Z"} {"level":"info","message":"✅ Connection request created: 3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":"2025-10-04T12:49:15.788Z"} {"level":"info","message":"✅ Connection initiated: 3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":"2025-10-04T12:49:15.788Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"7b6e6e50-c743-4b2e-a37e-56472102ee0c","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155764} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 7553934640420005131 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:oJQF\r\na=ice-pwd:du4CMwUw1mjMV2ICJYEu4MV7\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 4D:5A:B5:95:7E:F1:DE:BA:27:57:48:99:C8:F1:E2:9B:33:03:40:C8:76:15:D7:99:CA:1B:09:9C:3F:80:A4:32\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 370411450 61603220\r\na=ssrc:370411450 cname:XGbxo0xufw8ub2wh\r\na=ssrc:370411450 msid:stream videoTrack\r\na=ssrc:61603220 cname:XGbxo0xufw8ub2wh\r\na=ssrc:61603220 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:oJQF\r\na=ice-pwd:du4CMwUw1mjMV2ICJYEu4MV7\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 4D:5A:B5:95:7E:F1:DE:BA:27:57:48:99:C8:F1:E2:9B:33:03:40:C8:76:15:D7:99:CA:1B:09:9C:3F:80:A4:32\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3781205680 cname:XGbxo0xufw8ub2wh\r\na=ssrc:3781205680 msid:stream audioTrack\r\n","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155829,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 46110 typ host generation 0 ufrag oJQF network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155883,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 47280 typ host generation 0 ufrag oJQF network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155885,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 39242 typ host generation 0 ufrag oJQF network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155887,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 53019 typ host generation 0 ufrag oJQF network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155888,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 59953 typ host generation 0 ufrag oJQF network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155889,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 51971 typ host generation 0 ufrag oJQF network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155890,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 5035 typ srflx raddr 192.168.219.109 rport 59953 generation 0 ufrag oJQF network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582155986,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 47280 typ srflx raddr 192.168.219.109 rport 47280 generation 0 ufrag oJQF network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":1759582156006,"type":"ice-candidate"} {"level":"warn","message":"⏰ Connection timeout: 3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a","timestamp":"2025-10-04T12:49:45.788Z"} {"level":"info","message":"❌ Connection rejected: 3b23d7a8-b2b6-4ed2-8a98-6d8646e8131a - Connection timeout","timestamp":"2025-10-04T12:49:45.788Z"} {"level":"info","message":"Client disconnected: fDK8BkIEwMMk8q_qAAAD, reason: transport close","timestamp":"2025-10-04T12:52:54.699Z"} {"level":"info","message":"Client disconnected: e4VKNxiFe1GMrjt5AAAJ, reason: transport close","timestamp":"2025-10-04T12:52:54.796Z"} {"level":"info","message":"Client disconnected: wJG6tx3vAVxV9L2mAAAL, reason: transport close","timestamp":"2025-10-04T12:52:54.796Z"} {"level":"info","message":"🧹 Cleaning up connections for device: android_199ae8cd5d4","timestamp":"2025-10-04T12:52:54.797Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device android_199ae8cd5d4","timestamp":"2025-10-04T12:52:54.797Z"} {"level":"info","message":"Client disconnected: gDAy2wG1a7z_TnReAAAK, reason: transport close","timestamp":"2025-10-04T12:52:54.798Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: rrSZQ31VtDAwduFNAAAO","timestamp":"2025-10-04T12:54:09.968Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: rrSZQ31VtDAwduFNAAAO","timestamp":"2025-10-04T12:54:09.968Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: PVHwGdX7Ko2J1tCjAAAP","timestamp":"2025-10-04T12:54:09.990Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: PVHwGdX7Ko2J1tCjAAAP","timestamp":"2025-10-04T12:54:09.990Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 28KW15MzgT7-PD4OAAAR","timestamp":"2025-10-04T12:54:11.435Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 28KW15MzgT7-PD4OAAAR","timestamp":"2025-10-04T12:54:11.435Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:54:11.940Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:54:11.940Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:54:11.941Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:54:11.941Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:54:12.100Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:54:12.100Z"} {"level":"info","message":"Client disconnected: rrSZQ31VtDAwduFNAAAO, reason: client namespace disconnect","timestamp":"2025-10-04T12:54:14.573Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: LrdeIuxC0A7g5vvdAAAT","timestamp":"2025-10-04T12:54:15.431Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: LrdeIuxC0A7g5vvdAAAT","timestamp":"2025-10-04T12:54:15.431Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:54:15.636Z"} {"androidVersion":"9","appVersion":"1.0.0","availableCameras":"back,front","level":"info","manufacturer":"Unknown","message":"Android client registered via device-info: android_199ae8cd5d4","model":"LGM-G600S","timestamp":"2025-10-04T12:54:15.636Z"} {"level":"info","message":"Client disconnected: r-ez2rlQHmhRP917AAAF, reason: client namespace disconnect","timestamp":"2025-10-04T12:54:20.692Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:54:20.692Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:54:20.692Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1UjczCyoI17xJFe7AAAV","timestamp":"2025-10-04T12:54:21.552Z","userAgent":""} {"level":"info","message":"Operator registered: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:54:21.553Z"} {"level":"info","message":"Client disconnected: 1UjczCyoI17xJFe7AAAV, reason: client namespace disconnect","timestamp":"2025-10-04T12:54:26.924Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:54:26.924Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 7b6e6e50-c743-4b2e-a37e-56472102ee0c","timestamp":"2025-10-04T12:54:26.924Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:54:30.667Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T12:56:41.290Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wBE4pYgkyOKzVJUQAAAB","timestamp":"2025-10-04T12:56:44.363Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ANXarG6n7E7728N9AAAD","timestamp":"2025-10-04T12:56:50.078Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ANXarG6n7E7728N9AAAD","timestamp":"2025-10-04T12:56:50.079Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:56:50.324Z"} {"level":"info","message":"Client disconnected: ANXarG6n7E7728N9AAAD, reason: client namespace disconnect","timestamp":"2025-10-04T12:56:50.474Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ML8zq-x-IxSdzzkTAAAF","timestamp":"2025-10-04T12:56:51.570Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ML8zq-x-IxSdzzkTAAAF","timestamp":"2025-10-04T12:56:51.571Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:56:51.669Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: e86exTq745lJ8JYCAAAH","timestamp":"2025-10-04T12:56:54.699Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:56:54.701Z"} {"level":"info","message":"Client disconnected: ML8zq-x-IxSdzzkTAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T12:56:56.759Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Tvq8TNsWQFvLOmFpAAAJ","timestamp":"2025-10-04T12:56:57.513Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Tvq8TNsWQFvLOmFpAAAJ","timestamp":"2025-10-04T12:56:57.513Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:56:57.696Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T12:57:05.150Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T12:57:24.787Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0g9xQ8PxS9sDx1TMAAAB","timestamp":"2025-10-04T12:57:26.287Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:57:26.290Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: wiRIMvj2hx9ALIbIAAAD","timestamp":"2025-10-04T12:57:26.873Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: wiRIMvj2hx9ALIbIAAAD","timestamp":"2025-10-04T12:57:26.874Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:57:26.917Z"} {"level":"info","message":"Client disconnected: wiRIMvj2hx9ALIbIAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T12:57:28.449Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 2qDpGO63b5zt2kmAAAAF","timestamp":"2025-10-04T12:57:29.078Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 2qDpGO63b5zt2kmAAAAF","timestamp":"2025-10-04T12:57:29.078Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:57:29.264Z"} {"level":"info","message":"Client disconnected: 0g9xQ8PxS9sDx1TMAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T12:57:30.885Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:57:30.886Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:57:30.886Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: m7gz0W_5tzZwhKKYAAAH","timestamp":"2025-10-04T12:57:31.512Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:57:31.513Z"} {"level":"info","message":"Client disconnected: 2qDpGO63b5zt2kmAAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T12:57:46.966Z"} {"level":"info","message":"Client disconnected: m7gz0W_5tzZwhKKYAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T12:57:47.941Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:57:47.941Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:57:47.942Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: MCpKsGlyd-7kDoJKAAAJ","timestamp":"2025-10-04T12:57:51.828Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: MCpKsGlyd-7kDoJKAAAJ","timestamp":"2025-10-04T12:57:51.828Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:57:51.930Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: AWcMT0AsAsnmDQubAAAL","timestamp":"2025-10-04T12:57:55.273Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T12:57:55.274Z"} {"level":"info","message":"Client disconnected: UBO9eBm1NQloRJRjAAAZ, reason: transport close","timestamp":"2025-10-04T12:58:06.963Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9jkksChKyzhmQ9OaAAAN","timestamp":"2025-10-04T12:58:07.114Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Yapo6zMtOA5ZaB6SAAAP","timestamp":"2025-10-04T12:58:09.259Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T12:58:09.264Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VjHXwEvudzq72zu8AAAR","timestamp":"2025-10-04T12:58:12.048Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T12:58:12.052Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 6c2d3133-ba44-471c-b0c1-650c8b789725","operatorId":"demo-operator-001","timestamp":"2025-10-04T12:58:13.567Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=6c2d3133-ba44-471c-b0c1-650c8b789725, accepted=true","timestamp":"2025-10-04T12:58:17.678Z"} {"level":"error","message":"❌ Connection request not found: 6c2d3133-ba44-471c-b0c1-650c8b789725","timestamp":"2025-10-04T12:58:17.678Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T12:58:17.679Z"} {"level":"info","message":"Cleanup completed: 0 sessions removed","timestamp":"2025-10-04T12:58:25.297Z"} {"level":"info","message":"Client disconnected: MCpKsGlyd-7kDoJKAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T12:58:49.705Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: mpxLaWDC-oQgNPkvAAAT","timestamp":"2025-10-04T12:58:52.578Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: mpxLaWDC-oQgNPkvAAAT","timestamp":"2025-10-04T12:58:52.578Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:58:52.653Z"} {"level":"info","message":"Session terminated: 6c2d3133-ba44-471c-b0c1-650c8b789725","timestamp":"2025-10-04T12:59:04.381Z"} {"level":"info","message":"Client disconnected: Yapo6zMtOA5ZaB6SAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T12:59:12.030Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T12:59:12.030Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T12:59:12.031Z"} {"level":"info","message":"Client disconnected: VjHXwEvudzq72zu8AAAR, reason: client namespace disconnect","timestamp":"2025-10-04T12:59:14.145Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T12:59:14.146Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T12:59:14.146Z"} {"level":"info","message":"Client disconnected: mpxLaWDC-oQgNPkvAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T12:59:16.905Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 6VvqpW2fR_hhCDBxAAAV","timestamp":"2025-10-04T12:59:19.084Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 6VvqpW2fR_hhCDBxAAAV","timestamp":"2025-10-04T12:59:19.084Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T12:59:19.152Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: F_n1Tf4P5jyuzeaZAAAX","timestamp":"2025-10-04T12:59:22.748Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T12:59:22.750Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T13:01:01.158Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T13:01:09.281Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T13:01:09.584Z"} {"level":"info","message":"Client disconnected: 6VvqpW2fR_hhCDBxAAAV, reason: client namespace disconnect","timestamp":"2025-10-04T13:01:19.356Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: J-zIYjUys0E9aph9AAAC","timestamp":"2025-10-04T13:01:20.429Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: RHhEQJzEl4sTNRi1AAAD","timestamp":"2025-10-04T13:01:20.433Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: RHhEQJzEl4sTNRi1AAAD","timestamp":"2025-10-04T13:01:20.433Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:01:20.473Z"} {"level":"info","message":"Client disconnected: F_n1Tf4P5jyuzeaZAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T13:01:25.982Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T13:01:25.982Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T13:01:25.982Z"} {"level":"info","message":"Client disconnected: 9jkksChKyzhmQ9OaAAAN, reason: transport close","timestamp":"2025-10-04T13:01:27.896Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: U0X8yMnTnC9b4kqJAAAF","timestamp":"2025-10-04T13:01:27.982Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: RHhEQJzEl4sTNRi1AAAD, reason: client namespace disconnect","timestamp":"2025-10-04T13:01:31.120Z"} {"level":"info","message":"Client disconnected: U0X8yMnTnC9b4kqJAAAF, reason: transport close","timestamp":"2025-10-04T13:01:34.072Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 05xQQrGRkUQ-JyRVAAAH","timestamp":"2025-10-04T13:01:34.131Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: 05xQQrGRkUQ-JyRVAAAH, reason: transport close","timestamp":"2025-10-04T13:01:35.167Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VPdn-h3ifhhyu6HGAAAJ","timestamp":"2025-10-04T13:01:35.222Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: VPdn-h3ifhhyu6HGAAAJ, reason: transport close","timestamp":"2025-10-04T13:01:35.639Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wXgBYKHqiD-2FOi6AAAL","timestamp":"2025-10-04T13:01:35.697Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: FCV-S93kqa5c1YZaAAAN","timestamp":"2025-10-04T13:01:37.169Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: FCV-S93kqa5c1YZaAAAN","timestamp":"2025-10-04T13:01:37.169Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:01:37.244Z"} {"level":"info","message":"Client disconnected: wXgBYKHqiD-2FOi6AAAL, reason: transport close","timestamp":"2025-10-04T13:01:37.391Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Wyd83cTR3009g67AAAAP","timestamp":"2025-10-04T13:01:37.446Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: Wyd83cTR3009g67AAAAP, reason: transport close","timestamp":"2025-10-04T13:01:37.617Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NplVkQfiHfavaSR5AAAR","timestamp":"2025-10-04T13:01:37.669Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: NplVkQfiHfavaSR5AAAR, reason: transport close","timestamp":"2025-10-04T13:01:37.831Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 75lr6Enc_bjVfl69AAAT","timestamp":"2025-10-04T13:01:37.883Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: 75lr6Enc_bjVfl69AAAT, reason: transport close","timestamp":"2025-10-04T13:01:38.057Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: HPEK7GDj_9WvTfTSAAAV","timestamp":"2025-10-04T13:01:38.106Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: HPEK7GDj_9WvTfTSAAAV, reason: transport close","timestamp":"2025-10-04T13:01:38.281Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: z0mFaodA9-SMSVuxAAAX","timestamp":"2025-10-04T13:01:38.334Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: z0mFaodA9-SMSVuxAAAX, reason: transport close","timestamp":"2025-10-04T13:01:38.456Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Ml0lna2wyq4JALD5AAAZ","timestamp":"2025-10-04T13:01:38.500Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: Ml0lna2wyq4JALD5AAAZ, reason: transport close","timestamp":"2025-10-04T13:01:38.661Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: nYV-nXxYIuYD-Do1AAAb","timestamp":"2025-10-04T13:01:38.714Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: nYV-nXxYIuYD-Do1AAAb, reason: transport close","timestamp":"2025-10-04T13:01:38.843Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DI69HypdjwLK1qk1AAAd","timestamp":"2025-10-04T13:01:38.906Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: DI69HypdjwLK1qk1AAAd, reason: transport close","timestamp":"2025-10-04T13:01:39.024Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: VhPCNmGQziix4GB1AAAf","timestamp":"2025-10-04T13:01:39.074Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: VhPCNmGQziix4GB1AAAf, reason: transport close","timestamp":"2025-10-04T13:01:39.217Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: G1IFIQnDAhOw_NrBAAAh","timestamp":"2025-10-04T13:01:39.264Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: G1IFIQnDAhOw_NrBAAAh, reason: transport close","timestamp":"2025-10-04T13:01:39.423Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2qk3ugcK8BIb-68bAAAj","timestamp":"2025-10-04T13:01:39.472Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: 2qk3ugcK8BIb-68bAAAj, reason: transport close","timestamp":"2025-10-04T13:01:39.608Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1aqZcjow3pFqgbMrAAAl","timestamp":"2025-10-04T13:01:39.658Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: 1aqZcjow3pFqgbMrAAAl, reason: transport close","timestamp":"2025-10-04T13:01:39.824Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QeW7yc74c8lUTZ2DAAAn","timestamp":"2025-10-04T13:01:39.870Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: QeW7yc74c8lUTZ2DAAAn, reason: transport close","timestamp":"2025-10-04T13:01:40.119Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zLwFrVQLxEkpZyyxAAAp","timestamp":"2025-10-04T13:01:40.167Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: FCV-S93kqa5c1YZaAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T13:01:49.031Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: DahBVzlJqkRlcNeAAAAr","timestamp":"2025-10-04T13:01:50.225Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: DahBVzlJqkRlcNeAAAAr","timestamp":"2025-10-04T13:01:50.225Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:01:50.257Z"} {"level":"info","message":"Client disconnected: DahBVzlJqkRlcNeAAAAr, reason: client namespace disconnect","timestamp":"2025-10-04T13:02:03.747Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0yOI2KfTEXiHw4MMAAAt","timestamp":"2025-10-04T13:02:07.765Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 0yOI2KfTEXiHw4MMAAAt","timestamp":"2025-10-04T13:02:07.766Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:02:07.795Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: QnHDwUNpK9R-PDmGAAAv","timestamp":"2025-10-04T13:05:35.222Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: _v7c30Jq1qkpsT0MAAAx","timestamp":"2025-10-04T13:05:38.301Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T13:05:38.305Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Ui5HcWPisTh6hPLeAAAz","timestamp":"2025-10-04T13:05:40.083Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T13:05:40.089Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 262663e7-45d7-461e-a8e2-7ae803e1e3c5","operatorId":"demo-operator-001","timestamp":"2025-10-04T13:05:41.425Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=262663e7-45d7-461e-a8e2-7ae803e1e3c5, accepted=true","timestamp":"2025-10-04T13:05:45.472Z"} {"level":"info","message":"🔍 Looking for connection request: 262663e7-45d7-461e-a8e2-7ae803e1e3c5","timestamp":"2025-10-04T13:05:45.473Z"} {"level":"info","message":"🔍 Available connection requests: ","timestamp":"2025-10-04T13:05:45.473Z"} {"level":"error","message":"❌ Connection request not found: 262663e7-45d7-461e-a8e2-7ae803e1e3c5","timestamp":"2025-10-04T13:05:45.473Z"} {"level":"error","message":"❌ Available requests: ","timestamp":"2025-10-04T13:05:45.473Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T13:05:45.474Z"} {"level":"info","message":"Client disconnected: 0yOI2KfTEXiHw4MMAAAt, reason: client namespace disconnect","timestamp":"2025-10-04T13:05:53.661Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: TsgHM_Xsyr-rWtHrAAA1","timestamp":"2025-10-04T13:05:54.406Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: TsgHM_Xsyr-rWtHrAAA1","timestamp":"2025-10-04T13:05:54.406Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:05:54.501Z"} {"level":"info","message":"Client disconnected: AWcMT0AsAsnmDQubAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T13:06:00.008Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:06:00.008Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:06:00.008Z"} {"level":"info","message":"Process terminated","timestamp":"2025-10-04T13:06:00.013Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zIS1ADUk-pnNNKxUAAA3","timestamp":"2025-10-04T13:06:00.724Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:06:00.725Z"} {"level":"info","message":"Client disconnected: Ui5HcWPisTh6hPLeAAAz, reason: client namespace disconnect","timestamp":"2025-10-04T13:06:16.432Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T13:06:16.433Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T13:06:16.433Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ujCB24kavxcZj96LAAA5","timestamp":"2025-10-04T13:06:17.713Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T13:06:17.716Z"} {"level":"info","message":"Client disconnected: _v7c30Jq1qkpsT0MAAAx, reason: client namespace disconnect","timestamp":"2025-10-04T13:06:22.048Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T13:06:22.048Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T13:06:22.048Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2rgUkKgwpjC-SBDKAAA7","timestamp":"2025-10-04T13:06:22.677Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T13:06:22.682Z"} {"level":"info","message":"Client disconnected: ujCB24kavxcZj96LAAA5, reason: client namespace disconnect","timestamp":"2025-10-04T13:06:27.848Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T13:06:27.848Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T13:06:27.848Z"} {"level":"info","message":"Client disconnected: 2rgUkKgwpjC-SBDKAAA7, reason: client namespace disconnect","timestamp":"2025-10-04T13:06:32.615Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T13:06:32.616Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T13:06:32.616Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: cjK4IxN3jFWEb3kEAAA9","timestamp":"2025-10-04T13:06:33.313Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T13:06:33.316Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: sPKQSXe32u18u06-AAA_","timestamp":"2025-10-04T13:06:35.217Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T13:06:35.222Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T13:07:26.785Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T13:07:46.267Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2pl_kIJNhpu-6a-nAAAB","timestamp":"2025-10-04T13:07:46.396Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: of5zr-idcaZ-VXhqAAAD","timestamp":"2025-10-04T13:07:47.113Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T13:07:47.120Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: tHxNrpczQY6iFYt9AAAF","timestamp":"2025-10-04T13:07:47.367Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:07:47.368Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: lU_L6OSOsevXAStvAAAH","timestamp":"2025-10-04T13:07:47.480Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T13:07:47.484Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: y2Hk5XTqx4Op8eIFAAAJ","timestamp":"2025-10-04T13:07:48.388Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: IwkTDYPCcU1hu9a5AAAL","timestamp":"2025-10-04T13:07:49.260Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: IwkTDYPCcU1hu9a5AAAL","timestamp":"2025-10-04T13:07:49.261Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:07:49.308Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: jRcTSLZKK8xq7kjbAAAN","timestamp":"2025-10-04T13:07:49.930Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"level":"info","message":"Client disconnected: IwkTDYPCcU1hu9a5AAAL, reason: client namespace disconnect","timestamp":"2025-10-04T13:08:07.199Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: wwJsi04MyhUEc4IMAAAP","timestamp":"2025-10-04T13:08:08.406Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: wwJsi04MyhUEc4IMAAAP","timestamp":"2025-10-04T13:08:08.407Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:08:08.452Z"} {"level":"info","message":"Client disconnected: tHxNrpczQY6iFYt9AAAF, reason: client namespace disconnect","timestamp":"2025-10-04T13:08:09.348Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:09.349Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:09.349Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: MeQ2xbiiH46IueOXAAAR","timestamp":"2025-10-04T13:08:09.868Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:09.869Z"} {"level":"info","message":"📷 Camera request received from operator socket MeQ2xbiiH46IueOXAAAR","timestamp":"2025-10-04T13:08:12.097Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T13:08:12.097Z"} {"level":"info","message":"✅ Operator found: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:12.097Z"} {"level":"info","message":"🔗 Initiating connection: 2e52cdd6-d21c-467f-88c1-757aac713bc4 -> demo-device-001 (back)","timestamp":"2025-10-04T13:08:12.098Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T13:08:12.099Z"} {"level":"info","message":"✅ Connection request created: c1006ce4-9f4d-4d39-ad8f-288ae085147f","timestamp":"2025-10-04T13:08:12.100Z"} {"level":"info","message":"✅ Connection initiated: c1006ce4-9f4d-4d39-ad8f-288ae085147f","timestamp":"2025-10-04T13:08:12.100Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T13:08:23.256Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T13:08:24.569Z"} {"level":"info","message":"Client disconnected: wwJsi04MyhUEc4IMAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T13:08:27.669Z"} {"level":"info","message":"Client disconnected: MeQ2xbiiH46IueOXAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T13:08:28.712Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:28.712Z"} {"level":"info","message":"🔌 Connection terminated: c1006ce4-9f4d-4d39-ad8f-288ae085147f - Operator disconnected","timestamp":"2025-10-04T13:08:28.713Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:28.713Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: kIZRMe6pUL8sMF7oAAAB","timestamp":"2025-10-04T13:08:29.189Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:29.190Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: c60OT6ysTUPztMHgAAAD","timestamp":"2025-10-04T13:08:30.147Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: c60OT6ysTUPztMHgAAAD","timestamp":"2025-10-04T13:08:30.147Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:08:30.182Z"} {"level":"info","message":"Client disconnected: kIZRMe6pUL8sMF7oAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T13:08:32.091Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:32.091Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:32.091Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0guASdFSS_PWGvUgAAAF","timestamp":"2025-10-04T13:08:32.507Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:32.508Z"} {"level":"info","message":"Client disconnected: c60OT6ysTUPztMHgAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T13:08:34.466Z"} {"level":"info","message":"Client disconnected: 0guASdFSS_PWGvUgAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T13:08:35.960Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:35.961Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:35.961Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: pEWQ_9GkNcb8EwwaAAAH","timestamp":"2025-10-04T13:08:37.080Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: pEWQ_9GkNcb8EwwaAAAH","timestamp":"2025-10-04T13:08:37.081Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T13:08:37.148Z"} {"level":"info","message":"Client disconnected: jRcTSLZKK8xq7kjbAAAN, reason: transport close","timestamp":"2025-10-04T13:08:38.157Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3Jx_415wb-2kNK-5AAAJ","timestamp":"2025-10-04T13:08:38.170Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: hlswHFvxDnh4ukbYAAAL","timestamp":"2025-10-04T13:08:40.276Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T13:08:40.277Z"} {"level":"warn","message":"⏰ Connection timeout: c1006ce4-9f4d-4d39-ad8f-288ae085147f","timestamp":"2025-10-04T13:08:42.100Z"} {"level":"info","message":"Connection c1006ce4-9f4d-4d39-ad8f-288ae085147f already removed from pending requests","timestamp":"2025-10-04T13:08:42.100Z"} {"level":"info","message":"Client disconnected: pEWQ_9GkNcb8EwwaAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T20:04:24.890Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 1fA3WIWWZKykno6GAAAO","timestamp":"2025-10-04T20:04:31.669Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 1fA3WIWWZKykno6GAAAO","timestamp":"2025-10-04T20:04:31.669Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: -X4Wi5AMsdyVb4OfAAAP","timestamp":"2025-10-04T20:04:31.683Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: -X4Wi5AMsdyVb4OfAAAP","timestamp":"2025-10-04T20:04:31.683Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: _3wPxdRMIIjDVAa9AAAR","timestamp":"2025-10-04T20:04:31.904Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: _3wPxdRMIIjDVAa9AAAR","timestamp":"2025-10-04T20:04:31.904Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:04:32.009Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:04:32.054Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:04:32.200Z"} {"level":"info","message":"Client disconnected: hlswHFvxDnh4ukbYAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T20:04:35.691Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:04:35.691Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:04:35.691Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: xq5cq-sEfgfZ0-rqAAAT","timestamp":"2025-10-04T20:04:36.903Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:04:36.905Z"} {"level":"info","message":"Client disconnected: xq5cq-sEfgfZ0-rqAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T20:04:37.707Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:04:37.707Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:04:37.707Z"} {"level":"info","message":"Client disconnected: -X4Wi5AMsdyVb4OfAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T20:04:38.987Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T20:04:43.842Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T20:05:00.347Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ZcnwiYU7owsGEKhHAAAC","timestamp":"2025-10-04T20:05:00.458Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ZcnwiYU7owsGEKhHAAAC","timestamp":"2025-10-04T20:05:00.459Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: rXsttg9kBj4Z3BfOAAAD","timestamp":"2025-10-04T20:05:00.471Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: rXsttg9kBj4Z3BfOAAAD","timestamp":"2025-10-04T20:05:00.471Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:05:00.486Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:05:00.498Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: N8393UX_AqqWqsvUAAAF","timestamp":"2025-10-04T20:05:04.328Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hDLgPNnUztpq6wW3AAAH","timestamp":"2025-10-04T20:05:06.686Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: hDLgPNnUztpq6wW3AAAH","timestamp":"2025-10-04T20:05:06.687Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:05:06.755Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rHmpESaJEn8spOekAAAJ","timestamp":"2025-10-04T20:05:09.608Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:09.609Z"} {"level":"info","message":"Client disconnected: rHmpESaJEn8spOekAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T20:05:10.604Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:10.604Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:10.604Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: kqbiou7lfKZaLJciAAAL","timestamp":"2025-10-04T20:05:11.431Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:11.432Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T20:05:21.172Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T20:05:28.459Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: kAPPHpwKGfC7RZG8AAAD","timestamp":"2025-10-04T20:05:28.731Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: kAPPHpwKGfC7RZG8AAAD","timestamp":"2025-10-04T20:05:28.731Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Ic5fOtEu87lzd3oiAAAE","timestamp":"2025-10-04T20:05:28.740Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Ic5fOtEu87lzd3oiAAAE","timestamp":"2025-10-04T20:05:28.741Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: -GupOp-aUmul-tIHAAAF","timestamp":"2025-10-04T20:05:28.756Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: -GupOp-aUmul-tIHAAAF","timestamp":"2025-10-04T20:05:28.757Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:05:28.785Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:05:28.922Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:05:28.938Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: I2IAcnjQExZPy4WkAAAH","timestamp":"2025-10-04T20:05:29.900Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.104.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ZB8XHvEbwK74w3TsAAAJ","timestamp":"2025-10-04T20:05:31.363Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:31.365Z"} {"level":"info","message":"Client disconnected: ZB8XHvEbwK74w3TsAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T20:05:35.444Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:35.445Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:35.445Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gL2YQrzKpcC5YMbXAAAL","timestamp":"2025-10-04T20:05:38.096Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:05:38.097Z"} {"level":"info","message":"Client disconnected: lU_L6OSOsevXAStvAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T20:05:44.004Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T20:05:44.005Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T20:05:44.005Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=c1006ce4-9f4d-4d39-ad8f-288ae085147f, accepted=false","timestamp":"2025-10-04T20:05:46.228Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: E9dj-mYYHNEybAXFAAAN","timestamp":"2025-10-04T20:05:48.186Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front,ultra_wide","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T20:05:48.189Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Wdl-JiEbLLncisJBAAAP","timestamp":"2025-10-04T20:05:48.238Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1fDsPq-C4XF6gf_LAAAR","timestamp":"2025-10-04T20:05:48.387Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 4spB0JXaK-r-3q3iAAAT","timestamp":"2025-10-04T20:05:52.457Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T20:05:52.461Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: cecf49d8-6938-40dc-ac0e-b2807fa72e79","operatorId":"demo-operator-001","timestamp":"2025-10-04T20:05:54.702Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=cecf49d8-6938-40dc-ac0e-b2807fa72e79, accepted=true","timestamp":"2025-10-04T20:05:57.436Z"} {"level":"info","message":"🔍 Looking for connection request: cecf49d8-6938-40dc-ac0e-b2807fa72e79","timestamp":"2025-10-04T20:05:57.437Z"} {"level":"info","message":"🔍 Available connection requests: ","timestamp":"2025-10-04T20:05:57.437Z"} {"level":"error","message":"❌ Connection request not found: cecf49d8-6938-40dc-ac0e-b2807fa72e79","timestamp":"2025-10-04T20:05:57.437Z"} {"level":"error","message":"❌ Available requests: ","timestamp":"2025-10-04T20:05:57.437Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T20:05:57.438Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T20:50:12.327Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T20:50:13.641Z"} {"level":"info","message":"Client disconnected: kAPPHpwKGfC7RZG8AAAD, reason: client namespace disconnect","timestamp":"2025-10-04T20:50:19.279Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: PBwHmM0xhMgAxBGFAAAB","timestamp":"2025-10-04T20:50:32.250Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: PBwHmM0xhMgAxBGFAAAB","timestamp":"2025-10-04T20:50:32.250Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:50:32.279Z"} {"level":"info","message":"Client disconnected: gL2YQrzKpcC5YMbXAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T20:50:37.854Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:37.854Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:37.854Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Uz2WihkqKeWAE7ZjAAAD","timestamp":"2025-10-04T20:50:38.602Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:38.604Z"} {"level":"info","message":"Client disconnected: Uz2WihkqKeWAE7ZjAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T20:50:40.526Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:40.527Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:40.527Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0GS9Ztwa8X_Ua8fLAAAF","timestamp":"2025-10-04T20:50:43.594Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:43.595Z"} {"level":"info","message":"Client disconnected: 0GS9Ztwa8X_Ua8fLAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T20:50:44.118Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:44.118Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:44.118Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: K9d4jtuPlV5tRq60AAAH","timestamp":"2025-10-04T20:50:44.642Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:44.643Z"} {"level":"info","message":"Client disconnected: K9d4jtuPlV5tRq60AAAH, reason: client namespace disconnect","timestamp":"2025-10-04T20:50:45.126Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:45.126Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:50:45.127Z"} {"level":"info","message":"Client disconnected: PBwHmM0xhMgAxBGFAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T20:50:46.353Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: nyZLdcntze-Fde74AAAJ","timestamp":"2025-10-04T20:50:47.622Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: nyZLdcntze-Fde74AAAJ","timestamp":"2025-10-04T20:50:47.622Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:50:47.793Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T20:50:49.757Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T20:50:56.925Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Z6peOlaai2GF37IOAAAB","timestamp":"2025-10-04T20:51:01.839Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Z6peOlaai2GF37IOAAAB","timestamp":"2025-10-04T20:51:01.839Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:51:01.869Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"test_operator","sessionId":"test_session_1759611063865","timestamp":1759611063891} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"test_operator","sessionId":"test_session_1759611063865","timestamp":1759611063891} {"level":"info","message":"📱 Camera response received from Android: sessionId=test_session_1759611063865, accepted=true","timestamp":"2025-10-04T20:51:04.041Z"} {"level":"info","message":"🔍 Looking for connection request: test_session_1759611063865","timestamp":"2025-10-04T20:51:04.042Z"} {"level":"info","message":"🔍 Available connection requests: ","timestamp":"2025-10-04T20:51:04.042Z"} {"level":"error","message":"❌ Connection request not found: test_session_1759611063865","timestamp":"2025-10-04T20:51:04.042Z"} {"level":"error","message":"❌ Available requests: ","timestamp":"2025-10-04T20:51:04.043Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T20:51:04.043Z"} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 377295181556345293 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:M9pD\r\na=ice-pwd:rA4hhKh4VyhIqNRADqKwzAYm\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 EF:CE:8E:62:A3:15:69:1A:4A:6B:F2:CB:A8:44:12:68:E9:7E:B4:0E:A6:14:BB:D6:B5:8D:48:FD:38:24:34:26\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 362777052 1491107382\r\na=ssrc:362777052 cname:s/0H/lj1WE7ssAhi\r\na=ssrc:362777052 msid:stream videoTrack\r\na=ssrc:1491107382 cname:s/0H/lj1WE7ssAhi\r\na=ssrc:1491107382 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:M9pD\r\na=ice-pwd:rA4hhKh4VyhIqNRADqKwzAYm\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 EF:CE:8E:62:A3:15:69:1A:4A:6B:F2:CB:A8:44:12:68:E9:7E:B4:0E:A6:14:BB:D6:B5:8D:48:FD:38:24:34:26\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3901586863 cname:s/0H/lj1WE7ssAhi\r\na=ssrc:3901586863 msid:stream audioTrack\r\n","sessionId":"test_session_1759611063865","timestamp":1759611063992,"type":"webrtc-offer"} {"level":"info","message":"🔄 Android webrtc-offer received, forwarding as webrtc:offer:","offer":"v=0\r\no=- 377295181556345293 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:M9pD\r\na=ice-pwd:rA4hhKh4VyhIqNRADqKwzAYm\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 EF:CE:8E:62:A3:15:69:1A:4A:6B:F2:CB:A8:44:12:68:E9:7E:B4:0E:A6:14:BB:D6:B5:8D:48:FD:38:24:34:26\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 362777052 1491107382\r\na=ssrc:362777052 cname:s/0H/lj1WE7ssAhi\r\na=ssrc:362777052 msid:stream videoTrack\r\na=ssrc:1491107382 cname:s/0H/lj1WE7ssAhi\r\na=ssrc:1491107382 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:M9pD\r\na=ice-pwd:rA4hhKh4VyhIqNRADqKwzAYm\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 EF:CE:8E:62:A3:15:69:1A:4A:6B:F2:CB:A8:44:12:68:E9:7E:B4:0E:A6:14:BB:D6:B5:8D:48:FD:38:24:34:26\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3901586863 cname:s/0H/lj1WE7ssAhi\r\na=ssrc:3901586863 msid:stream audioTrack\r\n","sessionId":"test_session_1759611063865","timestamp":1759611063992,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 54950 typ host generation 0 ufrag M9pD network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064146,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 54950 typ host generation 0 ufrag M9pD network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064146,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 38545 typ host generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064166,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 38545 typ host generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064166,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 58176 typ host generation 0 ufrag M9pD network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064178,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 32882 typ host generation 0 ufrag M9pD network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064184,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 52282 typ host generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064189,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 55949 typ host generation 0 ufrag M9pD network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064190,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 58176 typ host generation 0 ufrag M9pD network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064178,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 32882 typ host generation 0 ufrag M9pD network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064184,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 52282 typ host generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064189,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 55949 typ host generation 0 ufrag M9pD network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064190,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 38545 typ srflx raddr 192.168.219.109 rport 38545 generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064299,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 38545 typ srflx raddr 192.168.219.109 rport 38545 generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064299,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 52282 typ srflx raddr 192.168.219.109 rport 52282 generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"test_session_1759611063865","timestamp":1759611064304,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 52282 typ srflx raddr 192.168.219.109 rport 52282 generation 0 ufrag M9pD network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"test_session_1759611063865","timestamp":1759611064304,"type":"ice-candidate"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: h6AFFt3pNCPQf_o6AAAD","timestamp":"2025-10-04T20:51:09.754Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:51:09.756Z"} {"level":"info","message":"Client disconnected: Z6peOlaai2GF37IOAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T20:51:33.965Z"} {"level":"info","message":"Cleanup completed: 0 sessions removed","timestamp":"2025-10-04T20:51:55.760Z"} {"level":"info","message":"Client disconnected: 4spB0JXaK-r-3q3iAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T20:51:57.206Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T20:51:57.206Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T20:51:57.206Z"} {"level":"info","message":"Client disconnected: E9dj-mYYHNEybAXFAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T20:51:59.934Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T20:51:59.934Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T20:51:59.934Z"} {"level":"info","message":"Client disconnected: Wdl-JiEbLLncisJBAAAP, reason: transport close","timestamp":"2025-10-04T20:52:02.523Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6RUAUNrzR3xx4ZTUAAAF","timestamp":"2025-10-04T20:52:02.674Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: Ic5fOtEu87lzd3oiAAAE, reason: client namespace disconnect","timestamp":"2025-10-04T20:52:11.047Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9ZtREOsPFX2NTZ8XAAAH","timestamp":"2025-10-04T20:52:13.218Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 9ZtREOsPFX2NTZ8XAAAH","timestamp":"2025-10-04T20:52:13.218Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: LMMi-sL74fTSV7JEAAAJ","timestamp":"2025-10-04T20:52:13.246Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: LMMi-sL74fTSV7JEAAAJ","timestamp":"2025-10-04T20:52:13.246Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9SQAeawRS43qEBusAAAL","timestamp":"2025-10-04T20:52:13.311Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 9SQAeawRS43qEBusAAAL","timestamp":"2025-10-04T20:52:13.311Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:52:13.464Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:52:13.465Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:52:13.583Z"} {"level":"info","message":"Client disconnected: LMMi-sL74fTSV7JEAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T20:52:18.965Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zA4NrsTgNlctiGsJAAAN","timestamp":"2025-10-04T20:52:50.799Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T20:52:50.804Z"} {"level":"info","message":"Client disconnected: 6RUAUNrzR3xx4ZTUAAAF, reason: transport close","timestamp":"2025-10-04T20:52:54.228Z"} {"level":"info","message":"Client disconnected: zA4NrsTgNlctiGsJAAAN, reason: transport close","timestamp":"2025-10-04T20:52:54.229Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T20:52:54.229Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T20:52:54.229Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: elNymmCfPXLrI479AAAP","timestamp":"2025-10-04T20:52:54.370Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 5HlYMa_DGoQhkh6DAAAR","timestamp":"2025-10-04T20:52:58.531Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-04T20:52:58.535Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T20:53:02.640Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T20:53:02.640Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T20:53:03.924Z"} {"level":"info","message":"Client disconnected: elNymmCfPXLrI479AAAP, reason: transport close","timestamp":"2025-10-04T20:53:08.206Z"} {"level":"info","message":"Client disconnected: 5HlYMa_DGoQhkh6DAAAR, reason: transport close","timestamp":"2025-10-04T20:53:08.207Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: demo-operator-001","timestamp":"2025-10-04T20:53:08.207Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator demo-operator-001","timestamp":"2025-10-04T20:53:08.207Z"} {"address":"127.0.0.1","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: CRcyI2PFmLWM67bwAAAB","timestamp":"2025-10-04T20:53:08.265Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: CRcyI2PFmLWM67bwAAAB, reason: transport close","timestamp":"2025-10-04T20:53:26.503Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: XtHTxvQOZ9xcOwlKAAAD","timestamp":"2025-10-04T20:53:44.292Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: XtHTxvQOZ9xcOwlKAAAD, reason: transport close","timestamp":"2025-10-04T20:53:46.086Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Cl3nNNsPe-39IOkyAAAF","timestamp":"2025-10-04T20:53:46.142Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: Cl3nNNsPe-39IOkyAAAF, reason: transport close","timestamp":"2025-10-04T20:53:46.729Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: gFZsXWu8O-Co2mnHAAAH","timestamp":"2025-10-04T20:53:46.779Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: AlUeSp3_iU5CGHtpAAAJ","timestamp":"2025-10-04T20:53:49.754Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: AlUeSp3_iU5CGHtpAAAJ","timestamp":"2025-10-04T20:53:49.754Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:53:49.826Z"} {"level":"info","message":"Client disconnected: gFZsXWu8O-Co2mnHAAAH, reason: transport close","timestamp":"2025-10-04T20:53:53.502Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Gge_W9qvgxyf_WXAAAAL","timestamp":"2025-10-04T20:53:53.559Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: Gge_W9qvgxyf_WXAAAAL, reason: transport close","timestamp":"2025-10-04T20:53:57.885Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3I9sd6UNYuV4SV-XAAAN","timestamp":"2025-10-04T20:53:57.941Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: 3I9sd6UNYuV4SV-XAAAN, reason: transport close","timestamp":"2025-10-04T20:53:59.302Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: kAEkV8SRvM69yvu3AAAP","timestamp":"2025-10-04T20:53:59.356Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: AlUeSp3_iU5CGHtpAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T20:54:01.408Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: kDgssWqS84-nIkPXAAAR","timestamp":"2025-10-04T20:54:02.114Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: kDgssWqS84-nIkPXAAAR","timestamp":"2025-10-04T20:54:02.114Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:54:02.139Z"} {"level":"info","message":"Client disconnected: h6AFFt3pNCPQf_o6AAAD, reason: client namespace disconnect","timestamp":"2025-10-04T20:54:15.902Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:54:15.902Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:54:15.902Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zZeFBKCbtzFlr1GXAAAT","timestamp":"2025-10-04T20:54:18.179Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:54:18.181Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Hyjt3CmQS2xU89iXAAAV","timestamp":"2025-10-04T20:54:21.859Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T20:54:21.863Z"} {"level":"info","message":"📱 Devices list requested by socket zZeFBKCbtzFlr1GXAAAT","timestamp":"2025-10-04T20:54:21.865Z"} {"level":"info","message":"📱 Sending 1 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:54:21.865Z"} {"level":"info","message":"📷 Camera request received from operator socket zZeFBKCbtzFlr1GXAAAT","timestamp":"2025-10-04T20:54:27.782Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T20:54:27.783Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T20:54:27.783Z"} {"level":"info","message":"📷 Operator IDs: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:54:27.783Z"} {"level":"info","message":"✅ Operator found: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:54:27.783Z"} {"level":"info","message":"🔗 Initiating connection: 2e52cdd6-d21c-467f-88c1-757aac713bc4 -> demo-device-001 (back)","timestamp":"2025-10-04T20:54:27.783Z"} {"level":"info","message":"🆔 Generated connectionId: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:27.784Z"} {"level":"info","message":"💾 Saving connection request: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:27.784Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T20:54:27.784Z"} {"level":"info","message":"💾 All request IDs: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:27.784Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T20:54:27.784Z"} {"level":"info","message":"✅ Connection request created: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:27.785Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T20:54:27.785Z"} {"level":"info","message":"✅ Connection initiated: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:27.785Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=0dc48465-7394-4820-937c-a09b12c3a93e, accepted=true","timestamp":"2025-10-04T20:54:32.934Z"} {"level":"info","message":"🔍 Looking for connection request: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:32.934Z"} {"level":"info","message":"🔍 Available connection requests: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:32.934Z"} {"level":"info","message":"✅ Connection established: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:32.935Z"} {"level":"info","message":"✅ Connection accepted: 0dc48465-7394-4820-937c-a09b12c3a93e","timestamp":"2025-10-04T20:54:32.935Z"} {"level":"info","message":"Client disconnected: kDgssWqS84-nIkPXAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T20:55:36.129Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 1d_IC2ZyQogNzFurAAAX","timestamp":"2025-10-04T20:55:38.053Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 1d_IC2ZyQogNzFurAAAX","timestamp":"2025-10-04T20:55:38.053Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:55:38.087Z"} {"level":"info","message":"Client disconnected: 1d_IC2ZyQogNzFurAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T20:55:39.904Z"} {"level":"info","message":"Client disconnected: 9ZtREOsPFX2NTZ8XAAAH, reason: transport close","timestamp":"2025-10-04T20:56:01.296Z"} {"level":"info","message":"Client disconnected: -GupOp-aUmul-tIHAAAF, reason: transport close","timestamp":"2025-10-04T20:56:01.296Z"} {"level":"info","message":"Client disconnected: 9SQAeawRS43qEBusAAAL, reason: forced close","timestamp":"2025-10-04T20:56:01.297Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: e-DGZT97QTt5dJ0uAAAa","timestamp":"2025-10-04T20:58:34.834Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: e-DGZT97QTt5dJ0uAAAa","timestamp":"2025-10-04T20:58:34.835Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 3XmQgMYfyx62o--MAAAb","timestamp":"2025-10-04T20:58:34.859Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 3XmQgMYfyx62o--MAAAb","timestamp":"2025-10-04T20:58:34.859Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: NeWZhHHHf-HxmxU9AAAd","timestamp":"2025-10-04T20:58:36.247Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: NeWZhHHHf-HxmxU9AAAd","timestamp":"2025-10-04T20:58:36.247Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:58:36.841Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:58:36.842Z"} {"androidVersion":"9","appVersion":"1.0.0","deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","level":"info","message":"📱 Android event: device-info","timestamp":"2025-10-04T20:58:36.911Z"} {"level":"info","message":"Client disconnected: e-DGZT97QTt5dJ0uAAAa, reason: client namespace disconnect","timestamp":"2025-10-04T20:58:39.064Z"} {"level":"info","message":"Client disconnected: zZeFBKCbtzFlr1GXAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T20:58:55.197Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:58:55.197Z"} {"level":"info","message":"🔌 Connection terminated: 0dc48465-7394-4820-937c-a09b12c3a93e - Operator disconnected","timestamp":"2025-10-04T20:58:55.198Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:58:55.198Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: uTcr05PbQgfvWdQGAAAf","timestamp":"2025-10-04T20:58:56.034Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:58:56.035Z"} {"level":"info","message":"📷 Camera request received from operator socket uTcr05PbQgfvWdQGAAAf","timestamp":"2025-10-04T20:58:58.030Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"📷 Operator IDs: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"✅ Operator found: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"🔗 Initiating connection: 2e52cdd6-d21c-467f-88c1-757aac713bc4 -> demo-device-001 (back)","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"🆔 Generated connectionId: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"💾 Saving connection request: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"💾 All request IDs: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T20:58:58.030Z"} {"level":"info","message":"✅ Connection request created: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:58:58.031Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T20:58:58.031Z"} {"level":"info","message":"✅ Connection initiated: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:58:58.031Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=292bee76-7ab0-493f-81d6-d629361267d6, accepted=true","timestamp":"2025-10-04T20:59:00.293Z"} {"level":"info","message":"🔍 Looking for connection request: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:59:00.294Z"} {"level":"info","message":"🔍 Available connection requests: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:59:00.294Z"} {"level":"info","message":"✅ Connection established: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:59:00.294Z"} {"level":"info","message":"✅ Connection accepted: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:59:00.294Z"} {"level":"info","message":"Camera session ended: 292bee76-7ab0-493f-81d6-d629361267d6","timestamp":"2025-10-04T20:59:12.062Z"} {"level":"info","message":"Client disconnected: Hyjt3CmQS2xU89iXAAAV, reason: client namespace disconnect","timestamp":"2025-10-04T20:59:14.773Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T20:59:14.774Z"} {"level":"info","message":"🔌 Connection terminated: 292bee76-7ab0-493f-81d6-d629361267d6 - Device disconnected","timestamp":"2025-10-04T20:59:14.774Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device demo-device-001","timestamp":"2025-10-04T20:59:14.774Z"} {"level":"info","message":"📱 Devices list requested by socket uTcr05PbQgfvWdQGAAAf","timestamp":"2025-10-04T20:59:14.776Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T20:59:14.776Z"} {"level":"info","message":"Client disconnected: NeWZhHHHf-HxmxU9AAAd, reason: transport close","timestamp":"2025-10-04T21:19:49.546Z"} {"level":"info","message":"Client disconnected: 3XmQgMYfyx62o--MAAAb, reason: transport close","timestamp":"2025-10-04T21:19:49.546Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: _TD66li0Lm-PCm5xAAAi","timestamp":"2025-10-04T21:20:02.667Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: _TD66li0Lm-PCm5xAAAi","timestamp":"2025-10-04T21:20:02.668Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 2F3GizSMjo3uwnk0AAAj","timestamp":"2025-10-04T21:20:02.691Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 2F3GizSMjo3uwnk0AAAj","timestamp":"2025-10-04T21:20:02.691Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Iea5ANMIqb1jQoNHAAAl","timestamp":"2025-10-04T21:20:04.113Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Iea5ANMIqb1jQoNHAAAl","timestamp":"2025-10-04T21:20:04.114Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759612804462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759612804462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759612804462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759612804462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759612804462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759612804469} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759612804469} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759612804469} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759612804469} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759612804469} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759612804554} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759612804554} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759612804554} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759612804554} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759612804554} {"level":"info","message":"Client disconnected: uTcr05PbQgfvWdQGAAAf, reason: client namespace disconnect","timestamp":"2025-10-04T21:20:11.998Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:11.998Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:11.998Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: HawGMssJzcyJLgqOAAAn","timestamp":"2025-10-04T21:20:12.434Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:12.435Z"} {"level":"info","message":"Client disconnected: 2F3GizSMjo3uwnk0AAAj, reason: client namespace disconnect","timestamp":"2025-10-04T21:20:15.175Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: mFdkd8d1RQdYbNm3AAAp","timestamp":"2025-10-04T21:20:16.159Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: mFdkd8d1RQdYbNm3AAAp","timestamp":"2025-10-04T21:20:16.160Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759612816061} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759612816061} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759612816061} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759612816061} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759612816061} {"level":"info","message":"Client disconnected: HawGMssJzcyJLgqOAAAn, reason: client namespace disconnect","timestamp":"2025-10-04T21:20:18.526Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:18.526Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:18.526Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: dP3_ZHJKt-hkTsB5AAAr","timestamp":"2025-10-04T21:20:19.738Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:19.739Z"} {"level":"info","message":"Client disconnected: mFdkd8d1RQdYbNm3AAAp, reason: client namespace disconnect","timestamp":"2025-10-04T21:20:21.241Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: sfHlerAs3LfGSaiJAAAt","timestamp":"2025-10-04T21:20:28.901Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: sfHlerAs3LfGSaiJAAAt","timestamp":"2025-10-04T21:20:28.902Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759612828772} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759612828772} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759612828772} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759612828772} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759612828772} {"level":"info","message":"Client disconnected: dP3_ZHJKt-hkTsB5AAAr, reason: client namespace disconnect","timestamp":"2025-10-04T21:20:31.134Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:31.134Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:31.134Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: R8Adz-kMRj-2zbv3AAAv","timestamp":"2025-10-04T21:20:31.810Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:20:31.811Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612834565} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612834565} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612834565} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612858776} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612858776} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612858776} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612864574} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612864574} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612864574} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612888781} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612888781} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612888781} {"level":"info","message":"Client disconnected: sfHlerAs3LfGSaiJAAAt, reason: client namespace disconnect","timestamp":"2025-10-04T21:21:29.352Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612894582} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612894582} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612894582} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612924588} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612924588} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612924588} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612954600} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612954600} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612954600} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759612984608} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759612984608} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759612984608} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613014620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613014620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613014620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613044630} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613044630} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613044630} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613074637} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613074637} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613074637} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 9mnqe9o49Qfo3o2VAAAx","timestamp":"2025-10-04T21:24:53.286Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 9mnqe9o49Qfo3o2VAAAx","timestamp":"2025-10-04T21:24:53.286Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613093168} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613093168} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613093168} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613093168} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613093168} {"level":"info","message":"Client disconnected: R8Adz-kMRj-2zbv3AAAv, reason: client namespace disconnect","timestamp":"2025-10-04T21:25:01.886Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:25:01.886Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:25:01.887Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rYqzx6SLIbr_goGuAAAz","timestamp":"2025-10-04T21:25:02.539Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:25:02.540Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613104642} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613104642} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613104642} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613123174} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613123174} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613123174} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613134646} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613134646} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613134646} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T21:25:53.749Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: dSvIu0v6W1By9qp1AAAD","timestamp":"2025-10-04T21:25:54.398Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5hhjhoj6E7Zp3UVHAAAF","timestamp":"2025-10-04T21:25:54.408Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 5hhjhoj6E7Zp3UVHAAAF","timestamp":"2025-10-04T21:25:54.409Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: xHaSAUwvOfUdveotAAAG","timestamp":"2025-10-04T21:25:54.427Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: xHaSAUwvOfUdveotAAAG","timestamp":"2025-10-04T21:25:54.427Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: lqPsbWF56QVB7tORAAAH","timestamp":"2025-10-04T21:25:54.443Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: lqPsbWF56QVB7tORAAAH","timestamp":"2025-10-04T21:25:54.443Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613154298} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613153185} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613153185} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613153185} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613154329} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613154329} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613154329} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613154329} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613154329} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613154298} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613154298} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613154298} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613154298} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613154391} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613154391} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613154391} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613154391} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613154391} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9ZM9m182Wrr1eJ5jAAAJ","timestamp":"2025-10-04T21:25:55.883Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:25:55.885Z"} {"level":"info","message":"Client disconnected: 9ZM9m182Wrr1eJ5jAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T21:26:13.055Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:26:13.056Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:26:13.056Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2FDC4qfsX6GrECMzAAAL","timestamp":"2025-10-04T21:26:14.747Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:26:14.748Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613184306} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613184306} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613184306} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613184401} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613184401} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613184401} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613214316} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613214316} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613214316} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613214412} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613214412} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613214412} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613244326} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613244326} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613244326} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613244424} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613244424} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613244424} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613274336} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613274336} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613274336} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613274432} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613274432} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613274432} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613304345} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613304345} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613304345} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613304442} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613304442} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613304442} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613334353} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613334353} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613334353} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613334453} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613334453} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613334453} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613364363} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613364363} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613364363} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613364462} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613364462} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613364462} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613394371} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613394371} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613394371} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613394468} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613394468} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613394468} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613424381} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613424381} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613424381} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613424479} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613424479} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613424479} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613454389} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613454389} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613454389} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613454489} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613454489} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613454489} {"level":"info","message":"Client disconnected: 5hhjhoj6E7Zp3UVHAAAF, reason: transport close","timestamp":"2025-10-04T21:30:59.431Z"} {"level":"info","message":"Client disconnected: lqPsbWF56QVB7tORAAAH, reason: transport close","timestamp":"2025-10-04T21:30:59.432Z"} {"level":"info","message":"Client disconnected: xHaSAUwvOfUdveotAAAG, reason: transport close","timestamp":"2025-10-04T21:30:59.432Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: roUUuCxI91BY7YFrAAAO","timestamp":"2025-10-04T21:31:34.563Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: roUUuCxI91BY7YFrAAAO","timestamp":"2025-10-04T21:31:34.563Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 2e0IKnxwKeaUg5SiAAAP","timestamp":"2025-10-04T21:31:34.582Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 2e0IKnxwKeaUg5SiAAAP","timestamp":"2025-10-04T21:31:34.582Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: CzPQAhqGSGI1hLA7AAAR","timestamp":"2025-10-04T21:31:35.990Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: CzPQAhqGSGI1hLA7AAAR","timestamp":"2025-10-04T21:31:35.990Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613496255} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613496255} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613496255} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613496255} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613496255} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613496258} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613496258} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613496258} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613496258} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613496258} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613496352} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613496352} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613496352} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613496352} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613496352} {"level":"info","message":"Client disconnected: 2FDC4qfsX6GrECMzAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T21:31:38.775Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:31:38.775Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:31:38.775Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: FX40TS6y2fSKfk3mAAAT","timestamp":"2025-10-04T21:31:39.523Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:31:39.524Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Hqn6L6z6I2RWT2HKAAAV","timestamp":"2025-10-04T21:31:55.149Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T21:31:55.153Z"} {"level":"info","message":"📱 Devices list requested by socket FX40TS6y2fSKfk3mAAAT","timestamp":"2025-10-04T21:31:55.155Z"} {"level":"info","message":"📱 Sending 1 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:31:55.156Z"} {"level":"info","message":"📷 Camera request received from operator socket FX40TS6y2fSKfk3mAAAT","timestamp":"2025-10-04T21:31:57.456Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T21:31:57.456Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T21:31:57.456Z"} {"level":"info","message":"📷 Operator IDs: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:31:57.456Z"} {"level":"info","message":"✅ Operator found: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:31:57.456Z"} {"level":"info","message":"🔗 Initiating connection: 2e52cdd6-d21c-467f-88c1-757aac713bc4 -> demo-device-001 (back)","timestamp":"2025-10-04T21:31:57.456Z"} {"level":"info","message":"🆔 Generated connectionId: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"💾 Saving connection request: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"💾 All request IDs: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"✅ Connection request created: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"✅ Connection initiated: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:57.457Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=beaa757b-b21e-4e97-9951-91cbdabd16e8, accepted=true","timestamp":"2025-10-04T21:31:59.432Z"} {"level":"info","message":"🔍 Looking for connection request: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:59.432Z"} {"level":"info","message":"🔍 Available connection requests: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:59.432Z"} {"level":"info","message":"✅ Connection established: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:59.432Z"} {"level":"info","message":"✅ Connection accepted: beaa757b-b21e-4e97-9951-91cbdabd16e8","timestamp":"2025-10-04T21:31:59.432Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613526269} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613526269} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613526269} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613526361} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613526361} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613526361} {"level":"info","message":"Client disconnected: Hqn6L6z6I2RWT2HKAAAV, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:07.343Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T21:32:07.344Z"} {"level":"info","message":"🔌 Connection terminated: beaa757b-b21e-4e97-9951-91cbdabd16e8 - Device disconnected","timestamp":"2025-10-04T21:32:07.345Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device demo-device-001","timestamp":"2025-10-04T21:32:07.345Z"} {"level":"info","message":"📱 Devices list requested by socket FX40TS6y2fSKfk3mAAAT","timestamp":"2025-10-04T21:32:07.347Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:07.347Z"} {"level":"info","message":"📱 Devices list requested by socket FX40TS6y2fSKfk3mAAAT","timestamp":"2025-10-04T21:32:22.159Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:22.159Z"} {"level":"info","message":"Client disconnected: FX40TS6y2fSKfk3mAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:23.743Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:23.743Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:23.743Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: JErWOG0aQPbhjqtjAAAX","timestamp":"2025-10-04T21:32:24.203Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:24.205Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: RFr24Gylm_fMzbdiAAAZ","timestamp":"2025-10-04T21:32:27.882Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T21:32:27.888Z"} {"level":"info","message":"📱 Devices list requested by socket JErWOG0aQPbhjqtjAAAX","timestamp":"2025-10-04T21:32:27.889Z"} {"level":"info","message":"📱 Sending 1 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:27.890Z"} {"level":"info","message":"📷 Camera request received from operator socket JErWOG0aQPbhjqtjAAAX","timestamp":"2025-10-04T21:32:31.807Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T21:32:31.807Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T21:32:31.807Z"} {"level":"info","message":"📷 Operator IDs: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:31.807Z"} {"level":"info","message":"✅ Operator found: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:31.807Z"} {"level":"info","message":"🔗 Initiating connection: 2e52cdd6-d21c-467f-88c1-757aac713bc4 -> demo-device-001 (back)","timestamp":"2025-10-04T21:32:31.807Z"} {"level":"info","message":"🆔 Generated connectionId: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"💾 Saving connection request: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"💾 All request IDs: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"✅ Connection request created: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"✅ Connection initiated: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:31.808Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=434a8ec6-b225-4c91-8423-a6d33054f31d, accepted=true","timestamp":"2025-10-04T21:32:33.138Z"} {"level":"info","message":"🔍 Looking for connection request: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:33.139Z"} {"level":"info","message":"🔍 Available connection requests: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:33.139Z"} {"level":"info","message":"✅ Connection established: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:33.139Z"} {"level":"info","message":"✅ Connection accepted: 434a8ec6-b225-4c91-8423-a6d33054f31d","timestamp":"2025-10-04T21:32:33.140Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613556278} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613556278} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613556278} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613556371} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613556371} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613556371} {"level":"info","message":"Client disconnected: roUUuCxI91BY7YFrAAAO, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:39.645Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ZbagoJhm6C-zIbwsAAAb","timestamp":"2025-10-04T21:32:40.669Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ZbagoJhm6C-zIbwsAAAb","timestamp":"2025-10-04T21:32:40.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613560603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613560603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613560603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613560603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613560603} {"level":"info","message":"Client disconnected: JErWOG0aQPbhjqtjAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:42.151Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:42.151Z"} {"level":"info","message":"🔌 Connection terminated: 434a8ec6-b225-4c91-8423-a6d33054f31d - Operator disconnected","timestamp":"2025-10-04T21:32:42.151Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:42.151Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: kIbCsEskRvPfYx9AAAAd","timestamp":"2025-10-04T21:32:42.764Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:42.766Z"} {"level":"info","message":"📷 Camera request received from operator socket kIbCsEskRvPfYx9AAAAd","timestamp":"2025-10-04T21:32:46.247Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"📷 Operator IDs: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"✅ Operator found: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"🔗 Initiating connection: 2e52cdd6-d21c-467f-88c1-757aac713bc4 -> demo-device-001 (back)","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"🆔 Generated connectionId: 7d35bbd3-82c9-461a-9c60-b56e77af733e","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"💾 Saving connection request: 7d35bbd3-82c9-461a-9c60-b56e77af733e","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"💾 All request IDs: 7d35bbd3-82c9-461a-9c60-b56e77af733e","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"✅ Connection request created: 7d35bbd3-82c9-461a-9c60-b56e77af733e","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T21:32:46.248Z"} {"level":"info","message":"✅ Connection initiated: 7d35bbd3-82c9-461a-9c60-b56e77af733e","timestamp":"2025-10-04T21:32:46.249Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=7d35bbd3-82c9-461a-9c60-b56e77af733e, accepted=false","timestamp":"2025-10-04T21:32:49.655Z"} {"level":"info","message":"❌ Connection rejected: 7d35bbd3-82c9-461a-9c60-b56e77af733e - Пользователь отклонил запрос","timestamp":"2025-10-04T21:32:49.655Z"} {"level":"info","message":"❌ Connection rejected: sessionId=7d35bbd3-82c9-461a-9c60-b56e77af733e, error=Пользователь отклонил запрос","timestamp":"2025-10-04T21:32:49.656Z"} {"level":"info","message":"Client disconnected: kIbCsEskRvPfYx9AAAAd, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:51.959Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:51.959Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:51.959Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: M8TQOAyg0-Y0D2LjAAAf","timestamp":"2025-10-04T21:32:52.475Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:52.476Z"} {"level":"info","message":"Client disconnected: RFr24Gylm_fMzbdiAAAZ, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:54.647Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T21:32:54.647Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T21:32:54.647Z"} {"level":"info","message":"📱 Devices list requested by socket M8TQOAyg0-Y0D2LjAAAf","timestamp":"2025-10-04T21:32:54.648Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:54.648Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: KFDS3kbFLpwEN5tzAAAh","timestamp":"2025-10-04T21:32:55.339Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T21:32:55.343Z"} {"level":"info","message":"📱 Devices list requested by socket M8TQOAyg0-Y0D2LjAAAf","timestamp":"2025-10-04T21:32:55.344Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:55.344Z"} {"level":"info","message":"Client disconnected: ZbagoJhm6C-zIbwsAAAb, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:56.876Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: iEKNoKNi87ZgahLiAAAj","timestamp":"2025-10-04T21:32:57.643Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: iEKNoKNi87ZgahLiAAAj","timestamp":"2025-10-04T21:32:57.643Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613577550} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613577550} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613577550} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613577550} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613577550} {"level":"info","message":"Client disconnected: M8TQOAyg0-Y0D2LjAAAf, reason: client namespace disconnect","timestamp":"2025-10-04T21:32:59.158Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:59.159Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:32:59.159Z"} {"level":"info","message":"Client disconnected: KFDS3kbFLpwEN5tzAAAh, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:02.719Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T21:33:02.719Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T21:33:02.719Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: CQdoOW4KMx6r_OgMAAAl","timestamp":"2025-10-04T21:33:04.850Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:04.851Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613586381} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613586381} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613586381} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -FgyXVoVYyCorJY_AAAn","timestamp":"2025-10-04T21:33:06.572Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T21:33:06.575Z"} {"level":"info","message":"📱 Devices list requested by socket CQdoOW4KMx6r_OgMAAAl","timestamp":"2025-10-04T21:33:06.577Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:06.577Z"} {"level":"info","message":"Client disconnected: CQdoOW4KMx6r_OgMAAAl, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:07.990Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:07.991Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:07.991Z"} {"level":"info","message":"Client disconnected: -FgyXVoVYyCorJY_AAAn, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:10.320Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T21:33:10.320Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T21:33:10.320Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: W2HQDCoN4fyHP0TwAAAp","timestamp":"2025-10-04T21:33:10.963Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T21:33:10.967Z"} {"level":"info","message":"Client disconnected: iEKNoKNi87ZgahLiAAAj, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:11.618Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: BCmSdYPx5UA0iiEAAAAr","timestamp":"2025-10-04T21:33:12.459Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: BCmSdYPx5UA0iiEAAAAr","timestamp":"2025-10-04T21:33:12.459Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613592359} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613592359} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613592359} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613592359} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613592359} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: W3PRpwyqCx4nc-D_AAAt","timestamp":"2025-10-04T21:33:13.626Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:13.627Z"} {"level":"info","message":"Client disconnected: W2HQDCoN4fyHP0TwAAAp, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:15.879Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T21:33:15.879Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device demo-device-001","timestamp":"2025-10-04T21:33:15.879Z"} {"level":"info","message":"📱 Devices list requested by socket W3PRpwyqCx4nc-D_AAAt","timestamp":"2025-10-04T21:33:15.880Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:15.880Z"} {"level":"info","message":"Client disconnected: W3PRpwyqCx4nc-D_AAAt, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:17.366Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:17.367Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:17.367Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9cdCmnEYYDibhMYeAAAv","timestamp":"2025-10-04T21:33:17.868Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:17.868Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9pqybFa0ZeK9tI9nAAAx","timestamp":"2025-10-04T21:33:18.954Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T21:33:18.958Z"} {"level":"info","message":"📱 Devices list requested by socket 9cdCmnEYYDibhMYeAAAv","timestamp":"2025-10-04T21:33:18.960Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:18.960Z"} {"level":"info","message":"Client disconnected: 9cdCmnEYYDibhMYeAAAv, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:21.646Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:21.647Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:21.647Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1bqUPsplWAz_57ARAAAz","timestamp":"2025-10-04T21:33:22.362Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:22.363Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T21:33:25.326Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T21:33:37.999Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: -LM8tJCjjqF6L6iRAAAB","timestamp":"2025-10-04T21:33:38.045Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:38.047Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: t_9TIZKrGYH2Z3AuAAAD","timestamp":"2025-10-04T21:33:39.388Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-04T21:33:39.396Z"} {"level":"info","message":"📱 Devices list requested by socket -LM8tJCjjqF6L6iRAAAB","timestamp":"2025-10-04T21:33:39.399Z"} {"level":"info","message":"📱 Sending 1 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:39.399Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: nmZ0lwC-6NO6B-nPAAAF","timestamp":"2025-10-04T21:33:39.696Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: nmZ0lwC-6NO6B-nPAAAF","timestamp":"2025-10-04T21:33:39.696Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613619585} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613619585} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613619585} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613619585} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613619585} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Qf7wepnVSWtnYTgiAAAH","timestamp":"2025-10-04T21:33:41.386Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5BcY1K_OntSI4cLGAAAL","timestamp":"2025-10-04T21:33:41.692Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 5BcY1K_OntSI4cLGAAAL","timestamp":"2025-10-04T21:33:41.692Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Rbuur_tRG7lKLif5AAAM","timestamp":"2025-10-04T21:33:41.708Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Rbuur_tRG7lKLif5AAAM","timestamp":"2025-10-04T21:33:41.708Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 4aefCHD7gwZ3xve-AAAN","timestamp":"2025-10-04T21:33:41.722Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 4aefCHD7gwZ3xve-AAAN","timestamp":"2025-10-04T21:33:41.722Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613616391} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613621603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613621603} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613616391} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613616391} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613621590} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613621590} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613621590} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613621590} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613621590} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613621603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613621603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613621603} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613621606} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613621606} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613621606} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613621606} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613621606} {"level":"info","message":"Client disconnected: -LM8tJCjjqF6L6iRAAAB, reason: client namespace disconnect","timestamp":"2025-10-04T21:33:42.151Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:42.152Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:42.152Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: obmgBu3g7SZ1jI9jAAAP","timestamp":"2025-10-04T21:33:42.644Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:42.645Z"} {"level":"info","message":"📷 Camera request received from operator socket obmgBu3g7SZ1jI9jAAAP","timestamp":"2025-10-04T21:33:44.239Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T21:33:44.240Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T21:33:44.240Z"} {"level":"info","message":"📷 Operator IDs: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:44.240Z"} {"level":"info","message":"✅ Operator found: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:33:44.240Z"} {"level":"info","message":"🔗 Initiating connection: 2e52cdd6-d21c-467f-88c1-757aac713bc4 -> demo-device-001 (back)","timestamp":"2025-10-04T21:33:44.240Z"} {"level":"info","message":"🆔 Generated connectionId: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:44.241Z"} {"level":"info","message":"💾 Saving connection request: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:44.241Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T21:33:44.241Z"} {"level":"info","message":"💾 All request IDs: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:44.241Z"} {"level":"info","message":"📱 Sending camera:request to Android device demo-device-001","timestamp":"2025-10-04T21:33:44.241Z"} {"level":"info","message":"✅ Connection request created: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:44.241Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T21:33:44.241Z"} {"level":"info","message":"✅ Connection initiated: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:44.242Z"} {"level":"info","message":"📱 Camera response received from Android: sessionId=a4959fea-e870-44ca-a58f-55c18608bc6b, accepted=true","timestamp":"2025-10-04T21:33:50.727Z"} {"level":"info","message":"🔍 Looking for connection request: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:50.728Z"} {"level":"info","message":"🔍 Available connection requests: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:50.728Z"} {"level":"info","message":"✅ Connection established: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:50.728Z"} {"level":"info","message":"✅ Connection accepted: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:33:50.729Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613651599} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613651599} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613651599} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613651620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613651620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613651620} {"level":"info","message":"Camera session ended: a4959fea-e870-44ca-a58f-55c18608bc6b","timestamp":"2025-10-04T21:34:40.815Z"} {"level":"info","message":"Client disconnected: t_9TIZKrGYH2Z3AuAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T21:34:41.510Z"} {"level":"info","message":"🧹 Cleaning up connections for device: demo-device-001","timestamp":"2025-10-04T21:34:41.511Z"} {"level":"info","message":"🔌 Connection terminated: a4959fea-e870-44ca-a58f-55c18608bc6b - Device disconnected","timestamp":"2025-10-04T21:34:41.511Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device demo-device-001","timestamp":"2025-10-04T21:34:41.511Z"} {"level":"info","message":"📱 Devices list requested by socket obmgBu3g7SZ1jI9jAAAP","timestamp":"2025-10-04T21:34:41.514Z"} {"level":"info","message":"📱 Sending 0 devices to operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:34:41.514Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613681608} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613681627} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613681608} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613681627} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613681608} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613681627} {"level":"info","message":"Client disconnected: nmZ0lwC-6NO6B-nPAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T21:35:01.197Z"} {"level":"info","message":"Client disconnected: obmgBu3g7SZ1jI9jAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T21:35:04.159Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:35:04.159Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:35:04.159Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613711620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613711620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613711620} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613741630} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613741630} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613741630} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613771640} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613771640} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613771640} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613801651} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613801651} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613801651} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613831662} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613831662} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613831662} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: EZ173xh8dzYRNM5TAAAR","timestamp":"2025-10-04T21:37:34.761Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: EZ173xh8dzYRNM5TAAAR","timestamp":"2025-10-04T21:37:34.761Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613854662} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613854662} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613854662} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613854662} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613854662} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rZ4XmCb1QRpeo-7xAAAT","timestamp":"2025-10-04T21:37:38.341Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:37:38.342Z"} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613861671} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613861671} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613861671} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613884668} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613884668} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613884668} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613891678} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613891678} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613891678} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613914679} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613914679} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613914679} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613921686} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613921686} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613921686} {"level":"info","message":"Client disconnected: EZ173xh8dzYRNM5TAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T21:38:42.202Z"} {"level":"info","message":"Client disconnected: 5BcY1K_OntSI4cLGAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T21:38:42.280Z"} {"level":"info","message":"Client disconnected: Rbuur_tRG7lKLif5AAAM, reason: transport close","timestamp":"2025-10-04T21:38:50.493Z"} {"level":"info","message":"Client disconnected: 4aefCHD7gwZ3xve-AAAN, reason: transport close","timestamp":"2025-10-04T21:38:50.494Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: OtoPqSDs5lV_WEOZAAAW","timestamp":"2025-10-04T21:39:05.694Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: OtoPqSDs5lV_WEOZAAAW","timestamp":"2025-10-04T21:39:05.695Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: JT2K2GucZLwFiQrwAAAX","timestamp":"2025-10-04T21:39:05.719Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: JT2K2GucZLwFiQrwAAAX","timestamp":"2025-10-04T21:39:05.719Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: jNd-GwmQc_a3mNBZAAAZ","timestamp":"2025-10-04T21:39:07.225Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: jNd-GwmQc_a3mNBZAAAZ","timestamp":"2025-10-04T21:39:07.225Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613947581} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613947581} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613947581} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613947581} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613947581} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759613947581} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759613947581} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613947588} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613947588} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613947588} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613947588} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613947588} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759613947588} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759613947588} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613947765} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613947765} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613947765} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613947765} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613947765} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759613947765} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759613947765} {"level":"info","message":"Client disconnected: rZ4XmCb1QRpeo-7xAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T21:39:12.655Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:39:12.655Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:39:12.655Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: MLWhDS1HhSslAqM5AAAb","timestamp":"2025-10-04T21:39:13.291Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:39:13.292Z"} {"level":"info","message":"Client disconnected: OtoPqSDs5lV_WEOZAAAW, reason: client namespace disconnect","timestamp":"2025-10-04T21:39:18.234Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: fAVJRkE-C4DSFIgiAAAd","timestamp":"2025-10-04T21:39:21.730Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: fAVJRkE-C4DSFIgiAAAd","timestamp":"2025-10-04T21:39:21.730Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759613961649} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759613961649} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759613961649} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759613961649} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759613961649} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759613961649} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759613961649} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613977775} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613977775} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613977775} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759613991657} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759613991657} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759613991657} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614007788} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614007788} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614007788} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614021668} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614021668} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614021668} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614037801} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614037801} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614037801} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614051675} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614051675} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614051675} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614067812} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614067812} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614067812} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614081685} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614081685} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614081685} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614097824} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614097824} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614097824} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614111698} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614111698} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614111698} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614127835} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614127835} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614127835} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614141711} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614141711} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614141711} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614157852} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614157852} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614157852} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614171725} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614171725} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614171725} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614187863} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614187863} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614187863} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614201736} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614201736} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614201736} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614217872} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614217872} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614217872} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614231752} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614231752} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614231752} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614247882} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614247882} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614247882} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614261760} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614261760} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614261760} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614277894} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614277894} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614277894} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614291768} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614291768} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614291768} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T21:45:19.912Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: iTdmZ1czB182LNM9AAAB","timestamp":"2025-10-04T21:45:21.664Z","userAgent":""} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: C7MYY74NuheFe8XtAAAD","timestamp":"2025-10-04T21:45:21.799Z","userAgent":""} {"level":"info","message":"Operator registered: 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:45:21.800Z"} {"level":"info","message":"Operator registered: 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:45:21.801Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rTD-FyQZR1j-mJW-AAAF","timestamp":"2025-10-04T21:45:22.428Z","userAgent":""} {"level":"info","message":"Operator registered: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:45:22.429Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 4oUuiNz5k7rS1-VLAAAH","timestamp":"2025-10-04T21:45:25.389Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"Client disconnected: rTD-FyQZR1j-mJW-AAAF, reason: transport close","timestamp":"2025-10-04T21:45:42.230Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:45:42.231Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2e52cdd6-d21c-467f-88c1-757aac713bc4","timestamp":"2025-10-04T21:45:42.231Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: iTsJHee1AZgBu1azAAAK","timestamp":"2025-10-04T21:47:10.516Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: iTsJHee1AZgBu1azAAAK","timestamp":"2025-10-04T21:47:10.516Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0sZpnewic2MaYdA4AAAL","timestamp":"2025-10-04T21:47:10.546Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 0sZpnewic2MaYdA4AAAL","timestamp":"2025-10-04T21:47:10.546Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: MF3Dz5cxkhz7DcauAAAN","timestamp":"2025-10-04T21:47:11.883Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: MF3Dz5cxkhz7DcauAAAN","timestamp":"2025-10-04T21:47:11.883Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614432165} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614432165} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614432165} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614432165} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614432165} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614432165} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614432165} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614432174} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614432174} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614432174} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614432174} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614432174} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614432174} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614432174} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614432294} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614432294} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614432294} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614432294} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614432294} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614432294} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614432294} {"level":"info","message":"Client disconnected: C7MYY74NuheFe8XtAAAD, reason: client namespace disconnect","timestamp":"2025-10-04T21:47:18.613Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:47:18.613Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:47:18.613Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Wix5PC-nafRWQ-GRAAAP","timestamp":"2025-10-04T21:47:19.784Z","userAgent":""} {"level":"info","message":"Operator registered: 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:47:19.785Z"} {"level":"info","message":"Client disconnected: 0sZpnewic2MaYdA4AAAL, reason: client namespace disconnect","timestamp":"2025-10-04T21:47:23.626Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 4xXwf4vabpOjhycxAAAR","timestamp":"2025-10-04T21:47:26.883Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 4xXwf4vabpOjhycxAAAR","timestamp":"2025-10-04T21:47:26.883Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614446814} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614446814} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614446814} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614446814} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614446814} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614446814} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"android_199ae8cd5d4","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614446814} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614462305} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614462305} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614462305} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614476821} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614476821} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614476821} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614492318} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614492318} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614492318} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614506834} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614506834} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614506834} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614522334} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614522334} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614522334} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614536850} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614536850} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614536850} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614552345} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614552345} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614552345} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614566860} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614566860} {"deviceId":"android_199ae8cd5d4","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614566860} {"level":"info","message":"Client disconnected: 4xXwf4vabpOjhycxAAAR, reason: transport close","timestamp":"2025-10-04T21:49:32.250Z"} {"level":"info","message":"Client disconnected: MF3Dz5cxkhz7DcauAAAN, reason: transport close","timestamp":"2025-10-04T21:49:32.251Z"} {"level":"info","message":"Client disconnected: iTsJHee1AZgBu1azAAAK, reason: transport close","timestamp":"2025-10-04T21:49:32.251Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: pVWdK_zoXAucfjRWAAAU","timestamp":"2025-10-04T21:49:45.499Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: pVWdK_zoXAucfjRWAAAU","timestamp":"2025-10-04T21:49:45.500Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ZBdHXqYg78yU1MUTAAAV","timestamp":"2025-10-04T21:49:45.590Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ZBdHXqYg78yU1MUTAAAV","timestamp":"2025-10-04T21:49:45.590Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: nfYslwZxhKDI0EA9AAAX","timestamp":"2025-10-04T21:49:46.747Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: nfYslwZxhKDI0EA9AAAX","timestamp":"2025-10-04T21:49:46.747Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614587141} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614587141} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614587141} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614587141} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614587141} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614587141} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614587141} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614587146} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614587249} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614587249} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614587249} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614587249} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614587249} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614587249} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614587146} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614587146} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614587146} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614587146} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614587146} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614587249} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614587146} {"level":"info","message":"Client disconnected: Wix5PC-nafRWQ-GRAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T21:50:01.582Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:50:01.582Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:50:01.582Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: Jc-yQGtxSgUgQIDXAAAZ","timestamp":"2025-10-04T21:50:02.111Z","userAgent":""} {"level":"info","message":"Operator registered: 2ef35918-5b64-4d58-9f5a-e59f0d17d241","timestamp":"2025-10-04T21:50:02.113Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T21:50:18.233Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: uLeK2LAy0IpG7w2sAAAB","timestamp":"2025-10-04T21:50:18.401Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 20qUNmnF7JCDE0prAAAF","timestamp":"2025-10-04T21:50:19.761Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 20qUNmnF7JCDE0prAAAF","timestamp":"2025-10-04T21:50:19.762Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.781Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.781Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:19.796Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:19.796Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614617162} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614617162} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614617162} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614619659} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614619659} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614619659} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614619659} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614619659} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614619659} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614619659} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614619683} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614619683} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614619683} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614619683} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614619683} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614619683} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614619683} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.891Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.891Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.891Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.895Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.897Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.899Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.899Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.899Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.899Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.900Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.900Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.902Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.902Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.903Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.903Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.903Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.903Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.904Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.904Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619659} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.904Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.904Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.905Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.905Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.905Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.906Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.907Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.908Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.909Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.909Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.909Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.909Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.910Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.910Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.910Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.910Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.910Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.910Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.910Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.911Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.911Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.911Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.911Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Handling Android registration for socket: Jtri6f0SIhClcb8TAAAG","timestamp":"2025-10-04T21:50:19.911Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619683} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:19.911Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.911Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Jtri6f0SIhClcb8TAAAG","status":"online","timestamp":"2025-10-04T21:50:19.912Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:19.912Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614617257} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614617257} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614617257} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614619852} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614619852} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614619852} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Handling Android registration for socket: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:20.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:20.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.024Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:20.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Handling Android registration for socket: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:20.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:20.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.025Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:20.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Handling Android registration for socket: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:20.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:20.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.026Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:20.026Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614619852} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Handling Android registration for socket: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:20.027Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:20.027Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.028Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.028Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:20.028Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614619852} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Handling Android registration for socket: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:20.032Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:20.032Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.032Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.032Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:20.032Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614619852} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Handling Android registration for socket: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:20.036Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:20.036Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.036Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.036Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:20.036Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614619852} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Handling Android registration for socket: g7wx8Cd_bL6L_1omAAAH","timestamp":"2025-10-04T21:50:20.038Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614619852} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:20.039Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.039Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"g7wx8Cd_bL6L_1omAAAH","status":"online","timestamp":"2025-10-04T21:50:20.039Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:50:20.039Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: NCR6fe9M1u3VN27rAAAJ","timestamp":"2025-10-04T21:50:28.624Z","userAgent":""} {"level":"info","message":"Operator registered: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:50:28.626Z"} {"level":"info","message":"📷 Camera request received from operator socket NCR6fe9M1u3VN27rAAAJ","timestamp":"2025-10-04T21:50:33.877Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T21:50:33.878Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T21:50:33.878Z"} {"level":"info","message":"📷 Operator IDs: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:50:33.878Z"} {"level":"info","message":"✅ Operator found: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:50:33.878Z"} {"level":"info","message":"🔗 Initiating connection: a0bfb344-461e-4fcc-83e7-6445f8665d64 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T21:50:33.879Z"} {"level":"info","message":"🆔 Generated connectionId: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.880Z"} {"level":"info","message":"💾 Saving connection request: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.880Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T21:50:33.880Z"} {"level":"info","message":"💾 All request IDs: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.880Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:50:33.880Z"} {"level":"info","message":"✅ Connection request created: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.881Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T21:50:33.881Z"} {"level":"info","message":"✅ Connection initiated: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.881Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"a0bfb344-461e-4fcc-83e7-6445f8665d64","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633840} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"a0bfb344-461e-4fcc-83e7-6445f8665d64","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633840} {"level":"info","message":"📱 Camera response received from Android: sessionId=f0ec0b44-2ed7-4295-9fe9-c09149f96be2, accepted=true","timestamp":"2025-10-04T21:50:33.996Z"} {"level":"info","message":"🔍 Looking for connection request: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.996Z"} {"level":"info","message":"🔍 Available connection requests: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.996Z"} {"level":"info","message":"✅ Connection established: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.996Z"} {"level":"info","message":"✅ Connection accepted: f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":"2025-10-04T21:50:33.996Z"} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 4886374016592938433 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:RAh5\r\na=ice-pwd:7YA+j8zou8MfrsiO8Ughizin\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F6:49:BC:FD:E6:44:CA:70:57:27:7D:2E:5E:34:B4:E3:9A:3B:6E:18:41:72:F4:CB:5F:E6:63:74:60:BE:01:F1\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1523192872 2241107160\r\na=ssrc:1523192872 cname:QI83f6TqacJQLWg6\r\na=ssrc:1523192872 msid:stream videoTrack\r\na=ssrc:2241107160 cname:QI83f6TqacJQLWg6\r\na=ssrc:2241107160 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:RAh5\r\na=ice-pwd:7YA+j8zou8MfrsiO8Ughizin\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F6:49:BC:FD:E6:44:CA:70:57:27:7D:2E:5E:34:B4:E3:9A:3B:6E:18:41:72:F4:CB:5F:E6:63:74:60:BE:01:F1\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2669625712 cname:QI83f6TqacJQLWg6\r\na=ssrc:2669625712 msid:stream audioTrack\r\n","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633905,"type":"webrtc-offer"} {"level":"info","message":"🔄 Android webrtc-offer received, forwarding as webrtc:offer:","offer":"v=0\r\no=- 4886374016592938433 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:RAh5\r\na=ice-pwd:7YA+j8zou8MfrsiO8Ughizin\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F6:49:BC:FD:E6:44:CA:70:57:27:7D:2E:5E:34:B4:E3:9A:3B:6E:18:41:72:F4:CB:5F:E6:63:74:60:BE:01:F1\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1523192872 2241107160\r\na=ssrc:1523192872 cname:QI83f6TqacJQLWg6\r\na=ssrc:1523192872 msid:stream videoTrack\r\na=ssrc:2241107160 cname:QI83f6TqacJQLWg6\r\na=ssrc:2241107160 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:RAh5\r\na=ice-pwd:7YA+j8zou8MfrsiO8Ughizin\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F6:49:BC:FD:E6:44:CA:70:57:27:7D:2E:5E:34:B4:E3:9A:3B:6E:18:41:72:F4:CB:5F:E6:63:74:60:BE:01:F1\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2669625712 cname:QI83f6TqacJQLWg6\r\na=ssrc:2669625712 msid:stream audioTrack\r\n","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633905,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 53297 typ host generation 0 ufrag RAh5 network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633995,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 53297 typ host generation 0 ufrag RAh5 network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633995,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 49904 typ host generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633996,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 49904 typ host generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614633996,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 38697 typ host generation 0 ufrag RAh5 network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634005,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 38697 typ host generation 0 ufrag RAh5 network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634005,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 34950 typ host generation 0 ufrag RAh5 network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634007,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 55476 typ host generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634008,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 34950 typ host generation 0 ufrag RAh5 network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634007,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 55476 typ host generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634008,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 42883 typ host generation 0 ufrag RAh5 network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634009,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 42883 typ host generation 0 ufrag RAh5 network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634009,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 49904 typ srflx raddr 192.168.219.109 rport 49904 generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634093,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 49904 typ srflx raddr 192.168.219.109 rport 49904 generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634093,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 55476 typ srflx raddr 192.168.219.109 rport 55476 generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634116,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 55476 typ srflx raddr 192.168.219.109 rport 55476 generation 0 ufrag RAh5 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"f0ec0b44-2ed7-4295-9fe9-c09149f96be2","timestamp":1759614634116,"type":"ice-candidate"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614649692} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614649692} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614649692} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614649862} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614649862} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614649862} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614679699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614679699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614679699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614679877} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614679877} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614679877} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614709716} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614709716} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614709716} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614709883} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614709883} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614709883} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614739723} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614739723} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614739723} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614739891} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614739891} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614739891} {"level":"info","message":"Client disconnected: Jtri6f0SIhClcb8TAAAG, reason: client namespace disconnect","timestamp":"2025-10-04T21:52:25.224Z"} {"level":"info","message":"Client disconnected: NCR6fe9M1u3VN27rAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T21:52:41.539Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:52:41.540Z"} {"level":"info","message":"🔌 Connection terminated: f0ec0b44-2ed7-4295-9fe9-c09149f96be2 - Operator disconnected","timestamp":"2025-10-04T21:52:41.540Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:52:41.540Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614769898} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614769898} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614769898} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.217Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.218Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614770181} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614770181} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614770181} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614770181} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614770181} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Handling Android registration for socket: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.383Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:50.383Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.383Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.383Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:52:50.383Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Handling Android registration for socket: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.384Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:50.384Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.384Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.384Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:52:50.384Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Handling Android registration for socket: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.385Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:50.385Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.385Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.385Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:52:50.385Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Handling Android registration for socket: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.385Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:50.386Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.386Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.386Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:52:50.386Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Handling Android registration for socket: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.386Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:50.386Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.386Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.387Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:52:50.387Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614770181} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614770181} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Handling Android registration for socket: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.389Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:50.389Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.389Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.390Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:52:50.390Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Handling Android registration for socket: AWrYGWNRJhnqTrB0AAAL","timestamp":"2025-10-04T21:52:50.390Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759614770181} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:50.390Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.390Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"AWrYGWNRJhnqTrB0AAAL","status":"online","timestamp":"2025-10-04T21:52:50.391Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T21:52:50.391Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DFTk_LjPfNF69LgGAAAN","timestamp":"2025-10-04T21:52:53.058Z","userAgent":""} {"level":"info","message":"Operator registered: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:52:53.059Z"} {"level":"info","message":"📷 Camera request received from operator socket DFTk_LjPfNF69LgGAAAN","timestamp":"2025-10-04T21:52:54.932Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T21:52:54.932Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T21:52:54.932Z"} {"level":"info","message":"📷 Operator IDs: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:52:54.932Z"} {"level":"info","message":"✅ Operator found: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:52:54.932Z"} {"level":"info","message":"🔗 Initiating connection: a0bfb344-461e-4fcc-83e7-6445f8665d64 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T21:52:54.932Z"} {"level":"info","message":"🆔 Generated connectionId: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.933Z"} {"level":"info","message":"💾 Saving connection request: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.933Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T21:52:54.933Z"} {"level":"info","message":"💾 All request IDs: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.933Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:52:54.933Z"} {"level":"info","message":"✅ Connection request created: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.933Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T21:52:54.933Z"} {"level":"info","message":"✅ Connection initiated: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.933Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"a0bfb344-461e-4fcc-83e7-6445f8665d64","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774809} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"a0bfb344-461e-4fcc-83e7-6445f8665d64","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774809} {"level":"info","message":"📱 Camera response received from Android: sessionId=3220bbd0-337f-4523-8064-e7f663d90b66, accepted=true","timestamp":"2025-10-04T21:52:54.974Z"} {"level":"info","message":"🔍 Looking for connection request: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.974Z"} {"level":"info","message":"🔍 Available connection requests: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.974Z"} {"level":"info","message":"✅ Connection established: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.974Z"} {"level":"info","message":"✅ Connection accepted: 3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":"2025-10-04T21:52:54.974Z"} {"level":"info","message":"📱 Android event: webrtc-offer","offer":"v=0\r\no=- 3447510594023965763 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ABaz\r\na=ice-pwd:U3Xim22GGC5/TtMsKEc50V6v\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 96:B5:9B:92:AF:CC:A9:AA:7E:7E:37:E8:54:30:BF:44:51:42:94:37:E3:18:7E:C7:6E:5D:E8:0D:41:9C:D7:0B\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2499839753 4155986126\r\na=ssrc:2499839753 cname:rIrJFm/XtTa0Qj+b\r\na=ssrc:2499839753 msid:stream videoTrack\r\na=ssrc:4155986126 cname:rIrJFm/XtTa0Qj+b\r\na=ssrc:4155986126 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ABaz\r\na=ice-pwd:U3Xim22GGC5/TtMsKEc50V6v\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 96:B5:9B:92:AF:CC:A9:AA:7E:7E:37:E8:54:30:BF:44:51:42:94:37:E3:18:7E:C7:6E:5D:E8:0D:41:9C:D7:0B\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:448717766 cname:rIrJFm/XtTa0Qj+b\r\na=ssrc:448717766 msid:stream audioTrack\r\n","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774907,"type":"webrtc-offer"} {"level":"info","message":"🔄 Android webrtc-offer received, forwarding as webrtc:offer:","offer":"v=0\r\no=- 3447510594023965763 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ABaz\r\na=ice-pwd:U3Xim22GGC5/TtMsKEc50V6v\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 96:B5:9B:92:AF:CC:A9:AA:7E:7E:37:E8:54:30:BF:44:51:42:94:37:E3:18:7E:C7:6E:5D:E8:0D:41:9C:D7:0B\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2499839753 4155986126\r\na=ssrc:2499839753 cname:rIrJFm/XtTa0Qj+b\r\na=ssrc:2499839753 msid:stream videoTrack\r\na=ssrc:4155986126 cname:rIrJFm/XtTa0Qj+b\r\na=ssrc:4155986126 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ABaz\r\na=ice-pwd:U3Xim22GGC5/TtMsKEc50V6v\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 96:B5:9B:92:AF:CC:A9:AA:7E:7E:37:E8:54:30:BF:44:51:42:94:37:E3:18:7E:C7:6E:5D:E8:0D:41:9C:D7:0B\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:448717766 cname:rIrJFm/XtTa0Qj+b\r\na=ssrc:448717766 msid:stream audioTrack\r\n","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774907,"type":"webrtc-offer"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 50974 typ host generation 0 ufrag ABaz network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774944,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 50974 typ host generation 0 ufrag ABaz network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774944,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 48107 typ host generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774951,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 48107 typ host generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774951,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 44382 typ host generation 0 ufrag ABaz network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774952,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 52814 typ host generation 0 ufrag ABaz network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774954,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 44382 typ host generation 0 ufrag ABaz network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774952,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 52814 typ host generation 0 ufrag ABaz network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774954,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 56855 typ host generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774954,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 44458 typ host generation 0 ufrag ABaz network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774955,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 56855 typ host generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774954,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 44458 typ host generation 0 ufrag ABaz network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614774955,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 48107 typ srflx raddr 192.168.219.109 rport 48107 generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614775031,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 48107 typ srflx raddr 192.168.219.109 rport 48107 generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614775031,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 56855 typ srflx raddr 192.168.219.109 rport 56855 generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: ice-candidate","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614775040,"type":"ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 56855 typ srflx raddr 192.168.219.109 rport 56855 generation 0 ufrag ABaz network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"🔄 Android ice-candidate received, forwarding as ice:candidate:","sessionId":"3220bbd0-337f-4523-8064-e7f663d90b66","timestamp":1759614775040,"type":"ice-candidate"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614799906} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614799906} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614799906} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614800199} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614800199} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614800199} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614829929} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614829929} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614829929} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614830207} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614830207} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614830207} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614859934} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614859934} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614859934} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614860213} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614860213} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614860213} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614889945} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614889945} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614889945} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614890218} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614890218} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614890218} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614919952} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614919952} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614919952} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614920224} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614920224} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614920224} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614949965} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614949965} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614949965} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614950235} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614950235} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614950235} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614979970} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614979970} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614979970} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759614980241} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759614980241} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759614980241} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615009977} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615009977} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615009977} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615010246} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615010246} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615010246} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615039986} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615039986} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615039986} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615040254} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615040254} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615040254} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615069993} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615069993} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615069993} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615070264} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615070264} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615070264} {"level":"info","message":"Client disconnected: DFTk_LjPfNF69LgGAAAN, reason: transport close","timestamp":"2025-10-04T21:58:07.840Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:58:07.841Z"} {"level":"info","message":"🔌 Connection terminated: 3220bbd0-337f-4523-8064-e7f663d90b66 - Operator disconnected","timestamp":"2025-10-04T21:58:07.841Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator a0bfb344-461e-4fcc-83e7-6445f8665d64","timestamp":"2025-10-04T21:58:07.841Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615100000} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615100000} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615100000} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615100273} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615100273} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615100273} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T21:58:47.257Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:58:48.301Z","userAgent":""} {"level":"info","message":"Operator registered: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:58:48.303Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: opNuKf3UPpSZWlfpAAAD","timestamp":"2025-10-04T21:58:51.390Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:09.687Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:09.688Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ElqBMmEwEnuax1SJAAAH","timestamp":"2025-10-04T21:59:09.710Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ElqBMmEwEnuax1SJAAAH","timestamp":"2025-10-04T21:59:09.711Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.050Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.050Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.562Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.562Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.562Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.569Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.569Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.573Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.574Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615151399} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.598Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.599Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.599Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.600Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.600Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615151399} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615151399} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615151399} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615151399} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615151399} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.606Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.606Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.606Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.607Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.607Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.608Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.608Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.608Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.609Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.609Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.610Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.610Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.610Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.611Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.611Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.612Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.612Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.612Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.613Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.613Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.613Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.613Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.614Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.614Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.615Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615151399} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615151407} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.622Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151399} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.622Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.622Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.623Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.623Z"} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.624Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.625Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.625Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.625Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.626Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.626Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.627Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.627Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.629Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.629Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.630Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.631Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.631Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.632Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.632Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.632Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.633Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.633Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.633Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.633Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.634Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.634Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.634Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.635Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.635Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.635Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.635Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.635Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.636Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.636Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.636Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.636Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.637Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.637Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.637Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Handling Android registration for socket: fY5-lnKEUKKwofSvAAAG","timestamp":"2025-10-04T21:59:11.637Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151407} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.638Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.638Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"fY5-lnKEUKKwofSvAAAG","status":"online","timestamp":"2025-10-04T21:59:11.638Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.638Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.642Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.643Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.644Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.644Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.645Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.645Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.645Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.646Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.646Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.646Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.646Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.647Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.647Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.647Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.647Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.648Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.648Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.648Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.651Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.652Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.652Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.652Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.652Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.652Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.653Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.653Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.653Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.653Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.653Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.654Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.675Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.675Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.676Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.676Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615151519} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.693Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.693Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.694Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.694Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615151519} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.696Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.696Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.696Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.697Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.697Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.698Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.699Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615151519} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615151519} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615151519} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.701Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.701Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.701Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.702Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.702Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.702Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.703Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.703Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.703Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.703Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.704Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615151519} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615151519} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.711Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Handling Android registration for socket: MOqXb2j7K9XVVjt1AAAJ","timestamp":"2025-10-04T21:59:11.713Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615151519} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:11.713Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.713Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"MOqXb2j7K9XVVjt1AAAJ","status":"online","timestamp":"2025-10-04T21:59:11.714Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T21:59:11.714Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.715Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.715Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.715Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.716Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.716Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.716Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.717Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.718Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:11.718Z"} {"level":"info","message":"📱 Sending 1 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:11.718Z"} {"level":"info","message":"📷 Camera request received from operator socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T21:59:16.987Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T21:59:16.987Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T21:59:16.987Z"} {"level":"info","message":"📷 Operator IDs: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:16.988Z"} {"level":"info","message":"✅ Operator found: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T21:59:16.988Z"} {"level":"info","message":"🔗 Initiating connection: 98104406-db79-434e-9ad8-7f334aa1c720 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T21:59:16.988Z"} {"level":"info","message":"🆔 Generated connectionId: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:16.989Z"} {"level":"info","message":"💾 Saving connection request: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:16.989Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T21:59:16.989Z"} {"level":"info","message":"💾 All request IDs: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:16.989Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T21:59:16.989Z"} {"level":"info","message":"✅ Connection request created: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:16.989Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T21:59:16.989Z"} {"level":"info","message":"✅ Connection initiated: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:16.989Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"98104406-db79-434e-9ad8-7f334aa1c720","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615156901} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"98104406-db79-434e-9ad8-7f334aa1c720","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615156901} {"level":"info","message":"📱 Camera response received from Android: sessionId=13246da9-b29a-4ff0-b0fb-d144dc70dbe4, accepted=true","timestamp":"2025-10-04T21:59:17.051Z"} {"level":"info","message":"🔍 Looking for connection request: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.052Z"} {"level":"info","message":"🔍 Available connection requests: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.052Z"} {"level":"info","message":"✅ Connection established: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.052Z"} {"level":"info","message":"✅ Connection accepted: 13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.052Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":"v=0\r\no=- 1866959273946579266 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:i64q\r\na=ice-pwd:wxxH0YyT0nMylZdsvVZLcTNn\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 A2:DA:FF:66:F4:D6:3F:BF:09:5B:7B:98:59:80:84:56:12:34:65:66:EB:2F:91:B9:6D:BE:53:D1:EB:68:02:0F\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 308038855 3802047881\r\na=ssrc:308038855 cname:kZ/3ro4QM/Q5MUTR\r\na=ssrc:308038855 msid:stream videoTrack\r\na=ssrc:3802047881 cname:kZ/3ro4QM/Q5MUTR\r\na=ssrc:3802047881 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:i64q\r\na=ice-pwd:wxxH0YyT0nMylZdsvVZLcTNn\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 A2:DA:FF:66:F4:D6:3F:BF:09:5B:7B:98:59:80:84:56:12:34:65:66:EB:2F:91:B9:6D:BE:53:D1:EB:68:02:0F\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2135384302 cname:kZ/3ro4QM/Q5MUTR\r\na=ssrc:2135384302 msid:stream audioTrack\r\n","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615156968,"type":"webrtc:offer"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693","694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722","723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740","741","742","743","744","745","746","747","748","749","750","751","752","753","754","755","756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856","857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1176","1177","1178","1179","1180","1181","1182","1183","1184","1185","1186","1187","1188","1189","1190","1191","1192","1193","1194","1195","1196","1197","1198","1199","1200","1201","1202","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221","1222","1223","1224","1225","1226","1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282","1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312","1313","1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1330","1331","1332","1333","1334","1335","1336","1337","1338","1339","1340","1341","1342","1343","1344","1345","1346","1347","1348","1349","1350","1351","1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368","1369","1370","1371","1372","1373","1374","1375","1376","1377","1378","1379","1380","1381","1382","1383","1384","1385","1386","1387","1388","1389","1390","1391","1392","1393","1394","1395","1396","1397","1398","1399","1400","1401","1402","1403","1404","1405","1406","1407","1408","1409","1410","1411","1412","1413","1414","1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431","1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1442","1443","1444","1445","1446","1447","1448","1449","1450","1451","1452","1453","1454","1455","1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1469","1470","1471","1472","1473","1474","1475","1476","1477","1478","1479","1480","1481","1482","1483","1484","1485","1486","1487","1488","1489","1490","1491","1492","1493","1494","1495","1496","1497","1498","1499","1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512","1513","1514","1515","1516","1517","1518","1519","1520","1521","1522","1523","1524","1525","1526","1527","1528","1529","1530","1531","1532","1533","1534","1535","1536","1537","1538","1539","1540","1541","1542","1543","1544","1545","1546","1547","1548","1549","1550","1551","1552","1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1565","1566","1567","1568","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1595","1596","1597","1598","1599","1600","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624","1625","1626","1627","1628","1629","1630","1631","1632","1633","1634","1635","1636","1637","1638","1639","1640","1641","1642","1643","1644","1645","1646","1647","1648","1649","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660","1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677","1678","1679","1680","1681","1682","1683","1684","1685","1686","1687","1688","1689","1690","1691","1692","1693","1694","1695","1696","1697","1698","1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1740","1741","1742","1743","1744","1745","1746","1747","1748","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1767","1768","1769","1770","1771","1772","1773","1774","1775","1776","1777","1778","1779","1780","1781","1782","1783","1784","1785","1786","1787","1788","1789","1790","1791","1792","1793","1794","1795","1796","1797","1798","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","2142","2143","2144","2145","2146","2147","2148","2149","2150","2151","2152","2153","2154","2155","2156","2157","2158","2159","2160","2161","2162","2163","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2176","2177","2178","2179","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2193","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216","2217","2218","2219","2220","2221","2222","2223","2224","2225","2226","2227","2228","2229","2230","2231","2232","2233","2234","2235","2236","2237","2238","2239","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2252","2253","2254","2255","2256","2257","2258","2259","2260","2261","2262","2263","2264","2265","2266","2267","2268","2269","2270","2271","2272","2273","2274","2275","2276","2277","2278","2279","2280","2281","2282","2283","2284","2285","2286","2287","2288","2289","2290","2291","2292","2293","2294","2295","2296","2297","2298","2299","2300","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314","2315","2316","2317","2318","2319","2320","2321","2322","2323","2324","2325","2326","2327","2328","2329","2330","2331","2332","2333","2334","2335","2336","2337","2338","2339","2340","2341","2342","2343","2344","2345","2346","2347","2348","2349","2350","2351","2352","2353","2354","2355","2356","2357","2358","2359","2360","2361","2362","2363","2364","2365","2366","2367","2368","2369","2370","2371","2372","2373","2374","2375","2376","2377","2378","2379","2380","2381","2382","2383","2384","2385","2386","2387","2388","2389","2390","2391","2392","2393","2394","2395","2396","2397","2398","2399","2400","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411","2412","2413","2414","2415","2416","2417","2418","2419","2420","2421","2422","2423","2424","2425","2426","2427","2428","2429","2430","2431","2432","2433","2434","2435","2436","2437","2438","2439","2440","2441","2442","2443","2444","2445","2446","2447","2448","2449","2450","2451","2452","2453","2454","2455","2456","2457","2458","2459","2460","2461","2462","2463","2464","2465","2466","2467","2468","2469","2470","2471","2472","2473","2474","2475","2476","2477","2478","2479","2480","2481","2482","2483","2484","2485","2486","2487","2488","2489","2490","2491","2492","2493","2494","2495","2496","2497","2498","2499","2500","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511","2512","2513","2514","2515","2516","2517","2518","2519","2520","2521","2522","2523","2524","2525","2526","2527","2528","2529","2530","2531","2532","2533","2534","2535","2536","2537","2538","2539","2540","2541","2542","2543","2544","2545","2546","2547","2548","2549","2550","2551","2552","2553","2554","2555","2556","2557","2558","2559","2560","2561","2562","2563","2564","2565","2566","2567","2568","2569","2570","2571","2572","2573","2574","2575","2576","2577","2578","2579","2580","2581","2582","2583","2584","2585","2586","2587","2588","2589","2590","2591","2592","2593","2594","2595","2596","2597","2598","2599","2600","2601","2602","2603","2604","2605","2606","2607","2608","2609","2610","2611","2612","2613","2614","2615","2616","2617","2618","2619","2620","2621","2622","2623","2624","2625","2626","2627","2628","2629","2630","2631","2632","2633","2634","2635","2636","2637","2638","2639","2640","2641","2642","2643","2644","2645","2646","2647","2648","2649","2650","2651","2652","2653","2654","2655","2656","2657","2658","2659","2660","2661","2662","2663","2664","2665","2666","2667","2668","2669","2670","2671","2672","2673","2674","2675","2676","2677","2678","2679","2680","2681","2682","2683","2684","2685","2686","2687","2688","2689","2690","2691","2692","2693","2694","2695","2696","2697","2698","2699","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2711","2712","2713","2714","2715","2716","2717","2718","2719","2720","2721","2722","2723","2724","2725","2726","2727","2728","2729","2730","2731","2732","2733","2734","2735","2736","2737","2738","2739","2740","2741","2742","2743","2744","2745","2746","2747","2748","2749","2750","2751","2752","2753","2754","2755","2756","2757","2758","2759","2760","2761","2762","2763","2764","2765","2766","2767","2768","2769","2770","2771","2772","2773","2774","2775","2776","2777","2778","2779","2780","2781","2782","2783","2784","2785","2786","2787","2788","2789","2790","2791","2792","2793","2794","2795","2796","2797","2798","2799","2800","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810","2811","2812","2813","2814","2815","2816","2817","2818","2819","2820","2821","2822","2823","2824","2825","2826","2827","2828","2829","2830","2831","2832","2833","2834","2835","2836","2837","2838","2839","2840","2841","2842","2843","2844","2845","2846","2847","2848","2849","2850","2851","2852","2853","2854","2855","2856","2857","2858","2859","2860","2861","2862","2863","2864","2865","2866","2867","2868","2869","2870","2871","2872","2873","2874","2875","2876","2877","2878","2879","2880","2881","2882","2883","2884","2885","2886","2887","2888","2889","2890","2891","2892","2893","2894","2895","2896","2897","2898","2899","2900","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923","2924","2925","2926","2927","2928","2929","2930","2931","2932","2933","2934","2935","2936","2937","2938","2939","2940","2941","2942","2943","2944","2945","2946","2947","2948","2949","2950","2951","2952","2953","2954","2955","2956","2957","2958","2959","2960","2961","2962","2963","2964","2965","2966","2967","2968","2969","2970","2971","2972","2973","2974","2975","2976","2977","2978","2979","2980","2981","2982","2983","2984","2985","2986","2987","2988","2989","2990","2991","2992","2993","2994","2995","2996","2997","2998","2999","3000","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017","3018","3019","3020","3021","3022","3023","3024","3025","3026","3027","3028","3029","3030","3031","3032","3033","3034","3035","3036","3037","3038","3039","3040","3041","3042","3043","3044","3045","3046","3047","3048","3049","3050","3051","3052","3053","3054","3055","3056","3057","3058","3059","3060","3061","3062","3063","3064","3065","3066","3067","3068","3069","3070","3071","3072","3073","3074","3075","3076","3077","3078","3079","3080","3081","3082","3083","3084","3085","3086","3087","3088","3089","3090","3091","3092","3093","3094","3095","3096","3097","3098","3099","3100","3101","3102","3103","3104","3105","3106","3107","3108","3109","3110","3111","3112","3113","3114","3115","3116","3117","3118","3119","3120","3121","3122","3123","3124","3125","3126","3127","3128","3129","3130","3131","3132","3133","3134","3135","3136","3137","3138","3139","3140","3141","3142","3143","3144","3145","3146","3147","3148","3149","3150","3151","3152","3153","3154","3155","3156","3157","3158","3159","3160","3161","3162","3163","3164","3165","3166","3167","3168","3169","3170","3171","3172","3173","3174","3175","3176","3177","3178","3179","3180","3181","3182","3183","3184","3185","3186","3187","3188","3189","3190","3191","3192","3193","3194","3195","3196","3197","3198","3199","3200","3201","3202","3203","3204","3205","3206","3207","3208","3209","3210","3211","3212","3213","3214","3215","3216","3217","3218","3219","3220","3221","3222","3223","3224","3225","3226","3227","3228","3229","3230","3231","3232","3233","3234","3235","3236","3237","3238","3239","3240","3241","3242","3243","3244","3245","3246","3247","3248","3249","3250","3251","3252","3253","3254","3255","3256","3257","3258","3259","3260","3261","3262","3263","3264","3265","3266","3267","3268","3269","3270","3271","3272","3273","3274","3275","3276","3277","3278","3279","3280","3281","3282","3283","3284","3285","3286","3287","3288","3289","3290","3291","3292","3293","3294","3295","3296","3297","3298","3299","3300","3301","3302","3303","3304","3305","3306","3307","3308","3309","3310","3311","3312","3313","3314","3315","3316","3317","3318","3319","3320","3321","3322","3323","3324","3325","3326","3327","3328","3329","3330","3331","3332","3333","3334","3335","3336","3337","3338","3339","3340","3341","3342","3343","3344","3345","3346","3347","3348","3349","3350","3351","3352","3353","3354","3355","3356","3357","3358","3359","3360","3361","3362","3363","3364","3365","3366","3367","3368","3369","3370","3371","3372","3373","3374","3375","3376","3377","3378","3379","3380","3381","3382","3383","3384","3385","3386","3387","3388","3389","3390","3391","3392","3393","3394","3395","3396","3397","3398","3399","3400","3401","3402","3403","3404","3405","3406","3407","3408","3409","3410","3411","3412","3413","3414","3415","3416","3417","3418","3419","3420","3421","3422","3423","3424","3425","3426","3427","3428","3429","3430","3431","3432","3433","3434","3435","3436","3437","3438","3439","3440","3441","3442","3443","3444","3445","3446","3447","3448","3449","3450","3451","3452","3453","3454","3455","3456","3457","3458","3459","3460","3461","3462","3463","3464","3465","3466","3467","3468","3469","3470","3471","3472","3473","3474","3475","3476","3477","3478","3479","3480","3481","3482","3483","3484","3485","3486","3487","3488","3489","3490","3491","3492","3493","3494","3495","3496","3497","3498","3499","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3512","3513","3514","3515","3516","3517","3518","3519","3520","3521","3522","3523","3524","3525","3526","3527","3528","3529","3530","3531","3532","3533","3534","3535","3536","3537","3538","3539","3540","3541","3542","3543","3544","3545","3546","3547","3548","3549","3550","3551","3552","3553","3554","3555","3556","3557","3558","3559","3560","3561","3562","3563","3564","3565","3566","3567","3568","3569","3570","3571","3572","3573","3574","3575","3576","3577","3578","3579","3580","3581","3582","3583","3584","3585","3586","3587","3588","3589","3590","3591","3592","3593","3594","3595","3596"],"offerType":"string","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.121Z"} {"level":"error","message":"Failed to parse offer string: Unexpected token v in JSON at position 0","stack":"SyntaxError: Unexpected token v in JSON at position 0\n at JSON.parse ()\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket. (/home/data/god_eye/backend/src/server.js:524:29)\n at Socket.emit (node:events:517:28)\n at Socket.emitUntyped (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:69:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:697:39\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-04T21:59:17.130Z"} {"level":"error","message":"Unable to normalize offer:","timestamp":"2025-10-04T21:59:17.130Z"} {"level":"error","message":"❌ Invalid WebRTC offer format:","timestamp":"2025-10-04T21:59:17.130Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 53951 typ host generation 0 ufrag i64q network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157056,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.231Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.231Z"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 54484 typ host generation 0 ufrag i64q network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157058,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.276Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.276Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 45394 typ host generation 0 ufrag i64q network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157060,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.278Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.279Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 51162 typ host generation 0 ufrag i64q network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157061,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.282Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.282Z"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 39513 typ host generation 0 ufrag i64q network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157063,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.287Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.287Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 60262 typ host generation 0 ufrag i64q network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157065,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.288Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.288Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 54484 typ srflx raddr 192.168.219.109 rport 54484 generation 0 ufrag i64q network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157193,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.341Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.342Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 39513 typ srflx raddr 192.168.219.109 rport 39513 generation 0 ufrag i64q network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":1759615157195,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"13246da9-b29a-4ff0-b0fb-d144dc70dbe4","timestamp":"2025-10-04T21:59:17.343Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T21:59:17.343Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615181418} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615181418} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615181418} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615181526} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615181526} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615181526} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615211436} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615211436} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615211436} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615211532} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615211532} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615211532} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615241447} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615241447} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615241447} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615241539} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615241539} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615241539} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615271454} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615271454} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615271454} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615271546} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615271546} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615271546} {"level":"info","message":"Client disconnected: fY5-lnKEUKKwofSvAAAG, reason: client namespace disconnect","timestamp":"2025-10-04T22:01:15.103Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.113Z","userAgent":""} {"level":"info","message":"Operator registered: 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.115Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.469Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.470Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615276491} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615276491} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615276491} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615276491} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.701Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.702Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.702Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.702Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.702Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.702Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.703Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.703Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.703Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.703Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.704Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.704Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.705Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.705Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.705Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.706Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.707Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.707Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615276491} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615276491} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.711Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.711Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.711Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.712Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.712Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.714Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.715Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.715Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.715Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.715Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.716Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.716Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.716Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.716Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.716Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.716Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.717Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.717Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.717Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.718Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.718Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.718Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.718Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.719Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.719Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.719Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.719Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.719Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.719Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.720Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.720Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.720Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.720Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615276491} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Handling Android registration for socket: 15WT313CsD47W9E8AAAN","timestamp":"2025-10-04T22:01:16.721Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615276491} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:16.721Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.721Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"15WT313CsD47W9E8AAAN","status":"online","timestamp":"2025-10-04T22:01:16.722Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:01:16.722Z"} {"level":"info","message":"📱 Devices list requested by socket 8hRxAz0Se3JSclrNAAAB","timestamp":"2025-10-04T22:01:16.730Z"} {"level":"info","message":"📱 Sending 0 devices to operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:16.731Z"} {"level":"info","message":"📱 Devices list requested by socket ai0lSmxzf6_sqBJBAAAL","timestamp":"2025-10-04T22:01:16.731Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:16.731Z"} {"level":"info","message":"Client disconnected: ai0lSmxzf6_sqBJBAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T22:01:19.986Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:19.987Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:19.987Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: P6Rw5GufzeRlkj6_AAAP","timestamp":"2025-10-04T22:01:20.553Z","userAgent":""} {"level":"info","message":"Operator registered: 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:20.555Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T22:01:39.689Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615301550} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615301550} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615301550} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T22:01:47.940Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.023Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.023Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: lqcfLIaGBVUXI5ziAAAE","timestamp":"2025-10-04T22:01:48.045Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: lqcfLIaGBVUXI5ziAAAE","timestamp":"2025-10-04T22:01:48.045Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.061Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.061Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615306503} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.148Z","userAgent":""} {"level":"info","message":"Operator registered: 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.150Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615306503} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615306503} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615307937} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615307937} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615307937} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.229Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.229Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.230Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.232Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.232Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.233Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.234Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.234Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.234Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.235Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.235Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.235Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.236Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.236Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.236Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.237Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.237Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.237Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.238Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.238Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615307937} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615307937} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615307937} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615307937} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.242Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.242Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.242Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.243Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.243Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.243Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.243Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.243Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.244Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.244Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.245Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.245Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.245Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.245Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.245Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.246Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307937} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.246Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.246Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.246Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.246Z"} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.247Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.247Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.247Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.247Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.247Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.250Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.251Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.251Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.252Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.252Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.252Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.252Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.252Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.253Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.253Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.253Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.253Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.255Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.255Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.255Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.256Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.256Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.256Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.257Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.257Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.257Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.257Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.258Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.258Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.258Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.258Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.258Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.258Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.259Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.259Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.259Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.259Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.259Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.259Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.260Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.260Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.260Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.262Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.263Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.263Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.263Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.263Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.264Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615307948} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.265Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.265Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.266Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.266Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.266Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Handling Android registration for socket: 6-mDMYoC6RkDaKi_AAAD","timestamp":"2025-10-04T22:01:48.266Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615307948} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.267Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.267Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"6-mDMYoC6RkDaKi_AAAD","status":"online","timestamp":"2025-10-04T22:01:48.267Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.267Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.268Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.269Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.270Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.270Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.271Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.271Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.271Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.271Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.276Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.276Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.282Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.282Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.283Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.283Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.289Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.289Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.289Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.290Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.291Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.293Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.293Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615308113} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.313Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.313Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.313Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.314Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.314Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.315Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.316Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615308113} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615308113} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.316Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.317Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.318Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.318Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.318Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.318Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615308113} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615308113} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.328Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.328Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.328Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.328Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.329Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.329Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.329Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.329Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.329Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.329Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.330Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.330Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.331Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.331Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.331Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.331Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.332Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.332Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615308113} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615308113} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.333Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.333Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.333Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.333Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.333Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Handling Android registration for socket: weAC2YWeDh-YGBYaAAAF","timestamp":"2025-10-04T22:01:48.334Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615308113} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:48.334Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.334Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"weAC2YWeDh-YGBYaAAAF","status":"online","timestamp":"2025-10-04T22:01:48.334Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:01:48.334Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.342Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.342Z"} {"level":"info","message":"📱 Devices list requested by socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:48.343Z"} {"level":"info","message":"📱 Sending 1 devices to operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:48.343Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wuQcW5Ja7ILY0XONAAAJ","timestamp":"2025-10-04T22:01:50.263Z","userAgent":""} {"level":"info","message":"Operator registered: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:50.264Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zEGqgJTlRDvitIa4AAAL","timestamp":"2025-10-04T22:01:51.386Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"📷 Camera request received from operator socket DPVcM1SHNRYuw3vlAAAH","timestamp":"2025-10-04T22:01:52.259Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:01:52.259Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:01:52.259Z"} {"level":"info","message":"📷 Operator IDs: 4a3afad5-8a58-429a-b11c-245c2f93e9ae, 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:01:52.259Z"} {"level":"info","message":"✅ Operator found: 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:01:52.259Z"} {"level":"info","message":"🔗 Initiating connection: 4a3afad5-8a58-429a-b11c-245c2f93e9ae -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:01:52.260Z"} {"level":"info","message":"🆔 Generated connectionId: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.261Z"} {"level":"info","message":"💾 Saving connection request: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.261Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:01:52.261Z"} {"level":"info","message":"💾 All request IDs: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.261Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:01:52.261Z"} {"level":"info","message":"✅ Connection request created: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.261Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:01:52.262Z"} {"level":"info","message":"✅ Connection initiated: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.262Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"4a3afad5-8a58-429a-b11c-245c2f93e9ae","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312233} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"4a3afad5-8a58-429a-b11c-245c2f93e9ae","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312233} {"level":"info","message":"📱 Camera response received from Android: sessionId=73c0ed3c-da63-40ff-9c14-bf6c45016569, accepted=true","timestamp":"2025-10-04T22:01:52.391Z"} {"level":"info","message":"🔍 Looking for connection request: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.391Z"} {"level":"info","message":"🔍 Available connection requests: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.391Z"} {"level":"info","message":"✅ Connection established: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.392Z"} {"level":"info","message":"✅ Connection accepted: 73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.392Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":"v=0\r\no=- 2195059461607560687 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:u3Y2\r\na=ice-pwd:6fFozlPqFnIyDIepuMOuT2ol\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 83:05:30:27:F3:78:8E:7A:AD:2B:CB:41:D1:3A:68:83:FE:50:22:D6:C2:AB:A9:20:92:BC:3F:36:44:EC:B9:58\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1448047146 525425771\r\na=ssrc:1448047146 cname:yo4oaZ9UhYSS3owC\r\na=ssrc:1448047146 msid:stream videoTrack\r\na=ssrc:525425771 cname:yo4oaZ9UhYSS3owC\r\na=ssrc:525425771 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:u3Y2\r\na=ice-pwd:6fFozlPqFnIyDIepuMOuT2ol\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 83:05:30:27:F3:78:8E:7A:AD:2B:CB:41:D1:3A:68:83:FE:50:22:D6:C2:AB:A9:20:92:BC:3F:36:44:EC:B9:58\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:4162985489 cname:yo4oaZ9UhYSS3owC\r\na=ssrc:4162985489 msid:stream audioTrack\r\n","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312366,"type":"webrtc:offer"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693","694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722","723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740","741","742","743","744","745","746","747","748","749","750","751","752","753","754","755","756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856","857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1176","1177","1178","1179","1180","1181","1182","1183","1184","1185","1186","1187","1188","1189","1190","1191","1192","1193","1194","1195","1196","1197","1198","1199","1200","1201","1202","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221","1222","1223","1224","1225","1226","1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282","1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312","1313","1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1330","1331","1332","1333","1334","1335","1336","1337","1338","1339","1340","1341","1342","1343","1344","1345","1346","1347","1348","1349","1350","1351","1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368","1369","1370","1371","1372","1373","1374","1375","1376","1377","1378","1379","1380","1381","1382","1383","1384","1385","1386","1387","1388","1389","1390","1391","1392","1393","1394","1395","1396","1397","1398","1399","1400","1401","1402","1403","1404","1405","1406","1407","1408","1409","1410","1411","1412","1413","1414","1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431","1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1442","1443","1444","1445","1446","1447","1448","1449","1450","1451","1452","1453","1454","1455","1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1469","1470","1471","1472","1473","1474","1475","1476","1477","1478","1479","1480","1481","1482","1483","1484","1485","1486","1487","1488","1489","1490","1491","1492","1493","1494","1495","1496","1497","1498","1499","1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512","1513","1514","1515","1516","1517","1518","1519","1520","1521","1522","1523","1524","1525","1526","1527","1528","1529","1530","1531","1532","1533","1534","1535","1536","1537","1538","1539","1540","1541","1542","1543","1544","1545","1546","1547","1548","1549","1550","1551","1552","1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1565","1566","1567","1568","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1595","1596","1597","1598","1599","1600","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624","1625","1626","1627","1628","1629","1630","1631","1632","1633","1634","1635","1636","1637","1638","1639","1640","1641","1642","1643","1644","1645","1646","1647","1648","1649","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660","1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677","1678","1679","1680","1681","1682","1683","1684","1685","1686","1687","1688","1689","1690","1691","1692","1693","1694","1695","1696","1697","1698","1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1740","1741","1742","1743","1744","1745","1746","1747","1748","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1767","1768","1769","1770","1771","1772","1773","1774","1775","1776","1777","1778","1779","1780","1781","1782","1783","1784","1785","1786","1787","1788","1789","1790","1791","1792","1793","1794","1795","1796","1797","1798","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","2142","2143","2144","2145","2146","2147","2148","2149","2150","2151","2152","2153","2154","2155","2156","2157","2158","2159","2160","2161","2162","2163","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2176","2177","2178","2179","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2193","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216","2217","2218","2219","2220","2221","2222","2223","2224","2225","2226","2227","2228","2229","2230","2231","2232","2233","2234","2235","2236","2237","2238","2239","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2252","2253","2254","2255","2256","2257","2258","2259","2260","2261","2262","2263","2264","2265","2266","2267","2268","2269","2270","2271","2272","2273","2274","2275","2276","2277","2278","2279","2280","2281","2282","2283","2284","2285","2286","2287","2288","2289","2290","2291","2292","2293","2294","2295","2296","2297","2298","2299","2300","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314","2315","2316","2317","2318","2319","2320","2321","2322","2323","2324","2325","2326","2327","2328","2329","2330","2331","2332","2333","2334","2335","2336","2337","2338","2339","2340","2341","2342","2343","2344","2345","2346","2347","2348","2349","2350","2351","2352","2353","2354","2355","2356","2357","2358","2359","2360","2361","2362","2363","2364","2365","2366","2367","2368","2369","2370","2371","2372","2373","2374","2375","2376","2377","2378","2379","2380","2381","2382","2383","2384","2385","2386","2387","2388","2389","2390","2391","2392","2393","2394","2395","2396","2397","2398","2399","2400","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411","2412","2413","2414","2415","2416","2417","2418","2419","2420","2421","2422","2423","2424","2425","2426","2427","2428","2429","2430","2431","2432","2433","2434","2435","2436","2437","2438","2439","2440","2441","2442","2443","2444","2445","2446","2447","2448","2449","2450","2451","2452","2453","2454","2455","2456","2457","2458","2459","2460","2461","2462","2463","2464","2465","2466","2467","2468","2469","2470","2471","2472","2473","2474","2475","2476","2477","2478","2479","2480","2481","2482","2483","2484","2485","2486","2487","2488","2489","2490","2491","2492","2493","2494","2495","2496","2497","2498","2499","2500","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511","2512","2513","2514","2515","2516","2517","2518","2519","2520","2521","2522","2523","2524","2525","2526","2527","2528","2529","2530","2531","2532","2533","2534","2535","2536","2537","2538","2539","2540","2541","2542","2543","2544","2545","2546","2547","2548","2549","2550","2551","2552","2553","2554","2555","2556","2557","2558","2559","2560","2561","2562","2563","2564","2565","2566","2567","2568","2569","2570","2571","2572","2573","2574","2575","2576","2577","2578","2579","2580","2581","2582","2583","2584","2585","2586","2587","2588","2589","2590","2591","2592","2593","2594","2595","2596","2597","2598","2599","2600","2601","2602","2603","2604","2605","2606","2607","2608","2609","2610","2611","2612","2613","2614","2615","2616","2617","2618","2619","2620","2621","2622","2623","2624","2625","2626","2627","2628","2629","2630","2631","2632","2633","2634","2635","2636","2637","2638","2639","2640","2641","2642","2643","2644","2645","2646","2647","2648","2649","2650","2651","2652","2653","2654","2655","2656","2657","2658","2659","2660","2661","2662","2663","2664","2665","2666","2667","2668","2669","2670","2671","2672","2673","2674","2675","2676","2677","2678","2679","2680","2681","2682","2683","2684","2685","2686","2687","2688","2689","2690","2691","2692","2693","2694","2695","2696","2697","2698","2699","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2711","2712","2713","2714","2715","2716","2717","2718","2719","2720","2721","2722","2723","2724","2725","2726","2727","2728","2729","2730","2731","2732","2733","2734","2735","2736","2737","2738","2739","2740","2741","2742","2743","2744","2745","2746","2747","2748","2749","2750","2751","2752","2753","2754","2755","2756","2757","2758","2759","2760","2761","2762","2763","2764","2765","2766","2767","2768","2769","2770","2771","2772","2773","2774","2775","2776","2777","2778","2779","2780","2781","2782","2783","2784","2785","2786","2787","2788","2789","2790","2791","2792","2793","2794","2795","2796","2797","2798","2799","2800","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810","2811","2812","2813","2814","2815","2816","2817","2818","2819","2820","2821","2822","2823","2824","2825","2826","2827","2828","2829","2830","2831","2832","2833","2834","2835","2836","2837","2838","2839","2840","2841","2842","2843","2844","2845","2846","2847","2848","2849","2850","2851","2852","2853","2854","2855","2856","2857","2858","2859","2860","2861","2862","2863","2864","2865","2866","2867","2868","2869","2870","2871","2872","2873","2874","2875","2876","2877","2878","2879","2880","2881","2882","2883","2884","2885","2886","2887","2888","2889","2890","2891","2892","2893","2894","2895","2896","2897","2898","2899","2900","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923","2924","2925","2926","2927","2928","2929","2930","2931","2932","2933","2934","2935","2936","2937","2938","2939","2940","2941","2942","2943","2944","2945","2946","2947","2948","2949","2950","2951","2952","2953","2954","2955","2956","2957","2958","2959","2960","2961","2962","2963","2964","2965","2966","2967","2968","2969","2970","2971","2972","2973","2974","2975","2976","2977","2978","2979","2980","2981","2982","2983","2984","2985","2986","2987","2988","2989","2990","2991","2992","2993","2994","2995","2996","2997","2998","2999","3000","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017","3018","3019","3020","3021","3022","3023","3024","3025","3026","3027","3028","3029","3030","3031","3032","3033","3034","3035","3036","3037","3038","3039","3040","3041","3042","3043","3044","3045","3046","3047","3048","3049","3050","3051","3052","3053","3054","3055","3056","3057","3058","3059","3060","3061","3062","3063","3064","3065","3066","3067","3068","3069","3070","3071","3072","3073","3074","3075","3076","3077","3078","3079","3080","3081","3082","3083","3084","3085","3086","3087","3088","3089","3090","3091","3092","3093","3094","3095","3096","3097","3098","3099","3100","3101","3102","3103","3104","3105","3106","3107","3108","3109","3110","3111","3112","3113","3114","3115","3116","3117","3118","3119","3120","3121","3122","3123","3124","3125","3126","3127","3128","3129","3130","3131","3132","3133","3134","3135","3136","3137","3138","3139","3140","3141","3142","3143","3144","3145","3146","3147","3148","3149","3150","3151","3152","3153","3154","3155","3156","3157","3158","3159","3160","3161","3162","3163","3164","3165","3166","3167","3168","3169","3170","3171","3172","3173","3174","3175","3176","3177","3178","3179","3180","3181","3182","3183","3184","3185","3186","3187","3188","3189","3190","3191","3192","3193","3194","3195","3196","3197","3198","3199","3200","3201","3202","3203","3204","3205","3206","3207","3208","3209","3210","3211","3212","3213","3214","3215","3216","3217","3218","3219","3220","3221","3222","3223","3224","3225","3226","3227","3228","3229","3230","3231","3232","3233","3234","3235","3236","3237","3238","3239","3240","3241","3242","3243","3244","3245","3246","3247","3248","3249","3250","3251","3252","3253","3254","3255","3256","3257","3258","3259","3260","3261","3262","3263","3264","3265","3266","3267","3268","3269","3270","3271","3272","3273","3274","3275","3276","3277","3278","3279","3280","3281","3282","3283","3284","3285","3286","3287","3288","3289","3290","3291","3292","3293","3294","3295","3296","3297","3298","3299","3300","3301","3302","3303","3304","3305","3306","3307","3308","3309","3310","3311","3312","3313","3314","3315","3316","3317","3318","3319","3320","3321","3322","3323","3324","3325","3326","3327","3328","3329","3330","3331","3332","3333","3334","3335","3336","3337","3338","3339","3340","3341","3342","3343","3344","3345","3346","3347","3348","3349","3350","3351","3352","3353","3354","3355","3356","3357","3358","3359","3360","3361","3362","3363","3364","3365","3366","3367","3368","3369","3370","3371","3372","3373","3374","3375","3376","3377","3378","3379","3380","3381","3382","3383","3384","3385","3386","3387","3388","3389","3390","3391","3392","3393","3394","3395","3396","3397","3398","3399","3400","3401","3402","3403","3404","3405","3406","3407","3408","3409","3410","3411","3412","3413","3414","3415","3416","3417","3418","3419","3420","3421","3422","3423","3424","3425","3426","3427","3428","3429","3430","3431","3432","3433","3434","3435","3436","3437","3438","3439","3440","3441","3442","3443","3444","3445","3446","3447","3448","3449","3450","3451","3452","3453","3454","3455","3456","3457","3458","3459","3460","3461","3462","3463","3464","3465","3466","3467","3468","3469","3470","3471","3472","3473","3474","3475","3476","3477","3478","3479","3480","3481","3482","3483","3484","3485","3486","3487","3488","3489","3490","3491","3492","3493","3494","3495","3496","3497","3498","3499","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3512","3513","3514","3515","3516","3517","3518","3519","3520","3521","3522","3523","3524","3525","3526","3527","3528","3529","3530","3531","3532","3533","3534","3535","3536","3537","3538","3539","3540","3541","3542","3543","3544","3545","3546","3547","3548","3549","3550","3551","3552","3553","3554","3555","3556","3557","3558","3559","3560","3561","3562","3563","3564","3565","3566","3567","3568","3569","3570","3571","3572","3573","3574","3575","3576","3577","3578","3579","3580","3581","3582","3583","3584","3585","3586","3587","3588","3589","3590","3591","3592","3593","3594","3595","3596"],"offerType":"string","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.521Z"} {"level":"error","message":"Failed to parse offer string: Unexpected token v in JSON at position 0","stack":"SyntaxError: Unexpected token v in JSON at position 0\n at JSON.parse ()\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket. (/home/data/god_eye/backend/src/server.js:524:29)\n at Socket.emit (node:events:517:28)\n at Socket.emitUntyped (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:69:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:697:39\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-04T22:01:52.525Z"} {"level":"error","message":"Unable to normalize offer:","timestamp":"2025-10-04T22:01:52.525Z"} {"level":"error","message":"❌ Invalid WebRTC offer format:","timestamp":"2025-10-04T22:01:52.525Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 42760 typ host generation 0 ufrag u3Y2 network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312385,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.568Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.568Z"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 56757 typ host generation 0 ufrag u3Y2 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312393,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 46515 typ host generation 0 ufrag u3Y2 network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312399,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 41480 typ host generation 0 ufrag u3Y2 network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312402,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.613Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.613Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.613Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.614Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.614Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.614Z"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 50482 typ host generation 0 ufrag u3Y2 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312407,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.618Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.619Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 49790 typ host generation 0 ufrag u3Y2 network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312411,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.625Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.625Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 56757 typ srflx raddr 192.168.219.109 rport 56757 generation 0 ufrag u3Y2 network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312496,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.666Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.667Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 50482 typ srflx raddr 192.168.219.109 rport 50482 generation 0 ufrag u3Y2 network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":1759615312538,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73c0ed3c-da63-40ff-9c14-bf6c45016569","timestamp":"2025-10-04T22:01:52.694Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:01:52.695Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615337954} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615337954} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615337954} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615338120} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615338120} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615338120} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615367962} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615367962} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615367962} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615368129} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615368129} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615368129} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615397971} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615397971} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615397971} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615398135} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615398135} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615398135} {"level":"info","message":"Client disconnected: DPVcM1SHNRYuw3vlAAAH, reason: transport close","timestamp":"2025-10-04T22:03:20.690Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:03:20.691Z"} {"level":"info","message":"🔌 Connection terminated: 73c0ed3c-da63-40ff-9c14-bf6c45016569 - Operator disconnected","timestamp":"2025-10-04T22:03:20.691Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 4a3afad5-8a58-429a-b11c-245c2f93e9ae","timestamp":"2025-10-04T22:03:20.692Z"} {"level":"info","message":"📷 Camera request received from operator socket wuQcW5Ja7ILY0XONAAAJ","timestamp":"2025-10-04T22:03:31.138Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:03:31.138Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"📷 Operator IDs: 4a3afad5-8a58-429a-b11c-245c2f93e9ae, 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"✅ Operator found: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"🔗 Initiating connection: 98104406-db79-434e-9ad8-7f334aa1c720 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"🆔 Generated connectionId: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"💾 Saving connection request: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"💾 All request IDs: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:31.139Z"} {"level":"info","message":"✅ Connection request created: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.140Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:03:31.140Z"} {"level":"info","message":"✅ Connection initiated: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.140Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"98104406-db79-434e-9ad8-7f334aa1c720","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411191} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"98104406-db79-434e-9ad8-7f334aa1c720","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411191} {"level":"info","message":"📱 Camera response received from Android: sessionId=7b42ab13-8d25-4f38-9c99-ded4e5a541a7, accepted=true","timestamp":"2025-10-04T22:03:31.347Z"} {"level":"info","message":"🔍 Looking for connection request: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.347Z"} {"level":"info","message":"🔍 Available connection requests: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.347Z"} {"level":"info","message":"✅ Connection established: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.347Z"} {"level":"info","message":"✅ Connection accepted: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.347Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":"v=0\r\no=- 2949337750054045005 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:93vJ\r\na=ice-pwd:MamNAZxUg31i3ulOa5jf/bE6\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 74:45:CB:3B:5C:35:5D:25:F9:F4:3A:68:5F:B3:3C:ED:C9:05:EE:CA:7E:76:0B:F9:B0:EA:7B:7B:70:E8:3F:FF\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 4073326559 3639812965\r\na=ssrc:4073326559 cname:oLRW1BV+3ecXc+vg\r\na=ssrc:4073326559 msid:stream videoTrack\r\na=ssrc:3639812965 cname:oLRW1BV+3ecXc+vg\r\na=ssrc:3639812965 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:93vJ\r\na=ice-pwd:MamNAZxUg31i3ulOa5jf/bE6\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 74:45:CB:3B:5C:35:5D:25:F9:F4:3A:68:5F:B3:3C:ED:C9:05:EE:CA:7E:76:0B:F9:B0:EA:7B:7B:70:E8:3F:FF\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2413989878 cname:oLRW1BV+3ecXc+vg\r\na=ssrc:2413989878 msid:stream audioTrack\r\n","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411296,"type":"webrtc:offer"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693","694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722","723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740","741","742","743","744","745","746","747","748","749","750","751","752","753","754","755","756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856","857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1176","1177","1178","1179","1180","1181","1182","1183","1184","1185","1186","1187","1188","1189","1190","1191","1192","1193","1194","1195","1196","1197","1198","1199","1200","1201","1202","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221","1222","1223","1224","1225","1226","1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282","1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312","1313","1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1330","1331","1332","1333","1334","1335","1336","1337","1338","1339","1340","1341","1342","1343","1344","1345","1346","1347","1348","1349","1350","1351","1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368","1369","1370","1371","1372","1373","1374","1375","1376","1377","1378","1379","1380","1381","1382","1383","1384","1385","1386","1387","1388","1389","1390","1391","1392","1393","1394","1395","1396","1397","1398","1399","1400","1401","1402","1403","1404","1405","1406","1407","1408","1409","1410","1411","1412","1413","1414","1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431","1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1442","1443","1444","1445","1446","1447","1448","1449","1450","1451","1452","1453","1454","1455","1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1469","1470","1471","1472","1473","1474","1475","1476","1477","1478","1479","1480","1481","1482","1483","1484","1485","1486","1487","1488","1489","1490","1491","1492","1493","1494","1495","1496","1497","1498","1499","1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512","1513","1514","1515","1516","1517","1518","1519","1520","1521","1522","1523","1524","1525","1526","1527","1528","1529","1530","1531","1532","1533","1534","1535","1536","1537","1538","1539","1540","1541","1542","1543","1544","1545","1546","1547","1548","1549","1550","1551","1552","1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1565","1566","1567","1568","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1595","1596","1597","1598","1599","1600","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624","1625","1626","1627","1628","1629","1630","1631","1632","1633","1634","1635","1636","1637","1638","1639","1640","1641","1642","1643","1644","1645","1646","1647","1648","1649","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660","1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677","1678","1679","1680","1681","1682","1683","1684","1685","1686","1687","1688","1689","1690","1691","1692","1693","1694","1695","1696","1697","1698","1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1740","1741","1742","1743","1744","1745","1746","1747","1748","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1767","1768","1769","1770","1771","1772","1773","1774","1775","1776","1777","1778","1779","1780","1781","1782","1783","1784","1785","1786","1787","1788","1789","1790","1791","1792","1793","1794","1795","1796","1797","1798","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","2142","2143","2144","2145","2146","2147","2148","2149","2150","2151","2152","2153","2154","2155","2156","2157","2158","2159","2160","2161","2162","2163","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2176","2177","2178","2179","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2193","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216","2217","2218","2219","2220","2221","2222","2223","2224","2225","2226","2227","2228","2229","2230","2231","2232","2233","2234","2235","2236","2237","2238","2239","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2252","2253","2254","2255","2256","2257","2258","2259","2260","2261","2262","2263","2264","2265","2266","2267","2268","2269","2270","2271","2272","2273","2274","2275","2276","2277","2278","2279","2280","2281","2282","2283","2284","2285","2286","2287","2288","2289","2290","2291","2292","2293","2294","2295","2296","2297","2298","2299","2300","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314","2315","2316","2317","2318","2319","2320","2321","2322","2323","2324","2325","2326","2327","2328","2329","2330","2331","2332","2333","2334","2335","2336","2337","2338","2339","2340","2341","2342","2343","2344","2345","2346","2347","2348","2349","2350","2351","2352","2353","2354","2355","2356","2357","2358","2359","2360","2361","2362","2363","2364","2365","2366","2367","2368","2369","2370","2371","2372","2373","2374","2375","2376","2377","2378","2379","2380","2381","2382","2383","2384","2385","2386","2387","2388","2389","2390","2391","2392","2393","2394","2395","2396","2397","2398","2399","2400","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411","2412","2413","2414","2415","2416","2417","2418","2419","2420","2421","2422","2423","2424","2425","2426","2427","2428","2429","2430","2431","2432","2433","2434","2435","2436","2437","2438","2439","2440","2441","2442","2443","2444","2445","2446","2447","2448","2449","2450","2451","2452","2453","2454","2455","2456","2457","2458","2459","2460","2461","2462","2463","2464","2465","2466","2467","2468","2469","2470","2471","2472","2473","2474","2475","2476","2477","2478","2479","2480","2481","2482","2483","2484","2485","2486","2487","2488","2489","2490","2491","2492","2493","2494","2495","2496","2497","2498","2499","2500","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511","2512","2513","2514","2515","2516","2517","2518","2519","2520","2521","2522","2523","2524","2525","2526","2527","2528","2529","2530","2531","2532","2533","2534","2535","2536","2537","2538","2539","2540","2541","2542","2543","2544","2545","2546","2547","2548","2549","2550","2551","2552","2553","2554","2555","2556","2557","2558","2559","2560","2561","2562","2563","2564","2565","2566","2567","2568","2569","2570","2571","2572","2573","2574","2575","2576","2577","2578","2579","2580","2581","2582","2583","2584","2585","2586","2587","2588","2589","2590","2591","2592","2593","2594","2595","2596","2597","2598","2599","2600","2601","2602","2603","2604","2605","2606","2607","2608","2609","2610","2611","2612","2613","2614","2615","2616","2617","2618","2619","2620","2621","2622","2623","2624","2625","2626","2627","2628","2629","2630","2631","2632","2633","2634","2635","2636","2637","2638","2639","2640","2641","2642","2643","2644","2645","2646","2647","2648","2649","2650","2651","2652","2653","2654","2655","2656","2657","2658","2659","2660","2661","2662","2663","2664","2665","2666","2667","2668","2669","2670","2671","2672","2673","2674","2675","2676","2677","2678","2679","2680","2681","2682","2683","2684","2685","2686","2687","2688","2689","2690","2691","2692","2693","2694","2695","2696","2697","2698","2699","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2711","2712","2713","2714","2715","2716","2717","2718","2719","2720","2721","2722","2723","2724","2725","2726","2727","2728","2729","2730","2731","2732","2733","2734","2735","2736","2737","2738","2739","2740","2741","2742","2743","2744","2745","2746","2747","2748","2749","2750","2751","2752","2753","2754","2755","2756","2757","2758","2759","2760","2761","2762","2763","2764","2765","2766","2767","2768","2769","2770","2771","2772","2773","2774","2775","2776","2777","2778","2779","2780","2781","2782","2783","2784","2785","2786","2787","2788","2789","2790","2791","2792","2793","2794","2795","2796","2797","2798","2799","2800","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810","2811","2812","2813","2814","2815","2816","2817","2818","2819","2820","2821","2822","2823","2824","2825","2826","2827","2828","2829","2830","2831","2832","2833","2834","2835","2836","2837","2838","2839","2840","2841","2842","2843","2844","2845","2846","2847","2848","2849","2850","2851","2852","2853","2854","2855","2856","2857","2858","2859","2860","2861","2862","2863","2864","2865","2866","2867","2868","2869","2870","2871","2872","2873","2874","2875","2876","2877","2878","2879","2880","2881","2882","2883","2884","2885","2886","2887","2888","2889","2890","2891","2892","2893","2894","2895","2896","2897","2898","2899","2900","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923","2924","2925","2926","2927","2928","2929","2930","2931","2932","2933","2934","2935","2936","2937","2938","2939","2940","2941","2942","2943","2944","2945","2946","2947","2948","2949","2950","2951","2952","2953","2954","2955","2956","2957","2958","2959","2960","2961","2962","2963","2964","2965","2966","2967","2968","2969","2970","2971","2972","2973","2974","2975","2976","2977","2978","2979","2980","2981","2982","2983","2984","2985","2986","2987","2988","2989","2990","2991","2992","2993","2994","2995","2996","2997","2998","2999","3000","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017","3018","3019","3020","3021","3022","3023","3024","3025","3026","3027","3028","3029","3030","3031","3032","3033","3034","3035","3036","3037","3038","3039","3040","3041","3042","3043","3044","3045","3046","3047","3048","3049","3050","3051","3052","3053","3054","3055","3056","3057","3058","3059","3060","3061","3062","3063","3064","3065","3066","3067","3068","3069","3070","3071","3072","3073","3074","3075","3076","3077","3078","3079","3080","3081","3082","3083","3084","3085","3086","3087","3088","3089","3090","3091","3092","3093","3094","3095","3096","3097","3098","3099","3100","3101","3102","3103","3104","3105","3106","3107","3108","3109","3110","3111","3112","3113","3114","3115","3116","3117","3118","3119","3120","3121","3122","3123","3124","3125","3126","3127","3128","3129","3130","3131","3132","3133","3134","3135","3136","3137","3138","3139","3140","3141","3142","3143","3144","3145","3146","3147","3148","3149","3150","3151","3152","3153","3154","3155","3156","3157","3158","3159","3160","3161","3162","3163","3164","3165","3166","3167","3168","3169","3170","3171","3172","3173","3174","3175","3176","3177","3178","3179","3180","3181","3182","3183","3184","3185","3186","3187","3188","3189","3190","3191","3192","3193","3194","3195","3196","3197","3198","3199","3200","3201","3202","3203","3204","3205","3206","3207","3208","3209","3210","3211","3212","3213","3214","3215","3216","3217","3218","3219","3220","3221","3222","3223","3224","3225","3226","3227","3228","3229","3230","3231","3232","3233","3234","3235","3236","3237","3238","3239","3240","3241","3242","3243","3244","3245","3246","3247","3248","3249","3250","3251","3252","3253","3254","3255","3256","3257","3258","3259","3260","3261","3262","3263","3264","3265","3266","3267","3268","3269","3270","3271","3272","3273","3274","3275","3276","3277","3278","3279","3280","3281","3282","3283","3284","3285","3286","3287","3288","3289","3290","3291","3292","3293","3294","3295","3296","3297","3298","3299","3300","3301","3302","3303","3304","3305","3306","3307","3308","3309","3310","3311","3312","3313","3314","3315","3316","3317","3318","3319","3320","3321","3322","3323","3324","3325","3326","3327","3328","3329","3330","3331","3332","3333","3334","3335","3336","3337","3338","3339","3340","3341","3342","3343","3344","3345","3346","3347","3348","3349","3350","3351","3352","3353","3354","3355","3356","3357","3358","3359","3360","3361","3362","3363","3364","3365","3366","3367","3368","3369","3370","3371","3372","3373","3374","3375","3376","3377","3378","3379","3380","3381","3382","3383","3384","3385","3386","3387","3388","3389","3390","3391","3392","3393","3394","3395","3396","3397","3398","3399","3400","3401","3402","3403","3404","3405","3406","3407","3408","3409","3410","3411","3412","3413","3414","3415","3416","3417","3418","3419","3420","3421","3422","3423","3424","3425","3426","3427","3428","3429","3430","3431","3432","3433","3434","3435","3436","3437","3438","3439","3440","3441","3442","3443","3444","3445","3446","3447","3448","3449","3450","3451","3452","3453","3454","3455","3456","3457","3458","3459","3460","3461","3462","3463","3464","3465","3466","3467","3468","3469","3470","3471","3472","3473","3474","3475","3476","3477","3478","3479","3480","3481","3482","3483","3484","3485","3486","3487","3488","3489","3490","3491","3492","3493","3494","3495","3496","3497","3498","3499","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3512","3513","3514","3515","3516","3517","3518","3519","3520","3521","3522","3523","3524","3525","3526","3527","3528","3529","3530","3531","3532","3533","3534","3535","3536","3537","3538","3539","3540","3541","3542","3543","3544","3545","3546","3547","3548","3549","3550","3551","3552","3553","3554","3555","3556","3557","3558","3559","3560","3561","3562","3563","3564","3565","3566","3567","3568","3569","3570","3571","3572","3573","3574","3575","3576","3577","3578","3579","3580","3581","3582","3583","3584","3585","3586","3587","3588","3589","3590","3591","3592","3593","3594","3595","3596","3597","3598","3599"],"offerType":"string","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.456Z"} {"level":"error","message":"Failed to parse offer string: Unexpected token v in JSON at position 0","stack":"SyntaxError: Unexpected token v in JSON at position 0\n at JSON.parse ()\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket. (/home/data/god_eye/backend/src/server.js:524:29)\n at Socket.emit (node:events:529:35)\n at Socket.emitUntyped (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:69:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:697:39\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-04T22:03:31.458Z"} {"level":"error","message":"Unable to normalize offer:","timestamp":"2025-10-04T22:03:31.458Z"} {"level":"error","message":"❌ Invalid WebRTC offer format:","timestamp":"2025-10-04T22:03:31.458Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693","694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722","723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740","741","742","743","744","745","746","747","748","749","750","751","752","753","754","755","756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856","857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1176","1177","1178","1179","1180","1181","1182","1183","1184","1185","1186","1187","1188","1189","1190","1191","1192","1193","1194","1195","1196","1197","1198","1199","1200","1201","1202","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221","1222","1223","1224","1225","1226","1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282","1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312","1313","1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1330","1331","1332","1333","1334","1335","1336","1337","1338","1339","1340","1341","1342","1343","1344","1345","1346","1347","1348","1349","1350","1351","1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368","1369","1370","1371","1372","1373","1374","1375","1376","1377","1378","1379","1380","1381","1382","1383","1384","1385","1386","1387","1388","1389","1390","1391","1392","1393","1394","1395","1396","1397","1398","1399","1400","1401","1402","1403","1404","1405","1406","1407","1408","1409","1410","1411","1412","1413","1414","1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431","1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1442","1443","1444","1445","1446","1447","1448","1449","1450","1451","1452","1453","1454","1455","1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1469","1470","1471","1472","1473","1474","1475","1476","1477","1478","1479","1480","1481","1482","1483","1484","1485","1486","1487","1488","1489","1490","1491","1492","1493","1494","1495","1496","1497","1498","1499","1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512","1513","1514","1515","1516","1517","1518","1519","1520","1521","1522","1523","1524","1525","1526","1527","1528","1529","1530","1531","1532","1533","1534","1535","1536","1537","1538","1539","1540","1541","1542","1543","1544","1545","1546","1547","1548","1549","1550","1551","1552","1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1565","1566","1567","1568","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1595","1596","1597","1598","1599","1600","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624","1625","1626","1627","1628","1629","1630","1631","1632","1633","1634","1635","1636","1637","1638","1639","1640","1641","1642","1643","1644","1645","1646","1647","1648","1649","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660","1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677","1678","1679","1680","1681","1682","1683","1684","1685","1686","1687","1688","1689","1690","1691","1692","1693","1694","1695","1696","1697","1698","1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1740","1741","1742","1743","1744","1745","1746","1747","1748","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1767","1768","1769","1770","1771","1772","1773","1774","1775","1776","1777","1778","1779","1780","1781","1782","1783","1784","1785","1786","1787","1788","1789","1790","1791","1792","1793","1794","1795","1796","1797","1798","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","2142","2143","2144","2145","2146","2147","2148","2149","2150","2151","2152","2153","2154","2155","2156","2157","2158","2159","2160","2161","2162","2163","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2176","2177","2178","2179","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2193","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216","2217","2218","2219","2220","2221","2222","2223","2224","2225","2226","2227","2228","2229","2230","2231","2232","2233","2234","2235","2236","2237","2238","2239","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2252","2253","2254","2255","2256","2257","2258","2259","2260","2261","2262","2263","2264","2265","2266","2267","2268","2269","2270","2271","2272","2273","2274","2275","2276","2277","2278","2279","2280","2281","2282","2283","2284","2285","2286","2287","2288","2289","2290","2291","2292","2293","2294","2295","2296","2297","2298","2299","2300","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314","2315","2316","2317","2318","2319","2320","2321","2322","2323","2324","2325","2326","2327","2328","2329","2330","2331","2332","2333","2334","2335","2336","2337","2338","2339","2340","2341","2342","2343","2344","2345","2346","2347","2348","2349","2350","2351","2352","2353","2354","2355","2356","2357","2358","2359","2360","2361","2362","2363","2364","2365","2366","2367","2368","2369","2370","2371","2372","2373","2374","2375","2376","2377","2378","2379","2380","2381","2382","2383","2384","2385","2386","2387","2388","2389","2390","2391","2392","2393","2394","2395","2396","2397","2398","2399","2400","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411","2412","2413","2414","2415","2416","2417","2418","2419","2420","2421","2422","2423","2424","2425","2426","2427","2428","2429","2430","2431","2432","2433","2434","2435","2436","2437","2438","2439","2440","2441","2442","2443","2444","2445","2446","2447","2448","2449","2450","2451","2452","2453","2454","2455","2456","2457","2458","2459","2460","2461","2462","2463","2464","2465","2466","2467","2468","2469","2470","2471","2472","2473","2474","2475","2476","2477","2478","2479","2480","2481","2482","2483","2484","2485","2486","2487","2488","2489","2490","2491","2492","2493","2494","2495","2496","2497","2498","2499","2500","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511","2512","2513","2514","2515","2516","2517","2518","2519","2520","2521","2522","2523","2524","2525","2526","2527","2528","2529","2530","2531","2532","2533","2534","2535","2536","2537","2538","2539","2540","2541","2542","2543","2544","2545","2546","2547","2548","2549","2550","2551","2552","2553","2554","2555","2556","2557","2558","2559","2560","2561","2562","2563","2564","2565","2566","2567","2568","2569","2570","2571","2572","2573","2574","2575","2576","2577","2578","2579","2580","2581","2582","2583","2584","2585","2586","2587","2588","2589","2590","2591","2592","2593","2594","2595","2596","2597","2598","2599","2600","2601","2602","2603","2604","2605","2606","2607","2608","2609","2610","2611","2612","2613","2614","2615","2616","2617","2618","2619","2620","2621","2622","2623","2624","2625","2626","2627","2628","2629","2630","2631","2632","2633","2634","2635","2636","2637","2638","2639","2640","2641","2642","2643","2644","2645","2646","2647","2648","2649","2650","2651","2652","2653","2654","2655","2656","2657","2658","2659","2660","2661","2662","2663","2664","2665","2666","2667","2668","2669","2670","2671","2672","2673","2674","2675","2676","2677","2678","2679","2680","2681","2682","2683","2684","2685","2686","2687","2688","2689","2690","2691","2692","2693","2694","2695","2696","2697","2698","2699","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2711","2712","2713","2714","2715","2716","2717","2718","2719","2720","2721","2722","2723","2724","2725","2726","2727","2728","2729","2730","2731","2732","2733","2734","2735","2736","2737","2738","2739","2740","2741","2742","2743","2744","2745","2746","2747","2748","2749","2750","2751","2752","2753","2754","2755","2756","2757","2758","2759","2760","2761","2762","2763","2764","2765","2766","2767","2768","2769","2770","2771","2772","2773","2774","2775","2776","2777","2778","2779","2780","2781","2782","2783","2784","2785","2786","2787","2788","2789","2790","2791","2792","2793","2794","2795","2796","2797","2798","2799","2800","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810","2811","2812","2813","2814","2815","2816","2817","2818","2819","2820","2821","2822","2823","2824","2825","2826","2827","2828","2829","2830","2831","2832","2833","2834","2835","2836","2837","2838","2839","2840","2841","2842","2843","2844","2845","2846","2847","2848","2849","2850","2851","2852","2853","2854","2855","2856","2857","2858","2859","2860","2861","2862","2863","2864","2865","2866","2867","2868","2869","2870","2871","2872","2873","2874","2875","2876","2877","2878","2879","2880","2881","2882","2883","2884","2885","2886","2887","2888","2889","2890","2891","2892","2893","2894","2895","2896","2897","2898","2899","2900","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923","2924","2925","2926","2927","2928","2929","2930","2931","2932","2933","2934","2935","2936","2937","2938","2939","2940","2941","2942","2943","2944","2945","2946","2947","2948","2949","2950","2951","2952","2953","2954","2955","2956","2957","2958","2959","2960","2961","2962","2963","2964","2965","2966","2967","2968","2969","2970","2971","2972","2973","2974","2975","2976","2977","2978","2979","2980","2981","2982","2983","2984","2985","2986","2987","2988","2989","2990","2991","2992","2993","2994","2995","2996","2997","2998","2999","3000","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017","3018","3019","3020","3021","3022","3023","3024","3025","3026","3027","3028","3029","3030","3031","3032","3033","3034","3035","3036","3037","3038","3039","3040","3041","3042","3043","3044","3045","3046","3047","3048","3049","3050","3051","3052","3053","3054","3055","3056","3057","3058","3059","3060","3061","3062","3063","3064","3065","3066","3067","3068","3069","3070","3071","3072","3073","3074","3075","3076","3077","3078","3079","3080","3081","3082","3083","3084","3085","3086","3087","3088","3089","3090","3091","3092","3093","3094","3095","3096","3097","3098","3099","3100","3101","3102","3103","3104","3105","3106","3107","3108","3109","3110","3111","3112","3113","3114","3115","3116","3117","3118","3119","3120","3121","3122","3123","3124","3125","3126","3127","3128","3129","3130","3131","3132","3133","3134","3135","3136","3137","3138","3139","3140","3141","3142","3143","3144","3145","3146","3147","3148","3149","3150","3151","3152","3153","3154","3155","3156","3157","3158","3159","3160","3161","3162","3163","3164","3165","3166","3167","3168","3169","3170","3171","3172","3173","3174","3175","3176","3177","3178","3179","3180","3181","3182","3183","3184","3185","3186","3187","3188","3189","3190","3191","3192","3193","3194","3195","3196","3197","3198","3199","3200","3201","3202","3203","3204","3205","3206","3207","3208","3209","3210","3211","3212","3213","3214","3215","3216","3217","3218","3219","3220","3221","3222","3223","3224","3225","3226","3227","3228","3229","3230","3231","3232","3233","3234","3235","3236","3237","3238","3239","3240","3241","3242","3243","3244","3245","3246","3247","3248","3249","3250","3251","3252","3253","3254","3255","3256","3257","3258","3259","3260","3261","3262","3263","3264","3265","3266","3267","3268","3269","3270","3271","3272","3273","3274","3275","3276","3277","3278","3279","3280","3281","3282","3283","3284","3285","3286","3287","3288","3289","3290","3291","3292","3293","3294","3295","3296","3297","3298","3299","3300","3301","3302","3303","3304","3305","3306","3307","3308","3309","3310","3311","3312","3313","3314","3315","3316","3317","3318","3319","3320","3321","3322","3323","3324","3325","3326","3327","3328","3329","3330","3331","3332","3333","3334","3335","3336","3337","3338","3339","3340","3341","3342","3343","3344","3345","3346","3347","3348","3349","3350","3351","3352","3353","3354","3355","3356","3357","3358","3359","3360","3361","3362","3363","3364","3365","3366","3367","3368","3369","3370","3371","3372","3373","3374","3375","3376","3377","3378","3379","3380","3381","3382","3383","3384","3385","3386","3387","3388","3389","3390","3391","3392","3393","3394","3395","3396","3397","3398","3399","3400","3401","3402","3403","3404","3405","3406","3407","3408","3409","3410","3411","3412","3413","3414","3415","3416","3417","3418","3419","3420","3421","3422","3423","3424","3425","3426","3427","3428","3429","3430","3431","3432","3433","3434","3435","3436","3437","3438","3439","3440","3441","3442","3443","3444","3445","3446","3447","3448","3449","3450","3451","3452","3453","3454","3455","3456","3457","3458","3459","3460","3461","3462","3463","3464","3465","3466","3467","3468","3469","3470","3471","3472","3473","3474","3475","3476","3477","3478","3479","3480","3481","3482","3483","3484","3485","3486","3487","3488","3489","3490","3491","3492","3493","3494","3495","3496","3497","3498","3499","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3512","3513","3514","3515","3516","3517","3518","3519","3520","3521","3522","3523","3524","3525","3526","3527","3528","3529","3530","3531","3532","3533","3534","3535","3536","3537","3538","3539","3540","3541","3542","3543","3544","3545","3546","3547","3548","3549","3550","3551","3552","3553","3554","3555","3556","3557","3558","3559","3560","3561","3562","3563","3564","3565","3566","3567","3568","3569","3570","3571","3572","3573","3574","3575","3576","3577","3578","3579","3580","3581","3582","3583","3584","3585","3586","3587","3588","3589","3590","3591","3592","3593","3594","3595","3596","3597","3598","3599"],"offerType":"string","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.461Z"} {"level":"error","message":"Failed to parse offer string: Unexpected token v in JSON at position 0","stack":"SyntaxError: Unexpected token v in JSON at position 0\n at JSON.parse ()\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket. (/home/data/god_eye/backend/src/server.js:524:29)\n at Socket.emit (node:events:529:35)\n at Socket.emitUntyped (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:69:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:697:39\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-04T22:03:31.465Z"} {"level":"error","message":"Unable to normalize offer:","timestamp":"2025-10-04T22:03:31.465Z"} {"level":"error","message":"❌ Invalid WebRTC offer format:","timestamp":"2025-10-04T22:03:31.465Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 56173 typ host generation 0 ufrag 93vJ network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411311,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.515Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.515Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.515Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.516Z"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 49199 typ host generation 0 ufrag 93vJ network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411341,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 52040 typ host generation 0 ufrag 93vJ network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411344,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 42642 typ host generation 0 ufrag 93vJ network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411352,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 54915 typ host generation 0 ufrag 93vJ network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411358,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.529Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.529Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.530Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.530Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.530Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.530Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.531Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.531Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.531Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.531Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.532Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.532Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.534Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.534Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.534Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.534Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 54009 typ host generation 0 ufrag 93vJ network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411365,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.535Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.536Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.536Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.536Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 49199 typ srflx raddr 192.168.219.109 rport 49199 generation 0 ufrag 93vJ network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411438,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.590Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.590Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.590Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.590Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 54915 typ srflx raddr 192.168.219.109 rport 54915 generation 0 ufrag 93vJ network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":1759615411511,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.670Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.670Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7b42ab13-8d25-4f38-9c99-ded4e5a541a7","timestamp":"2025-10-04T22:03:31.670Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:31.670Z"} {"level":"info","message":"Client disconnected: wuQcW5Ja7ILY0XONAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T22:03:36.695Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:36.696Z"} {"level":"info","message":"🔌 Connection terminated: 7b42ab13-8d25-4f38-9c99-ded4e5a541a7 - Operator disconnected","timestamp":"2025-10-04T22:03:36.696Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:36.696Z"} {"level":"info","message":"Client disconnected: 6-mDMYoC6RkDaKi_AAAD, reason: client namespace disconnect","timestamp":"2025-10-04T22:03:38.330Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.532Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.532Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615421443} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615421443} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615421443} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615421443} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.705Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.705Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.705Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.706Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.706Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.707Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.707Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.707Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.707Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.707Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.707Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.708Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.708Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.708Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.708Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.708Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.708Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.708Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.709Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.709Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.709Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.709Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615421443} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.710Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615421443} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615421443} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.712Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Handling Android registration for socket: kUXVqXj8QuKSZIeKAAAN","timestamp":"2025-10-04T22:03:41.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615421443} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:41.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.712Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"kUXVqXj8QuKSZIeKAAAN","status":"online","timestamp":"2025-10-04T22:03:41.712Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:03:41.713Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: spfW4KTtgmXSnkN6AAAP","timestamp":"2025-10-04T22:03:42.791Z","userAgent":""} {"level":"info","message":"Operator registered: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:42.793Z"} {"level":"info","message":"📷 Camera request received from operator socket spfW4KTtgmXSnkN6AAAP","timestamp":"2025-10-04T22:03:44.930Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:03:44.930Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:03:44.930Z"} {"level":"info","message":"📷 Operator IDs: 4a3afad5-8a58-429a-b11c-245c2f93e9ae, 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:44.930Z"} {"level":"info","message":"✅ Operator found: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:44.931Z"} {"level":"info","message":"🔗 Initiating connection: 98104406-db79-434e-9ad8-7f334aa1c720 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:03:44.931Z"} {"level":"info","message":"🆔 Generated connectionId: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:44.931Z"} {"level":"info","message":"💾 Saving connection request: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:44.931Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:03:44.931Z"} {"level":"info","message":"💾 All request IDs: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:44.931Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:03:44.931Z"} {"level":"info","message":"✅ Connection request created: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:44.932Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:03:44.932Z"} {"level":"info","message":"✅ Connection initiated: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:44.932Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"98104406-db79-434e-9ad8-7f334aa1c720","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615424978} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"98104406-db79-434e-9ad8-7f334aa1c720","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615424978} {"level":"info","message":"📱 Camera response received from Android: sessionId=e2ee0254-7d5f-47d3-a48a-91c39ba4e21b, accepted=true","timestamp":"2025-10-04T22:03:45.135Z"} {"level":"info","message":"🔍 Looking for connection request: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.135Z"} {"level":"info","message":"🔍 Available connection requests: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.135Z"} {"level":"info","message":"✅ Connection established: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.135Z"} {"level":"info","message":"✅ Connection accepted: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.135Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":"v=0\r\no=- 7696946928424306148 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:0iHb\r\na=ice-pwd:1yJ24JaFdEFQ49H2qlJlQL8p\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 67:AC:EB:5B:85:4E:DE:B8:B6:0F:1C:70:B8:06:71:38:73:8B:54:D1:04:90:25:66:2A:C3:74:05:81:69:FD:45\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3477829835 1673446429\r\na=ssrc:3477829835 cname:x5kgwf2oY9axvC0B\r\na=ssrc:3477829835 msid:stream videoTrack\r\na=ssrc:1673446429 cname:x5kgwf2oY9axvC0B\r\na=ssrc:1673446429 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:0iHb\r\na=ice-pwd:1yJ24JaFdEFQ49H2qlJlQL8p\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 67:AC:EB:5B:85:4E:DE:B8:B6:0F:1C:70:B8:06:71:38:73:8B:54:D1:04:90:25:66:2A:C3:74:05:81:69:FD:45\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1582604499 cname:x5kgwf2oY9axvC0B\r\na=ssrc:1582604499 msid:stream audioTrack\r\n","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425116,"type":"webrtc:offer"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693","694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722","723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740","741","742","743","744","745","746","747","748","749","750","751","752","753","754","755","756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856","857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1176","1177","1178","1179","1180","1181","1182","1183","1184","1185","1186","1187","1188","1189","1190","1191","1192","1193","1194","1195","1196","1197","1198","1199","1200","1201","1202","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221","1222","1223","1224","1225","1226","1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282","1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312","1313","1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1330","1331","1332","1333","1334","1335","1336","1337","1338","1339","1340","1341","1342","1343","1344","1345","1346","1347","1348","1349","1350","1351","1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368","1369","1370","1371","1372","1373","1374","1375","1376","1377","1378","1379","1380","1381","1382","1383","1384","1385","1386","1387","1388","1389","1390","1391","1392","1393","1394","1395","1396","1397","1398","1399","1400","1401","1402","1403","1404","1405","1406","1407","1408","1409","1410","1411","1412","1413","1414","1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431","1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1442","1443","1444","1445","1446","1447","1448","1449","1450","1451","1452","1453","1454","1455","1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1469","1470","1471","1472","1473","1474","1475","1476","1477","1478","1479","1480","1481","1482","1483","1484","1485","1486","1487","1488","1489","1490","1491","1492","1493","1494","1495","1496","1497","1498","1499","1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512","1513","1514","1515","1516","1517","1518","1519","1520","1521","1522","1523","1524","1525","1526","1527","1528","1529","1530","1531","1532","1533","1534","1535","1536","1537","1538","1539","1540","1541","1542","1543","1544","1545","1546","1547","1548","1549","1550","1551","1552","1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1565","1566","1567","1568","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1595","1596","1597","1598","1599","1600","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624","1625","1626","1627","1628","1629","1630","1631","1632","1633","1634","1635","1636","1637","1638","1639","1640","1641","1642","1643","1644","1645","1646","1647","1648","1649","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660","1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677","1678","1679","1680","1681","1682","1683","1684","1685","1686","1687","1688","1689","1690","1691","1692","1693","1694","1695","1696","1697","1698","1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1740","1741","1742","1743","1744","1745","1746","1747","1748","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1767","1768","1769","1770","1771","1772","1773","1774","1775","1776","1777","1778","1779","1780","1781","1782","1783","1784","1785","1786","1787","1788","1789","1790","1791","1792","1793","1794","1795","1796","1797","1798","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","2142","2143","2144","2145","2146","2147","2148","2149","2150","2151","2152","2153","2154","2155","2156","2157","2158","2159","2160","2161","2162","2163","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2176","2177","2178","2179","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2193","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216","2217","2218","2219","2220","2221","2222","2223","2224","2225","2226","2227","2228","2229","2230","2231","2232","2233","2234","2235","2236","2237","2238","2239","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2252","2253","2254","2255","2256","2257","2258","2259","2260","2261","2262","2263","2264","2265","2266","2267","2268","2269","2270","2271","2272","2273","2274","2275","2276","2277","2278","2279","2280","2281","2282","2283","2284","2285","2286","2287","2288","2289","2290","2291","2292","2293","2294","2295","2296","2297","2298","2299","2300","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314","2315","2316","2317","2318","2319","2320","2321","2322","2323","2324","2325","2326","2327","2328","2329","2330","2331","2332","2333","2334","2335","2336","2337","2338","2339","2340","2341","2342","2343","2344","2345","2346","2347","2348","2349","2350","2351","2352","2353","2354","2355","2356","2357","2358","2359","2360","2361","2362","2363","2364","2365","2366","2367","2368","2369","2370","2371","2372","2373","2374","2375","2376","2377","2378","2379","2380","2381","2382","2383","2384","2385","2386","2387","2388","2389","2390","2391","2392","2393","2394","2395","2396","2397","2398","2399","2400","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411","2412","2413","2414","2415","2416","2417","2418","2419","2420","2421","2422","2423","2424","2425","2426","2427","2428","2429","2430","2431","2432","2433","2434","2435","2436","2437","2438","2439","2440","2441","2442","2443","2444","2445","2446","2447","2448","2449","2450","2451","2452","2453","2454","2455","2456","2457","2458","2459","2460","2461","2462","2463","2464","2465","2466","2467","2468","2469","2470","2471","2472","2473","2474","2475","2476","2477","2478","2479","2480","2481","2482","2483","2484","2485","2486","2487","2488","2489","2490","2491","2492","2493","2494","2495","2496","2497","2498","2499","2500","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511","2512","2513","2514","2515","2516","2517","2518","2519","2520","2521","2522","2523","2524","2525","2526","2527","2528","2529","2530","2531","2532","2533","2534","2535","2536","2537","2538","2539","2540","2541","2542","2543","2544","2545","2546","2547","2548","2549","2550","2551","2552","2553","2554","2555","2556","2557","2558","2559","2560","2561","2562","2563","2564","2565","2566","2567","2568","2569","2570","2571","2572","2573","2574","2575","2576","2577","2578","2579","2580","2581","2582","2583","2584","2585","2586","2587","2588","2589","2590","2591","2592","2593","2594","2595","2596","2597","2598","2599","2600","2601","2602","2603","2604","2605","2606","2607","2608","2609","2610","2611","2612","2613","2614","2615","2616","2617","2618","2619","2620","2621","2622","2623","2624","2625","2626","2627","2628","2629","2630","2631","2632","2633","2634","2635","2636","2637","2638","2639","2640","2641","2642","2643","2644","2645","2646","2647","2648","2649","2650","2651","2652","2653","2654","2655","2656","2657","2658","2659","2660","2661","2662","2663","2664","2665","2666","2667","2668","2669","2670","2671","2672","2673","2674","2675","2676","2677","2678","2679","2680","2681","2682","2683","2684","2685","2686","2687","2688","2689","2690","2691","2692","2693","2694","2695","2696","2697","2698","2699","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2711","2712","2713","2714","2715","2716","2717","2718","2719","2720","2721","2722","2723","2724","2725","2726","2727","2728","2729","2730","2731","2732","2733","2734","2735","2736","2737","2738","2739","2740","2741","2742","2743","2744","2745","2746","2747","2748","2749","2750","2751","2752","2753","2754","2755","2756","2757","2758","2759","2760","2761","2762","2763","2764","2765","2766","2767","2768","2769","2770","2771","2772","2773","2774","2775","2776","2777","2778","2779","2780","2781","2782","2783","2784","2785","2786","2787","2788","2789","2790","2791","2792","2793","2794","2795","2796","2797","2798","2799","2800","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810","2811","2812","2813","2814","2815","2816","2817","2818","2819","2820","2821","2822","2823","2824","2825","2826","2827","2828","2829","2830","2831","2832","2833","2834","2835","2836","2837","2838","2839","2840","2841","2842","2843","2844","2845","2846","2847","2848","2849","2850","2851","2852","2853","2854","2855","2856","2857","2858","2859","2860","2861","2862","2863","2864","2865","2866","2867","2868","2869","2870","2871","2872","2873","2874","2875","2876","2877","2878","2879","2880","2881","2882","2883","2884","2885","2886","2887","2888","2889","2890","2891","2892","2893","2894","2895","2896","2897","2898","2899","2900","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923","2924","2925","2926","2927","2928","2929","2930","2931","2932","2933","2934","2935","2936","2937","2938","2939","2940","2941","2942","2943","2944","2945","2946","2947","2948","2949","2950","2951","2952","2953","2954","2955","2956","2957","2958","2959","2960","2961","2962","2963","2964","2965","2966","2967","2968","2969","2970","2971","2972","2973","2974","2975","2976","2977","2978","2979","2980","2981","2982","2983","2984","2985","2986","2987","2988","2989","2990","2991","2992","2993","2994","2995","2996","2997","2998","2999","3000","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017","3018","3019","3020","3021","3022","3023","3024","3025","3026","3027","3028","3029","3030","3031","3032","3033","3034","3035","3036","3037","3038","3039","3040","3041","3042","3043","3044","3045","3046","3047","3048","3049","3050","3051","3052","3053","3054","3055","3056","3057","3058","3059","3060","3061","3062","3063","3064","3065","3066","3067","3068","3069","3070","3071","3072","3073","3074","3075","3076","3077","3078","3079","3080","3081","3082","3083","3084","3085","3086","3087","3088","3089","3090","3091","3092","3093","3094","3095","3096","3097","3098","3099","3100","3101","3102","3103","3104","3105","3106","3107","3108","3109","3110","3111","3112","3113","3114","3115","3116","3117","3118","3119","3120","3121","3122","3123","3124","3125","3126","3127","3128","3129","3130","3131","3132","3133","3134","3135","3136","3137","3138","3139","3140","3141","3142","3143","3144","3145","3146","3147","3148","3149","3150","3151","3152","3153","3154","3155","3156","3157","3158","3159","3160","3161","3162","3163","3164","3165","3166","3167","3168","3169","3170","3171","3172","3173","3174","3175","3176","3177","3178","3179","3180","3181","3182","3183","3184","3185","3186","3187","3188","3189","3190","3191","3192","3193","3194","3195","3196","3197","3198","3199","3200","3201","3202","3203","3204","3205","3206","3207","3208","3209","3210","3211","3212","3213","3214","3215","3216","3217","3218","3219","3220","3221","3222","3223","3224","3225","3226","3227","3228","3229","3230","3231","3232","3233","3234","3235","3236","3237","3238","3239","3240","3241","3242","3243","3244","3245","3246","3247","3248","3249","3250","3251","3252","3253","3254","3255","3256","3257","3258","3259","3260","3261","3262","3263","3264","3265","3266","3267","3268","3269","3270","3271","3272","3273","3274","3275","3276","3277","3278","3279","3280","3281","3282","3283","3284","3285","3286","3287","3288","3289","3290","3291","3292","3293","3294","3295","3296","3297","3298","3299","3300","3301","3302","3303","3304","3305","3306","3307","3308","3309","3310","3311","3312","3313","3314","3315","3316","3317","3318","3319","3320","3321","3322","3323","3324","3325","3326","3327","3328","3329","3330","3331","3332","3333","3334","3335","3336","3337","3338","3339","3340","3341","3342","3343","3344","3345","3346","3347","3348","3349","3350","3351","3352","3353","3354","3355","3356","3357","3358","3359","3360","3361","3362","3363","3364","3365","3366","3367","3368","3369","3370","3371","3372","3373","3374","3375","3376","3377","3378","3379","3380","3381","3382","3383","3384","3385","3386","3387","3388","3389","3390","3391","3392","3393","3394","3395","3396","3397","3398","3399","3400","3401","3402","3403","3404","3405","3406","3407","3408","3409","3410","3411","3412","3413","3414","3415","3416","3417","3418","3419","3420","3421","3422","3423","3424","3425","3426","3427","3428","3429","3430","3431","3432","3433","3434","3435","3436","3437","3438","3439","3440","3441","3442","3443","3444","3445","3446","3447","3448","3449","3450","3451","3452","3453","3454","3455","3456","3457","3458","3459","3460","3461","3462","3463","3464","3465","3466","3467","3468","3469","3470","3471","3472","3473","3474","3475","3476","3477","3478","3479","3480","3481","3482","3483","3484","3485","3486","3487","3488","3489","3490","3491","3492","3493","3494","3495","3496","3497","3498","3499","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3512","3513","3514","3515","3516","3517","3518","3519","3520","3521","3522","3523","3524","3525","3526","3527","3528","3529","3530","3531","3532","3533","3534","3535","3536","3537","3538","3539","3540","3541","3542","3543","3544","3545","3546","3547","3548","3549","3550","3551","3552","3553","3554","3555","3556","3557","3558","3559","3560","3561","3562","3563","3564","3565","3566","3567","3568","3569","3570","3571","3572","3573","3574","3575","3576","3577","3578","3579","3580","3581","3582","3583","3584","3585","3586","3587","3588","3589","3590","3591","3592","3593","3594","3595","3596","3597","3598","3599"],"offerType":"string","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.277Z"} {"level":"error","message":"Failed to parse offer string: Unexpected token v in JSON at position 0","stack":"SyntaxError: Unexpected token v in JSON at position 0\n at JSON.parse ()\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket. (/home/data/god_eye/backend/src/server.js:524:29)\n at Socket.emit (node:events:517:28)\n at Socket.emitUntyped (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:69:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:697:39\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-04T22:03:45.279Z"} {"level":"error","message":"Unable to normalize offer:","timestamp":"2025-10-04T22:03:45.279Z"} {"level":"error","message":"❌ Invalid WebRTC offer format:","timestamp":"2025-10-04T22:03:45.279Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 32844 typ host generation 0 ufrag 0iHb network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425167,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.397Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.397Z"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 53411 typ host generation 0 ufrag 0iHb network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425170,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 56249 typ host generation 0 ufrag 0iHb network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425171,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 41660 typ host generation 0 ufrag 0iHb network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425172,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 54594 typ host generation 0 ufrag 0iHb network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425174,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.419Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.419Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.420Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.420Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.420Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.420Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.420Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.421Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 41132 typ host generation 0 ufrag 0iHb network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425175,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.422Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.423Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 54594 typ srflx raddr 192.168.219.109 rport 54594 generation 0 ufrag 0iHb network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425250,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 53411 typ srflx raddr 192.168.219.109 rport 53411 generation 0 ufrag 0iHb network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":1759615425282,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.468Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.468Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e2ee0254-7d5f-47d3-a48a-91c39ba4e21b","timestamp":"2025-10-04T22:03:45.469Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:03:45.469Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615428140} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615428140} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615428140} {"level":"info","message":"Client disconnected: spfW4KTtgmXSnkN6AAAP, reason: transport close","timestamp":"2025-10-04T22:03:55.161Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:55.161Z"} {"level":"info","message":"🔌 Connection terminated: e2ee0254-7d5f-47d3-a48a-91c39ba4e21b - Operator disconnected","timestamp":"2025-10-04T22:03:55.161Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 98104406-db79-434e-9ad8-7f334aa1c720","timestamp":"2025-10-04T22:03:55.161Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:03.998Z","userAgent":""} {"level":"info","message":"Operator registered: 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:04.000Z"} {"level":"info","message":"Client disconnected: kUXVqXj8QuKSZIeKAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T22:04:04.936Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:04.937Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:04.937Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:04.938Z"} {"level":"info","message":"📱 Sending 0 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:04.939Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.787Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.787Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615445672} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615445672} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615445672} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615445672} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.934Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.934Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.934Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.935Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.935Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.935Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.935Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.936Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.936Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.936Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.936Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.936Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.936Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.937Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.937Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.937Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.937Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.937Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.938Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.938Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.938Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.938Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.938Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.939Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.939Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615445672} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615445672} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615445672} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.940Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.940Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.940Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.941Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.941Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.941Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.941Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.941Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.942Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.942Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Handling Android registration for socket: 7lNjn1xZC9f_OGAhAAAT","timestamp":"2025-10-04T22:04:05.942Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615445672} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:05.942Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.942Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7lNjn1xZC9f_OGAhAAAT","status":"online","timestamp":"2025-10-04T22:04:05.943Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:04:05.943Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.945Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.945Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.945Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.945Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.946Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.946Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.946Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.946Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.946Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.947Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.947Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.947Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.948Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.948Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:05.948Z"} {"level":"info","message":"📱 Sending 1 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:05.949Z"} {"level":"info","message":"📷 Camera request received from operator socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:04:07.050Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:04:07.050Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"📷 Operator IDs: 4a3afad5-8a58-429a-b11c-245c2f93e9ae, 98104406-db79-434e-9ad8-7f334aa1c720, 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"✅ Operator found: 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"🔗 Initiating connection: 273961e9-64d4-48ce-9768-e0aa09858366 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"🆔 Generated connectionId: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"💾 Saving connection request: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"💾 All request IDs: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"✅ Connection request created: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:04:07.051Z"} {"level":"info","message":"✅ Connection initiated: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.052Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"273961e9-64d4-48ce-9768-e0aa09858366","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615446995} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"273961e9-64d4-48ce-9768-e0aa09858366","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615446995} {"level":"info","message":"📱 Camera response received from Android: sessionId=61ab6275-df55-4a20-8475-6da2a1885f70, accepted=true","timestamp":"2025-10-04T22:04:07.152Z"} {"level":"info","message":"🔍 Looking for connection request: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.152Z"} {"level":"info","message":"🔍 Available connection requests: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.152Z"} {"level":"info","message":"✅ Connection established: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.152Z"} {"level":"info","message":"✅ Connection accepted: 61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.152Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":"v=0\r\no=- 7584716703593203607 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:d9dE\r\na=ice-pwd:BvEbF9z/rC6V/jb+yWwWuV14\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 71:64:22:AA:97:00:BF:B3:99:95:35:34:AA:52:AE:3D:96:CE:85:C4:2B:E8:22:8D:0B:F5:29:AA:9F:49:60:15\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3993095343 1867874938\r\na=ssrc:3993095343 cname:lw2I9yWxGk3ifE3b\r\na=ssrc:3993095343 msid:stream videoTrack\r\na=ssrc:1867874938 cname:lw2I9yWxGk3ifE3b\r\na=ssrc:1867874938 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:d9dE\r\na=ice-pwd:BvEbF9z/rC6V/jb+yWwWuV14\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 71:64:22:AA:97:00:BF:B3:99:95:35:34:AA:52:AE:3D:96:CE:85:C4:2B:E8:22:8D:0B:F5:29:AA:9F:49:60:15\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:995368939 cname:lw2I9yWxGk3ifE3b\r\na=ssrc:995368939 msid:stream audioTrack\r\n","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447040,"type":"webrtc:offer"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221","222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238","239","240","241","242","243","244","245","246","247","248","249","250","251","252","253","254","255","256","257","258","259","260","261","262","263","264","265","266","267","268","269","270","271","272","273","274","275","276","277","278","279","280","281","282","283","284","285","286","287","288","289","290","291","292","293","294","295","296","297","298","299","300","301","302","303","304","305","306","307","308","309","310","311","312","313","314","315","316","317","318","319","320","321","322","323","324","325","326","327","328","329","330","331","332","333","334","335","336","337","338","339","340","341","342","343","344","345","346","347","348","349","350","351","352","353","354","355","356","357","358","359","360","361","362","363","364","365","366","367","368","369","370","371","372","373","374","375","376","377","378","379","380","381","382","383","384","385","386","387","388","389","390","391","392","393","394","395","396","397","398","399","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","418","419","420","421","422","423","424","425","426","427","428","429","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","457","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","479","480","481","482","483","484","485","486","487","488","489","490","491","492","493","494","495","496","497","498","499","500","501","502","503","504","505","506","507","508","509","510","511","512","513","514","515","516","517","518","519","520","521","522","523","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","543","544","545","546","547","548","549","550","551","552","553","554","555","556","557","558","559","560","561","562","563","564","565","566","567","568","569","570","571","572","573","574","575","576","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","620","621","622","623","624","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","647","648","649","650","651","652","653","654","655","656","657","658","659","660","661","662","663","664","665","666","667","668","669","670","671","672","673","674","675","676","677","678","679","680","681","682","683","684","685","686","687","688","689","690","691","692","693","694","695","696","697","698","699","700","701","702","703","704","705","706","707","708","709","710","711","712","713","714","715","716","717","718","719","720","721","722","723","724","725","726","727","728","729","730","731","732","733","734","735","736","737","738","739","740","741","742","743","744","745","746","747","748","749","750","751","752","753","754","755","756","757","758","759","760","761","762","763","764","765","766","767","768","769","770","771","772","773","774","775","776","777","778","779","780","781","782","783","784","785","786","787","788","789","790","791","792","793","794","795","796","797","798","799","800","801","802","803","804","805","806","807","808","809","810","811","812","813","814","815","816","817","818","819","820","821","822","823","824","825","826","827","828","829","830","831","832","833","834","835","836","837","838","839","840","841","842","843","844","845","846","847","848","849","850","851","852","853","854","855","856","857","858","859","860","861","862","863","864","865","866","867","868","869","870","871","872","873","874","875","876","877","878","879","880","881","882","883","884","885","886","887","888","889","890","891","892","893","894","895","896","897","898","899","900","901","902","903","904","905","906","907","908","909","910","911","912","913","914","915","916","917","918","919","920","921","922","923","924","925","926","927","928","929","930","931","932","933","934","935","936","937","938","939","940","941","942","943","944","945","946","947","948","949","950","951","952","953","954","955","956","957","958","959","960","961","962","963","964","965","966","967","968","969","970","971","972","973","974","975","976","977","978","979","980","981","982","983","984","985","986","987","988","989","990","991","992","993","994","995","996","997","998","999","1000","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011","1012","1013","1014","1015","1016","1017","1018","1019","1020","1021","1022","1023","1024","1025","1026","1027","1028","1029","1030","1031","1032","1033","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1060","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1074","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1127","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1151","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1174","1175","1176","1177","1178","1179","1180","1181","1182","1183","1184","1185","1186","1187","1188","1189","1190","1191","1192","1193","1194","1195","1196","1197","1198","1199","1200","1201","1202","1203","1204","1205","1206","1207","1208","1209","1210","1211","1212","1213","1214","1215","1216","1217","1218","1219","1220","1221","1222","1223","1224","1225","1226","1227","1228","1229","1230","1231","1232","1233","1234","1235","1236","1237","1238","1239","1240","1241","1242","1243","1244","1245","1246","1247","1248","1249","1250","1251","1252","1253","1254","1255","1256","1257","1258","1259","1260","1261","1262","1263","1264","1265","1266","1267","1268","1269","1270","1271","1272","1273","1274","1275","1276","1277","1278","1279","1280","1281","1282","1283","1284","1285","1286","1287","1288","1289","1290","1291","1292","1293","1294","1295","1296","1297","1298","1299","1300","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312","1313","1314","1315","1316","1317","1318","1319","1320","1321","1322","1323","1324","1325","1326","1327","1328","1329","1330","1331","1332","1333","1334","1335","1336","1337","1338","1339","1340","1341","1342","1343","1344","1345","1346","1347","1348","1349","1350","1351","1352","1353","1354","1355","1356","1357","1358","1359","1360","1361","1362","1363","1364","1365","1366","1367","1368","1369","1370","1371","1372","1373","1374","1375","1376","1377","1378","1379","1380","1381","1382","1383","1384","1385","1386","1387","1388","1389","1390","1391","1392","1393","1394","1395","1396","1397","1398","1399","1400","1401","1402","1403","1404","1405","1406","1407","1408","1409","1410","1411","1412","1413","1414","1415","1416","1417","1418","1419","1420","1421","1422","1423","1424","1425","1426","1427","1428","1429","1430","1431","1432","1433","1434","1435","1436","1437","1438","1439","1440","1441","1442","1443","1444","1445","1446","1447","1448","1449","1450","1451","1452","1453","1454","1455","1456","1457","1458","1459","1460","1461","1462","1463","1464","1465","1466","1467","1468","1469","1470","1471","1472","1473","1474","1475","1476","1477","1478","1479","1480","1481","1482","1483","1484","1485","1486","1487","1488","1489","1490","1491","1492","1493","1494","1495","1496","1497","1498","1499","1500","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512","1513","1514","1515","1516","1517","1518","1519","1520","1521","1522","1523","1524","1525","1526","1527","1528","1529","1530","1531","1532","1533","1534","1535","1536","1537","1538","1539","1540","1541","1542","1543","1544","1545","1546","1547","1548","1549","1550","1551","1552","1553","1554","1555","1556","1557","1558","1559","1560","1561","1562","1563","1564","1565","1566","1567","1568","1569","1570","1571","1572","1573","1574","1575","1576","1577","1578","1579","1580","1581","1582","1583","1584","1585","1586","1587","1588","1589","1590","1591","1592","1593","1594","1595","1596","1597","1598","1599","1600","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610","1611","1612","1613","1614","1615","1616","1617","1618","1619","1620","1621","1622","1623","1624","1625","1626","1627","1628","1629","1630","1631","1632","1633","1634","1635","1636","1637","1638","1639","1640","1641","1642","1643","1644","1645","1646","1647","1648","1649","1650","1651","1652","1653","1654","1655","1656","1657","1658","1659","1660","1661","1662","1663","1664","1665","1666","1667","1668","1669","1670","1671","1672","1673","1674","1675","1676","1677","1678","1679","1680","1681","1682","1683","1684","1685","1686","1687","1688","1689","1690","1691","1692","1693","1694","1695","1696","1697","1698","1699","1700","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716","1717","1718","1719","1720","1721","1722","1723","1724","1725","1726","1727","1728","1729","1730","1731","1732","1733","1734","1735","1736","1737","1738","1739","1740","1741","1742","1743","1744","1745","1746","1747","1748","1749","1750","1751","1752","1753","1754","1755","1756","1757","1758","1759","1760","1761","1762","1763","1764","1765","1766","1767","1768","1769","1770","1771","1772","1773","1774","1775","1776","1777","1778","1779","1780","1781","1782","1783","1784","1785","1786","1787","1788","1789","1790","1791","1792","1793","1794","1795","1796","1797","1798","1799","1800","1801","1802","1803","1804","1805","1806","1807","1808","1809","1810","1811","1812","1813","1814","1815","1816","1817","1818","1819","1820","1821","1822","1823","1824","1825","1826","1827","1828","1829","1830","1831","1832","1833","1834","1835","1836","1837","1838","1839","1840","1841","1842","1843","1844","1845","1846","1847","1848","1849","1850","1851","1852","1853","1854","1855","1856","1857","1858","1859","1860","1861","1862","1863","1864","1865","1866","1867","1868","1869","1870","1871","1872","1873","1874","1875","1876","1877","1878","1879","1880","1881","1882","1883","1884","1885","1886","1887","1888","1889","1890","1891","1892","1893","1894","1895","1896","1897","1898","1899","1900","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924","1925","1926","1927","1928","1929","1930","1931","1932","1933","1934","1935","1936","1937","1938","1939","1940","1941","1942","1943","1944","1945","1946","1947","1948","1949","1950","1951","1952","1953","1954","1955","1956","1957","1958","1959","1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033","2034","2035","2036","2037","2038","2039","2040","2041","2042","2043","2044","2045","2046","2047","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2059","2060","2061","2062","2063","2064","2065","2066","2067","2068","2069","2070","2071","2072","2073","2074","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","2142","2143","2144","2145","2146","2147","2148","2149","2150","2151","2152","2153","2154","2155","2156","2157","2158","2159","2160","2161","2162","2163","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2176","2177","2178","2179","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2193","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216","2217","2218","2219","2220","2221","2222","2223","2224","2225","2226","2227","2228","2229","2230","2231","2232","2233","2234","2235","2236","2237","2238","2239","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2252","2253","2254","2255","2256","2257","2258","2259","2260","2261","2262","2263","2264","2265","2266","2267","2268","2269","2270","2271","2272","2273","2274","2275","2276","2277","2278","2279","2280","2281","2282","2283","2284","2285","2286","2287","2288","2289","2290","2291","2292","2293","2294","2295","2296","2297","2298","2299","2300","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314","2315","2316","2317","2318","2319","2320","2321","2322","2323","2324","2325","2326","2327","2328","2329","2330","2331","2332","2333","2334","2335","2336","2337","2338","2339","2340","2341","2342","2343","2344","2345","2346","2347","2348","2349","2350","2351","2352","2353","2354","2355","2356","2357","2358","2359","2360","2361","2362","2363","2364","2365","2366","2367","2368","2369","2370","2371","2372","2373","2374","2375","2376","2377","2378","2379","2380","2381","2382","2383","2384","2385","2386","2387","2388","2389","2390","2391","2392","2393","2394","2395","2396","2397","2398","2399","2400","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411","2412","2413","2414","2415","2416","2417","2418","2419","2420","2421","2422","2423","2424","2425","2426","2427","2428","2429","2430","2431","2432","2433","2434","2435","2436","2437","2438","2439","2440","2441","2442","2443","2444","2445","2446","2447","2448","2449","2450","2451","2452","2453","2454","2455","2456","2457","2458","2459","2460","2461","2462","2463","2464","2465","2466","2467","2468","2469","2470","2471","2472","2473","2474","2475","2476","2477","2478","2479","2480","2481","2482","2483","2484","2485","2486","2487","2488","2489","2490","2491","2492","2493","2494","2495","2496","2497","2498","2499","2500","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511","2512","2513","2514","2515","2516","2517","2518","2519","2520","2521","2522","2523","2524","2525","2526","2527","2528","2529","2530","2531","2532","2533","2534","2535","2536","2537","2538","2539","2540","2541","2542","2543","2544","2545","2546","2547","2548","2549","2550","2551","2552","2553","2554","2555","2556","2557","2558","2559","2560","2561","2562","2563","2564","2565","2566","2567","2568","2569","2570","2571","2572","2573","2574","2575","2576","2577","2578","2579","2580","2581","2582","2583","2584","2585","2586","2587","2588","2589","2590","2591","2592","2593","2594","2595","2596","2597","2598","2599","2600","2601","2602","2603","2604","2605","2606","2607","2608","2609","2610","2611","2612","2613","2614","2615","2616","2617","2618","2619","2620","2621","2622","2623","2624","2625","2626","2627","2628","2629","2630","2631","2632","2633","2634","2635","2636","2637","2638","2639","2640","2641","2642","2643","2644","2645","2646","2647","2648","2649","2650","2651","2652","2653","2654","2655","2656","2657","2658","2659","2660","2661","2662","2663","2664","2665","2666","2667","2668","2669","2670","2671","2672","2673","2674","2675","2676","2677","2678","2679","2680","2681","2682","2683","2684","2685","2686","2687","2688","2689","2690","2691","2692","2693","2694","2695","2696","2697","2698","2699","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2711","2712","2713","2714","2715","2716","2717","2718","2719","2720","2721","2722","2723","2724","2725","2726","2727","2728","2729","2730","2731","2732","2733","2734","2735","2736","2737","2738","2739","2740","2741","2742","2743","2744","2745","2746","2747","2748","2749","2750","2751","2752","2753","2754","2755","2756","2757","2758","2759","2760","2761","2762","2763","2764","2765","2766","2767","2768","2769","2770","2771","2772","2773","2774","2775","2776","2777","2778","2779","2780","2781","2782","2783","2784","2785","2786","2787","2788","2789","2790","2791","2792","2793","2794","2795","2796","2797","2798","2799","2800","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810","2811","2812","2813","2814","2815","2816","2817","2818","2819","2820","2821","2822","2823","2824","2825","2826","2827","2828","2829","2830","2831","2832","2833","2834","2835","2836","2837","2838","2839","2840","2841","2842","2843","2844","2845","2846","2847","2848","2849","2850","2851","2852","2853","2854","2855","2856","2857","2858","2859","2860","2861","2862","2863","2864","2865","2866","2867","2868","2869","2870","2871","2872","2873","2874","2875","2876","2877","2878","2879","2880","2881","2882","2883","2884","2885","2886","2887","2888","2889","2890","2891","2892","2893","2894","2895","2896","2897","2898","2899","2900","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923","2924","2925","2926","2927","2928","2929","2930","2931","2932","2933","2934","2935","2936","2937","2938","2939","2940","2941","2942","2943","2944","2945","2946","2947","2948","2949","2950","2951","2952","2953","2954","2955","2956","2957","2958","2959","2960","2961","2962","2963","2964","2965","2966","2967","2968","2969","2970","2971","2972","2973","2974","2975","2976","2977","2978","2979","2980","2981","2982","2983","2984","2985","2986","2987","2988","2989","2990","2991","2992","2993","2994","2995","2996","2997","2998","2999","3000","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017","3018","3019","3020","3021","3022","3023","3024","3025","3026","3027","3028","3029","3030","3031","3032","3033","3034","3035","3036","3037","3038","3039","3040","3041","3042","3043","3044","3045","3046","3047","3048","3049","3050","3051","3052","3053","3054","3055","3056","3057","3058","3059","3060","3061","3062","3063","3064","3065","3066","3067","3068","3069","3070","3071","3072","3073","3074","3075","3076","3077","3078","3079","3080","3081","3082","3083","3084","3085","3086","3087","3088","3089","3090","3091","3092","3093","3094","3095","3096","3097","3098","3099","3100","3101","3102","3103","3104","3105","3106","3107","3108","3109","3110","3111","3112","3113","3114","3115","3116","3117","3118","3119","3120","3121","3122","3123","3124","3125","3126","3127","3128","3129","3130","3131","3132","3133","3134","3135","3136","3137","3138","3139","3140","3141","3142","3143","3144","3145","3146","3147","3148","3149","3150","3151","3152","3153","3154","3155","3156","3157","3158","3159","3160","3161","3162","3163","3164","3165","3166","3167","3168","3169","3170","3171","3172","3173","3174","3175","3176","3177","3178","3179","3180","3181","3182","3183","3184","3185","3186","3187","3188","3189","3190","3191","3192","3193","3194","3195","3196","3197","3198","3199","3200","3201","3202","3203","3204","3205","3206","3207","3208","3209","3210","3211","3212","3213","3214","3215","3216","3217","3218","3219","3220","3221","3222","3223","3224","3225","3226","3227","3228","3229","3230","3231","3232","3233","3234","3235","3236","3237","3238","3239","3240","3241","3242","3243","3244","3245","3246","3247","3248","3249","3250","3251","3252","3253","3254","3255","3256","3257","3258","3259","3260","3261","3262","3263","3264","3265","3266","3267","3268","3269","3270","3271","3272","3273","3274","3275","3276","3277","3278","3279","3280","3281","3282","3283","3284","3285","3286","3287","3288","3289","3290","3291","3292","3293","3294","3295","3296","3297","3298","3299","3300","3301","3302","3303","3304","3305","3306","3307","3308","3309","3310","3311","3312","3313","3314","3315","3316","3317","3318","3319","3320","3321","3322","3323","3324","3325","3326","3327","3328","3329","3330","3331","3332","3333","3334","3335","3336","3337","3338","3339","3340","3341","3342","3343","3344","3345","3346","3347","3348","3349","3350","3351","3352","3353","3354","3355","3356","3357","3358","3359","3360","3361","3362","3363","3364","3365","3366","3367","3368","3369","3370","3371","3372","3373","3374","3375","3376","3377","3378","3379","3380","3381","3382","3383","3384","3385","3386","3387","3388","3389","3390","3391","3392","3393","3394","3395","3396","3397","3398","3399","3400","3401","3402","3403","3404","3405","3406","3407","3408","3409","3410","3411","3412","3413","3414","3415","3416","3417","3418","3419","3420","3421","3422","3423","3424","3425","3426","3427","3428","3429","3430","3431","3432","3433","3434","3435","3436","3437","3438","3439","3440","3441","3442","3443","3444","3445","3446","3447","3448","3449","3450","3451","3452","3453","3454","3455","3456","3457","3458","3459","3460","3461","3462","3463","3464","3465","3466","3467","3468","3469","3470","3471","3472","3473","3474","3475","3476","3477","3478","3479","3480","3481","3482","3483","3484","3485","3486","3487","3488","3489","3490","3491","3492","3493","3494","3495","3496","3497","3498","3499","3500","3501","3502","3503","3504","3505","3506","3507","3508","3509","3510","3511","3512","3513","3514","3515","3516","3517","3518","3519","3520","3521","3522","3523","3524","3525","3526","3527","3528","3529","3530","3531","3532","3533","3534","3535","3536","3537","3538","3539","3540","3541","3542","3543","3544","3545","3546","3547","3548","3549","3550","3551","3552","3553","3554","3555","3556","3557","3558","3559","3560","3561","3562","3563","3564","3565","3566","3567","3568","3569","3570","3571","3572","3573","3574","3575","3576","3577","3578","3579","3580","3581","3582","3583","3584","3585","3586","3587","3588","3589","3590","3591","3592","3593","3594","3595","3596","3597"],"offerType":"string","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.192Z"} {"level":"error","message":"Failed to parse offer string: Unexpected token v in JSON at position 0","stack":"SyntaxError: Unexpected token v in JSON at position 0\n at JSON.parse ()\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket. (/home/data/god_eye/backend/src/server.js:524:29)\n at Socket.emit (node:events:517:28)\n at Socket.emitUntyped (/home/data/god_eye/backend/node_modules/socket.io/dist/typed-events.js:69:22)\n at /home/data/god_eye/backend/node_modules/socket.io/dist/socket.js:697:39\n at process.processTicksAndRejections (node:internal/process/task_queues:77:11)","timestamp":"2025-10-04T22:04:07.195Z"} {"level":"error","message":"Unable to normalize offer:","timestamp":"2025-10-04T22:04:07.195Z"} {"level":"error","message":"❌ Invalid WebRTC offer format:","timestamp":"2025-10-04T22:04:07.196Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 47411 typ host generation 0 ufrag d9dE network-id 5 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447067,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.218Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.218Z"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 34799 typ host generation 0 ufrag d9dE network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447070,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 58642 typ host generation 0 ufrag d9dE network-id 3 network-cost 900\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447071,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 33104 typ host generation 0 ufrag d9dE network-id 5 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447071,"type":"webrtc:ice-candidate"} {"candidate":"{\"candidate\":\"candidate:42056630 1 udp 2122194687 192.168.219.109 35093 typ host generation 0 ufrag d9dE network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447072,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.229Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.230Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.230Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.230Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.230Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.230Z"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.231Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.231Z"} {"candidate":"{\"candidate\":\"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 37699 typ host generation 0 ufrag d9dE network-id 3 network-cost 900\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447072,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.231Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.232Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 35093 typ srflx raddr 192.168.219.109 rport 35093 generation 0 ufrag d9dE network-id 4 network-cost 10\",\"sdpMLineIndex\":1,\"sdpMid\":\"1\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447184,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.333Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.333Z"} {"candidate":"{\"candidate\":\"candidate:842163049 1 udp 1685987071 211.118.216.184 34799 typ srflx raddr 192.168.219.109 rport 34799 generation 0 ufrag d9dE network-id 4 network-cost 10\",\"sdpMLineIndex\":0,\"sdpMid\":\"0\"}","level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":1759615447201,"type":"webrtc:ice-candidate"} {"candidateKeys":["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136","137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153","154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","169","170","171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187","188","189","190","191","192","193","194","195","196","197","198","199","200","201"],"candidateType":"string","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"61ab6275-df55-4a20-8475-6da2a1885f70","timestamp":"2025-10-04T22:04:07.355Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:04:07.355Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615458143} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615458143} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615458143} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615475679} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615475679} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615475679} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615488149} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615488149} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615488149} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615505685} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615505685} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615505685} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615518160} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615518160} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615518160} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615535691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615535691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615535691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615548165} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615548165} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615548165} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615565699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615565699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615565699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615578175} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615578175} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615578175} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615595706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615595706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615595706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615608188} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615608188} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615608188} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615625729} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615625729} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615625729} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615638192} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615638192} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615638192} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615655734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615655734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615655734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615668204} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615668204} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615668204} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615685742} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615685742} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615685742} {"level":"info","message":"Client disconnected: 7lNjn1xZC9f_OGAhAAAT, reason: client namespace disconnect","timestamp":"2025-10-04T22:08:17.569Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:17.569Z"} {"level":"info","message":"🔌 Connection terminated: 61ab6275-df55-4a20-8475-6da2a1885f70 - Device disconnected","timestamp":"2025-10-04T22:08:17.569Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:17.569Z"} {"level":"info","message":"📱 Devices list requested by socket wwdrdWH_lRyAjNuUAAAR","timestamp":"2025-10-04T22:08:17.571Z"} {"level":"info","message":"📱 Sending 0 devices to operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:08:17.571Z"} {"level":"info","message":"Client disconnected: weAC2YWeDh-YGBYaAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T22:08:17.745Z"} {"level":"info","message":"Client disconnected: lqcfLIaGBVUXI5ziAAAE, reason: transport close","timestamp":"2025-10-04T22:08:30.526Z"} {"level":"info","message":"Client disconnected: wwdrdWH_lRyAjNuUAAAR, reason: transport close","timestamp":"2025-10-04T22:08:31.686Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:08:31.686Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 273961e9-64d4-48ce-9768-e0aa09858366","timestamp":"2025-10-04T22:08:31.686Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:37.206Z","userAgent":""} {"level":"info","message":"Operator registered: efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:37.208Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: qWXEmhNLJ0DLmA6DAAAY","timestamp":"2025-10-04T22:08:43.679Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: qWXEmhNLJ0DLmA6DAAAY","timestamp":"2025-10-04T22:08:43.679Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:43.736Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:43.736Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.092Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.092Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.538Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.538Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.538Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.539Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.539Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.540Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.540Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615725379} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.556Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.557Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.557Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.557Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.557Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.560Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.560Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615725379} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615725379} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615725379} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615725379} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.562Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.562Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.562Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.562Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.562Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.563Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.563Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.563Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.564Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.564Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.564Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.564Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.564Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.564Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.564Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.565Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.565Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.565Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.565Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.565Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615725379} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615725379} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.566Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.567Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.567Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.567Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.567Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.568Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725379} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.568Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.568Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.569Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.569Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.569Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.570Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.570Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.570Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.570Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.571Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.573Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.573Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.575Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.575Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.577Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.577Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.589Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.589Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.590Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.590Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.590Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.591Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.592Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615725387} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615725387} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.593Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.593Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.593Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.593Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.593Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.594Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.594Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.594Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.595Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.595Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615725387} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.596Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.596Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.597Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.597Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.597Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.598Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.598Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.598Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.599Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.600Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.601Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615725387} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.603Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.603Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.603Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.603Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.604Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615725387} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615725387} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615725387} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.607Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.608Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.608Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.610Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.610Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.611Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.611Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.611Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.611Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.611Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Handling Android registration for socket: 0OZcstIzpf5pyYQfAAAZ","timestamp":"2025-10-04T22:08:45.612Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725387} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.612Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.612Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"0OZcstIzpf5pyYQfAAAZ","status":"online","timestamp":"2025-10-04T22:08:45.612Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.612Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.613Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.613Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.615Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.615Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.616Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.616Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.617Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.669Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.669Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.670Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.671Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615725518} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.680Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.681Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.681Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.681Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.681Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.682Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615725518} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.685Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.685Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.687Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.687Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615725518} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615725518} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615725518} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615725518} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615725518} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.688Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.689Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.689Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.689Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.689Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.689Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.690Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.690Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.690Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.690Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.690Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.691Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.691Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.691Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.691Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.691Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.691Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.691Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.692Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Handling Android registration for socket: x54nPa-_1iaynu1SAAAb","timestamp":"2025-10-04T22:08:45.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759615725518} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:45.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"x54nPa-_1iaynu1SAAAb","status":"online","timestamp":"2025-10-04T22:08:45.693Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:08:45.693Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.694Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.694Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.694Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.695Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.695Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.696Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.696Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.696Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:45.697Z"} {"level":"info","message":"📱 Sending 1 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:45.697Z"} {"level":"info","message":"📷 Camera request received from operator socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:08:49.618Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:08:49.618Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T22:08:49.618Z"} {"level":"info","message":"📷 Operator IDs: 4a3afad5-8a58-429a-b11c-245c2f93e9ae, 98104406-db79-434e-9ad8-7f334aa1c720, 273961e9-64d4-48ce-9768-e0aa09858366, efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:49.618Z"} {"level":"info","message":"✅ Operator found: efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:08:49.618Z"} {"level":"info","message":"🔗 Initiating connection: efb85996-f48a-4ab6-9057-1c89299e9b11 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:08:49.618Z"} {"level":"info","message":"🆔 Generated connectionId: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.618Z"} {"level":"info","message":"💾 Saving connection request: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.619Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:08:49.619Z"} {"level":"info","message":"💾 All request IDs: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.619Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:08:49.619Z"} {"level":"info","message":"✅ Connection request created: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.619Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:08:49.619Z"} {"level":"info","message":"✅ Connection initiated: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.619Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"efb85996-f48a-4ab6-9057-1c89299e9b11","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729613} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"efb85996-f48a-4ab6-9057-1c89299e9b11","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729613} {"level":"info","message":"📱 Camera response received from Android: sessionId=12aee9da-61a1-4493-a13f-7828e48f5c26, accepted=true","timestamp":"2025-10-04T22:08:49.785Z"} {"level":"info","message":"🔍 Looking for connection request: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.785Z"} {"level":"info","message":"🔍 Available connection requests: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.785Z"} {"level":"info","message":"✅ Connection established: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.785Z"} {"level":"info","message":"✅ Connection accepted: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.785Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 8457220057199103188 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:BAiu\r\na=ice-pwd:ef2MSMKyqZlMCsCEe75NLTaF\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 54:9F:C5:9A:3D:9F:EF:79:81:A6:18:30:B7:6D:6C:34:69:26:4A:0A:74:9F:DF:3F:66:1E:9A:0B:3A:D6:C0:97\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3647402827 3930885209\r\na=ssrc:3647402827 cname:LQKOcGhAR41VWchV\r\na=ssrc:3647402827 msid:stream videoTrack\r\na=ssrc:3930885209 cname:LQKOcGhAR41VWchV\r\na=ssrc:3930885209 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:BAiu\r\na=ice-pwd:ef2MSMKyqZlMCsCEe75NLTaF\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 54:9F:C5:9A:3D:9F:EF:79:81:A6:18:30:B7:6D:6C:34:69:26:4A:0A:74:9F:DF:3F:66:1E:9A:0B:3A:D6:C0:97\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1355387938 cname:LQKOcGhAR41VWchV\r\na=ssrc:1355387938 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729715} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.866Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:08:49.866Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.867Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 54956 typ host generation 0 ufrag BAiu network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729787} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.947Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:49.947Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 37495 typ host generation 0 ufrag BAiu network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729789} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.964Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:49.964Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 34773 typ host generation 0 ufrag BAiu network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729790} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 54065 typ host generation 0 ufrag BAiu network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729791} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.966Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:49.966Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.966Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:49.966Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 54128 typ host generation 0 ufrag BAiu network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729793} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.967Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:49.967Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 44838 typ host generation 0 ufrag BAiu network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729794} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:49.976Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:49.976Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 54128 typ srflx raddr 192.168.219.109 rport 54128 generation 0 ufrag BAiu network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729898} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:50.055Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:50.055Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 37495 typ srflx raddr 192.168.219.109 rport 37495 generation 0 ufrag BAiu network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":1759615729927} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"12aee9da-61a1-4493-a13f-7828e48f5c26","timestamp":"2025-10-04T22:08:50.078Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:08:50.079Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615755405} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615755405} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615755405} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615755529} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615755529} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615755529} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615785416} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615785416} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615785416} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615785538} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615785538} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615785538} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615815440} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615815440} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615815440} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615815560} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615815560} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615815560} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615845450} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615845450} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615845450} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615845568} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615845568} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615845568} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615875460} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615875460} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615875460} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615875578} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615875578} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615875578} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615905468} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615905468} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615905468} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615905586} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615905586} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615905586} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615935474} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615935474} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615935474} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615935592} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615935592} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615935592} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615965480} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615965480} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615965480} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615965598} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615965598} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615965598} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615995486} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615995486} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615995486} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759615995605} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759615995605} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759615995605} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616025493} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616025493} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616025493} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616025612} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616025612} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616025612} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616055500} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616055500} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616055500} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616055618} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616055618} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616055618} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616085528} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616085528} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616085528} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616085625} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616085625} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616085625} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:14:47.969Z"} {"level":"info","message":"📱 Sending 0 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:14:47.969Z"} {"level":"info","message":"📱 Devices list requested by socket 0QBXxjnbbuxJTYKjAAAV","timestamp":"2025-10-04T22:14:49.257Z"} {"level":"info","message":"📱 Sending 0 devices to operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:14:49.257Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616115535} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616115535} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616115535} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616115633} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616115633} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616115633} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616145543} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616145543} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616145543} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616145646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616145646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616145646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616175553} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616175553} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616175553} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616175655} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616175655} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616175655} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616205571} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616205571} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616205571} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616205662} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616205662} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616205662} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616235579} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616235579} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616235579} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616235666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616235666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616235666} {"level":"info","message":"Client disconnected: 0QBXxjnbbuxJTYKjAAAV, reason: transport close","timestamp":"2025-10-04T22:17:26.063Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:17:26.063Z"} {"level":"info","message":"🔌 Connection terminated: 12aee9da-61a1-4493-a13f-7828e48f5c26 - Operator disconnected","timestamp":"2025-10-04T22:17:26.063Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator efb85996-f48a-4ab6-9057-1c89299e9b11","timestamp":"2025-10-04T22:17:26.063Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: DGPeRwcLQKmnfYJ9AAAd","timestamp":"2025-10-04T22:17:31.702Z","userAgent":""} {"level":"info","message":"Operator registered: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:17:31.704Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T22:17:35.936Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-04T22:17:36.495Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T22:17:40.457Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: q8B2REtzHNeedFtwAAAB","timestamp":"2025-10-04T22:17:42.398Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: uDpnGoXkBzyBqefhAAAF","timestamp":"2025-10-04T22:17:42.618Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: uDpnGoXkBzyBqefhAAAF","timestamp":"2025-10-04T22:17:42.619Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.634Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.634Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.646Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.646Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.726Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.727Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.727Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.732Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.732Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.753Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.754Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.754Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.755Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.755Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616262516} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616262516} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616262516} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616262516} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616262516} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.775Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.775Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.775Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.775Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.776Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.776Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.776Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.777Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.777Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.778Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.778Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.778Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.778Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.779Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.779Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.779Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.779Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.780Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.780Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.780Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.780Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.780Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.780Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.781Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.781Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616262516} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616262516} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.783Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.783Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.783Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.783Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.783Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Handling Android registration for socket: rCQ-YAaKiXwhEDkGAAAG","timestamp":"2025-10-04T22:17:42.784Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262516} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.784Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.784Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"rCQ-YAaKiXwhEDkGAAAG","status":"online","timestamp":"2025-10-04T22:17:42.784Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.784Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616262529} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616262529} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616262529} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616262529} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616262529} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.843Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.843Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.843Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.844Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.844Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.844Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.845Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.845Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.845Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.845Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.845Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.845Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.846Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.846Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.846Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.846Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.846Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.847Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.847Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.847Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.847Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.847Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.847Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616262529} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616262529} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.849Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.849Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.849Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.850Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.850Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.850Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262529} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.850Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.850Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.851Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.851Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.933Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.933Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.933Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.934Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.934Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616262779} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.943Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.944Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.944Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.944Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.944Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616262779} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.947Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616262779} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.959Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.959Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.959Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.959Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.959Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616262779} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616262779} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.962Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.962Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.962Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.963Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.963Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.963Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.963Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.964Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.964Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.964Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616262779} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616262779} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.966Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.966Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.966Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.967Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.967Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Handling Android registration for socket: wE0y1FD7HAlfqHiUAAAH","timestamp":"2025-10-04T22:17:42.967Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616262779} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:42.967Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.968Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"wE0y1FD7HAlfqHiUAAAH","status":"online","timestamp":"2025-10-04T22:17:42.968Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:17:42.968Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:17:43.868Z","userAgent":""} {"level":"info","message":"Operator registered: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:17:43.870Z"} {"level":"info","message":"📷 Camera request received from operator socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:17:47.969Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:17:47.969Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T22:17:47.970Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:17:47.970Z"} {"level":"info","message":"✅ Operator found: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:17:47.970Z"} {"level":"info","message":"🔗 Initiating connection: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:17:47.970Z"} {"level":"info","message":"🆔 Generated connectionId: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:47.971Z"} {"level":"info","message":"💾 Saving connection request: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:47.971Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:17:47.971Z"} {"level":"info","message":"💾 All request IDs: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:47.971Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:17:47.971Z"} {"level":"info","message":"✅ Connection request created: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:47.971Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:17:47.971Z"} {"level":"info","message":"✅ Connection initiated: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:47.971Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616267841} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616267841} {"level":"info","message":"📱 Camera response received from Android: sessionId=7c9b1430-9d59-44fe-93af-35de212ad30f, accepted=true","timestamp":"2025-10-04T22:17:48.000Z"} {"level":"info","message":"🔍 Looking for connection request: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.000Z"} {"level":"info","message":"🔍 Available connection requests: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.000Z"} {"level":"info","message":"✅ Connection established: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.000Z"} {"level":"info","message":"✅ Connection accepted: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.000Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 3766803607175279996 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:iDpE\r\na=ice-pwd:pyZN/dZ/KBtbBkRZS6rQvP9Y\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 19:3D:73:89:07:A2:99:16:37:5C:26:17:35:E3:D2:9D:DC:EC:39:0C:03:B8:98:BF:E6:54:1D:1F:BA:A7:E1:CC\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1233511695 1603627353\r\na=ssrc:1233511695 cname:/1AJzoxEF0u1OYNP\r\na=ssrc:1233511695 msid:stream videoTrack\r\na=ssrc:1603627353 cname:/1AJzoxEF0u1OYNP\r\na=ssrc:1603627353 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:iDpE\r\na=ice-pwd:pyZN/dZ/KBtbBkRZS6rQvP9Y\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 19:3D:73:89:07:A2:99:16:37:5C:26:17:35:E3:D2:9D:DC:EC:39:0C:03:B8:98:BF:E6:54:1D:1F:BA:A7:E1:CC\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:139164392 cname:/1AJzoxEF0u1OYNP\r\na=ssrc:139164392 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616267961} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.118Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:17:48.119Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3598,"sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.119Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.119Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 41402 typ host generation 0 ufrag iDpE network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616267985} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.161Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.162Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 57901 typ host generation 0 ufrag iDpE network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616267988} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.170Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.170Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 47191 typ host generation 0 ufrag iDpE network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616267999} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.171Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.171Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 32793 typ host generation 0 ufrag iDpE network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616268003} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.172Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.172Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 49296 typ host generation 0 ufrag iDpE network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616268005} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.175Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.176Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 39881 typ host generation 0 ufrag iDpE network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616268008} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.177Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.177Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 57901 typ srflx raddr 192.168.219.109 rport 57901 generation 0 ufrag iDpE network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616268430} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.580Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.580Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 49296 typ srflx raddr 192.168.219.109 rport 49296 generation 0 ufrag iDpE network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":1759616268432} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7c9b1430-9d59-44fe-93af-35de212ad30f","timestamp":"2025-10-04T22:17:48.586Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:17:48.586Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616292527} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616292527} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616292527} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616292785} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616292785} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616292785} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616322533} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616322533} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616322533} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616322790} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616322790} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616322790} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616352540} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616352540} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616352540} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616352797} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616352797} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616352797} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616382547} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616382547} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616382547} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616382825} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616382825} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616382825} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616412555} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616412555} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616412555} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616412830} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616412830} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616412830} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616442566} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616442566} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616442566} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616442838} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616442838} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616442838} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616472591} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616472591} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616472591} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616472845} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616472845} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616472845} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616502603} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616502603} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616502603} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616502851} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616502851} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616502851} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616532609} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616532609} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616532609} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616532856} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616532856} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616532856} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616562623} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616562623} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616562623} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616562861} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616562861} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616562861} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616592629} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616592629} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616592629} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616592866} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616592866} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616592866} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616622633} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616622633} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616622633} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616622873} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616622873} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616622873} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616652638} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616652638} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616652638} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616652883} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616652883} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616652883} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616682650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616682650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616682650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616682902} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616682902} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616682902} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616712654} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616712654} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616712654} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616712912} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616712912} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616712912} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616742661} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616742661} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616742661} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616742915} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616742915} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616742915} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616772667} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616772667} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616772667} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616772938} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616772938} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616772938} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616802675} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616802675} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616802675} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616802945} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616802945} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616802945} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616832682} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616832682} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616832682} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616832960} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616832960} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616832960} {"level":"info","message":"Client disconnected: wE0y1FD7HAlfqHiUAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T22:27:35.280Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:35.280Z"} {"level":"info","message":"🔌 Connection terminated: 7c9b1430-9d59-44fe-93af-35de212ad30f - Device disconnected","timestamp":"2025-10-04T22:27:35.280Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:35.281Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:35.282Z"} {"level":"info","message":"📱 Sending 0 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:35.283Z"} {"level":"info","message":"Client disconnected: rCQ-YAaKiXwhEDkGAAAG, reason: client namespace disconnect","timestamp":"2025-10-04T22:27:35.686Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:45.192Z","userAgent":""} {"level":"info","message":"Operator registered: 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:45.193Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: jMj0qpOYbg15Uv-wAAAO","timestamp":"2025-10-04T22:27:52.227Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: jMj0qpOYbg15Uv-wAAAO","timestamp":"2025-10-04T22:27:52.227Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.264Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.264Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.556Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.557Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.800Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.800Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.800Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.800Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.800Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.802Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.803Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.803Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.803Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616872637} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.811Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.811Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.812Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.812Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.812Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.814Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.815Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616872637} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616872637} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616872637} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616872637} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616872637} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.817Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.817Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.817Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.817Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.817Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.818Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.818Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.818Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.819Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.819Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.819Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.819Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.819Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.820Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.820Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.820Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.820Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.820Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.821Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.821Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.821Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.821Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.821Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.821Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.821Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616872637} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.824Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872637} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.824Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.824Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.824Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.824Z"} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.825Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.825Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.825Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.826Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.826Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.826Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.826Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.826Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.826Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.827Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.827Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.828Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.828Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.828Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.828Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.828Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.828Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.829Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.829Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.829Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.829Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.829Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.829Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.830Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.830Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.830Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.830Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.830Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.831Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.831Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.831Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.831Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.831Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.831Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.831Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.832Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.832Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.833Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.833Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.833Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.833Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.833Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.834Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.834Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.834Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.834Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.834Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.834Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.835Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.836Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.836Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.836Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.837Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.837Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.837Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.837Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.837Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.838Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.838Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.838Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.839Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.840Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.840Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.840Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.840Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616872640} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Handling Android registration for socket: 7Biys1wR3St6TGhAAAAP","timestamp":"2025-10-04T22:27:52.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872640} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"7Biys1wR3St6TGhAAAAP","status":"online","timestamp":"2025-10-04T22:27:52.842Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.842Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.844Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.844Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.844Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.844Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.844Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.845Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.845Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.845Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.845Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.845Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.845Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.846Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.846Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.846Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.847Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.847Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.847Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.848Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.848Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.848Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.848Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.848Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.849Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.849Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759616872670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616872670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616872670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616872670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616872670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.850Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.851Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.851Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.851Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.851Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.852Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.852Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.852Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.853Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.853Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.854Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.854Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.854Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.854Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.854Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.855Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.855Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.855Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.855Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.855Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.855Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.856Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.856Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.856Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.856Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.856Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.856Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.856Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.857Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.857Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.859Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.859Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.859Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.859Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.860Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.860Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616872670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616872670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.860Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.861Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.861Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.861Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.861Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Handling Android registration for socket: l75tTNuLhQyM8tWpAAAR","timestamp":"2025-10-04T22:27:52.861Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759616872670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:52.862Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.862Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"l75tTNuLhQyM8tWpAAAR","status":"online","timestamp":"2025-10-04T22:27:52.862Z"} {"level":"info","message":"📡 Notifying 2 operators about new device","timestamp":"2025-10-04T22:27:52.862Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.864Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.864Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.865Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.865Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.865Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.865Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.865Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.866Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.866Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.866Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.867Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.867Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.867Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.867Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.868Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.868Z"} {"level":"info","message":"📱 Devices list requested by socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:52.868Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:52.869Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.869Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.869Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.870Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.870Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.870Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.870Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.870Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.870Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.871Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.871Z"} {"level":"info","message":"📱 Devices list requested by socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:27:52.875Z"} {"level":"info","message":"📱 Sending 1 devices to operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:27:52.876Z"} {"level":"info","message":"📷 Camera request received from operator socket c-JF6FbQ_apeI8zyAAAL","timestamp":"2025-10-04T22:27:55.922Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:27:55.922Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:27:55.922Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe, 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:55.922Z"} {"level":"info","message":"✅ Operator found: 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:27:55.922Z"} {"level":"info","message":"🔗 Initiating connection: 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:27:55.922Z"} {"level":"info","message":"🆔 Generated connectionId: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:55.923Z"} {"level":"info","message":"💾 Saving connection request: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:55.923Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:27:55.923Z"} {"level":"info","message":"💾 All request IDs: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:55.923Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:27:55.923Z"} {"level":"info","message":"✅ Connection request created: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:55.923Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:27:55.923Z"} {"level":"info","message":"✅ Connection initiated: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:55.923Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616875864} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616875864} {"level":"info","message":"📱 Camera response received from Android: sessionId=8eb44b24-fb2b-49af-a3a2-00eeae1de127, accepted=true","timestamp":"2025-10-04T22:27:56.019Z"} {"level":"info","message":"🔍 Looking for connection request: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.019Z"} {"level":"info","message":"🔍 Available connection requests: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.019Z"} {"level":"info","message":"✅ Connection established: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.019Z"} {"level":"info","message":"✅ Connection accepted: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.019Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 5247192703773364494 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:CA7M\r\na=ice-pwd:EKjIrz0R3/BDVf2N1i7bK5vD\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 B7:4A:E1:37:BB:F1:6F:28:E0:36:6F:FA:F4:C8:4B:88:74:15:FC:C4:2A:2C:4E:B1:DA:15:B4:B7:43:BB:71:08\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3505043929 3184150354\r\na=ssrc:3505043929 cname:OHdL2hCBXSOXhhHv\r\na=ssrc:3505043929 msid:stream videoTrack\r\na=ssrc:3184150354 cname:OHdL2hCBXSOXhhHv\r\na=ssrc:3184150354 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:CA7M\r\na=ice-pwd:EKjIrz0R3/BDVf2N1i7bK5vD\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 B7:4A:E1:37:BB:F1:6F:28:E0:36:6F:FA:F4:C8:4B:88:74:15:FC:C4:2A:2C:4E:B1:DA:15:B4:B7:43:BB:71:08\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3135575812 cname:OHdL2hCBXSOXhhHv\r\na=ssrc:3135575812 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616875911} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.082Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:27:56.082Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.082Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.082Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 49958 typ host generation 0 ufrag CA7M network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616875998} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.178Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.178Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 54802 typ host generation 0 ufrag CA7M network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616876004} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.183Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.183Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 46360 typ host generation 0 ufrag CA7M network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616876004} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 46788 typ host generation 0 ufrag CA7M network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616876005} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 59623 typ host generation 0 ufrag CA7M network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616876005} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.185Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.185Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.185Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.185Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.185Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.185Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 53223 typ host generation 0 ufrag CA7M network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616876009} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.186Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.186Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 54802 typ srflx raddr 192.168.219.109 rport 54802 generation 0 ufrag CA7M network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616876118} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.275Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.275Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 59623 typ srflx raddr 192.168.219.109 rport 59623 generation 0 ufrag CA7M network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":1759616876126} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8eb44b24-fb2b-49af-a3a2-00eeae1de127","timestamp":"2025-10-04T22:27:56.285Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:27:56.285Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616902646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616902646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616902646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616902673} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616902673} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616902673} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616932650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616932650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616932650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616932687} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616932687} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616932687} {"level":"info","message":"Client disconnected: c-JF6FbQ_apeI8zyAAAL, reason: transport close","timestamp":"2025-10-04T22:29:04.960Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:29:04.961Z"} {"level":"info","message":"🔌 Connection terminated: 8eb44b24-fb2b-49af-a3a2-00eeae1de127 - Operator disconnected","timestamp":"2025-10-04T22:29:04.961Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:29:04.961Z"} {"level":"info","message":"📷 Camera request received from operator socket X569uVX40wdyBh4uAAAJ","timestamp":"2025-10-04T22:29:12.515Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:29:12.515Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:29:12.515Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe, 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"✅ Operator found: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"🔗 Initiating connection: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"🆔 Generated connectionId: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"💾 Saving connection request: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"💾 All request IDs: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"✅ Connection request created: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:29:12.516Z"} {"level":"info","message":"✅ Connection initiated: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.516Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952460} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952460} {"level":"info","message":"📱 Camera response received from Android: sessionId=73d238da-4d9a-4ad7-a984-ff73a87ab056, accepted=true","timestamp":"2025-10-04T22:29:12.618Z"} {"level":"info","message":"🔍 Looking for connection request: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.618Z"} {"level":"info","message":"🔍 Available connection requests: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.619Z"} {"level":"info","message":"✅ Connection established: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.619Z"} {"level":"info","message":"✅ Connection accepted: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.619Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 1345824973499873836 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Z7uf\r\na=ice-pwd:KdbTKtFHH8YuLaqUeSoH7vv/\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 07:C8:7A:6C:5D:6B:A4:6F:60:CE:55:51:E7:8E:E0:D1:BA:8F:D2:16:3E:55:65:B9:D7:F2:9E:FD:0B:5F:48:A2\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1330075784 99190196\r\na=ssrc:1330075784 cname:I3LXIJRdHeCikt7w\r\na=ssrc:1330075784 msid:stream videoTrack\r\na=ssrc:99190196 cname:I3LXIJRdHeCikt7w\r\na=ssrc:99190196 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Z7uf\r\na=ice-pwd:KdbTKtFHH8YuLaqUeSoH7vv/\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 07:C8:7A:6C:5D:6B:A4:6F:60:CE:55:51:E7:8E:E0:D1:BA:8F:D2:16:3E:55:65:B9:D7:F2:9E:FD:0B:5F:48:A2\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3801058787 cname:I3LXIJRdHeCikt7w\r\na=ssrc:3801058787 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952533} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.693Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:29:12.693Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3594,"sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.693Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.693Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.693Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:29:12.693Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3594,"sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.693Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.693Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 37918 typ host generation 0 ufrag Z7uf network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952549} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.718Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.718Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.719Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.719Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 51177 typ host generation 0 ufrag Z7uf network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952551} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.728Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.728Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.728Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.728Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 42544 typ host generation 0 ufrag Z7uf network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952551} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.730Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.730Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.731Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.731Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 46226 typ host generation 0 ufrag Z7uf network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952552} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.733Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.733Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.733Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.733Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 41994 typ host generation 0 ufrag Z7uf network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952553} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.739Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.739Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.739Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.739Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 59927 typ host generation 0 ufrag Z7uf network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952554} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.741Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.742Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.742Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.742Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 41994 typ srflx raddr 192.168.219.109 rport 41994 generation 0 ufrag Z7uf network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952678} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.857Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.857Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.857Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.857Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 51177 typ srflx raddr 192.168.219.109 rport 51177 generation 0 ufrag Z7uf network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":1759616952698} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.880Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.880Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"73d238da-4d9a-4ad7-a984-ff73a87ab056","timestamp":"2025-10-04T22:29:12.880Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:12.880Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616962660} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616962660} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616962660} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616962690} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616962690} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616962690} {"level":"info","message":"Client disconnected: X569uVX40wdyBh4uAAAJ, reason: transport close","timestamp":"2025-10-04T22:29:34.008Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:29:34.008Z"} {"level":"info","message":"🔌 Connection terminated: 73d238da-4d9a-4ad7-a984-ff73a87ab056 - Operator disconnected","timestamp":"2025-10-04T22:29:34.009Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe","timestamp":"2025-10-04T22:29:34.009Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: yVlqi5ORXO8kqGjIAAAT","timestamp":"2025-10-04T22:29:39.984Z","userAgent":""} {"level":"info","message":"Operator registered: 8692f24c-5c05-424c-adfa-2e97e3f68ef4","timestamp":"2025-10-04T22:29:39.986Z"} {"level":"info","message":"📷 Camera request received from operator socket yVlqi5ORXO8kqGjIAAAT","timestamp":"2025-10-04T22:29:41.218Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:29:41.218Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe, 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d, 8692f24c-5c05-424c-adfa-2e97e3f68ef4","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"✅ Operator found: 8692f24c-5c05-424c-adfa-2e97e3f68ef4","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"🔗 Initiating connection: 8692f24c-5c05-424c-adfa-2e97e3f68ef4 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"🆔 Generated connectionId: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"💾 Saving connection request: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"💾 All request IDs: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"✅ Connection request created: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:29:41.219Z"} {"level":"info","message":"✅ Connection initiated: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.219Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"8692f24c-5c05-424c-adfa-2e97e3f68ef4","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981085} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"8692f24c-5c05-424c-adfa-2e97e3f68ef4","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981085} {"level":"info","message":"📱 Camera response received from Android: sessionId=ca2b2206-da7e-42b1-aa89-bab08b1b40de, accepted=true","timestamp":"2025-10-04T22:29:41.243Z"} {"level":"info","message":"🔍 Looking for connection request: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.243Z"} {"level":"info","message":"🔍 Available connection requests: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.243Z"} {"level":"info","message":"✅ Connection established: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.244Z"} {"level":"info","message":"✅ Connection accepted: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.244Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 2565615698997252451 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:YGTs\r\na=ice-pwd:LJkSLQLXmKRyxQlCs+pT6bW7\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 4F:FC:23:07:BD:79:07:5F:CC:83:E6:AD:F9:4F:43:6F:FA:EA:F8:F9:72:AD:23:BB:E9:03:49:B7:C4:7D:B1:1F\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3209339511 3655348647\r\na=ssrc:3209339511 cname:X0fp1VO0J6zuspcO\r\na=ssrc:3209339511 msid:stream videoTrack\r\na=ssrc:3655348647 cname:X0fp1VO0J6zuspcO\r\na=ssrc:3655348647 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:YGTs\r\na=ice-pwd:LJkSLQLXmKRyxQlCs+pT6bW7\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 4F:FC:23:07:BD:79:07:5F:CC:83:E6:AD:F9:4F:43:6F:FA:EA:F8:F9:72:AD:23:BB:E9:03:49:B7:C4:7D:B1:1F\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3624113120 cname:X0fp1VO0J6zuspcO\r\na=ssrc:3624113120 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981208} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.459Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:29:41.459Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.459Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.459Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.459Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:29:41.459Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.459Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.460Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.460Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:29:41.460Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.460Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.460Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 33681 typ host generation 0 ufrag YGTs network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981248} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.482Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.482Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.483Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.483Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.483Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.483Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 36529 typ host generation 0 ufrag YGTs network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981251} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.521Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.521Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.521Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.521Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.521Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.521Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 37902 typ host generation 0 ufrag YGTs network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981254} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.556Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.556Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.556Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.557Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.557Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.557Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 42895 typ host generation 0 ufrag YGTs network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981264} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.558Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.558Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.558Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.558Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.558Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.558Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 57734 typ host generation 0 ufrag YGTs network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981277} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.584Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.584Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.585Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.585Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.585Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.585Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 58707 typ host generation 0 ufrag YGTs network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981295} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.613Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.613Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.613Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.613Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.613Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.613Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 36529 typ srflx raddr 192.168.219.109 rport 36529 generation 0 ufrag YGTs network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981376} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.645Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.646Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.646Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.646Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.646Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.646Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 57734 typ srflx raddr 192.168.219.109 rport 57734 generation 0 ufrag YGTs network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":1759616981573} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.737Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.737Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.737Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.737Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ca2b2206-da7e-42b1-aa89-bab08b1b40de","timestamp":"2025-10-04T22:29:41.737Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:29:41.737Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616992664} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616992664} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616992664} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759616992693} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759616992693} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759616992693} {"level":"info","message":"Client disconnected: yVlqi5ORXO8kqGjIAAAT, reason: transport close","timestamp":"2025-10-04T22:30:13.826Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 8692f24c-5c05-424c-adfa-2e97e3f68ef4","timestamp":"2025-10-04T22:30:13.826Z"} {"level":"info","message":"🔌 Connection terminated: ca2b2206-da7e-42b1-aa89-bab08b1b40de - Operator disconnected","timestamp":"2025-10-04T22:30:13.826Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 8692f24c-5c05-424c-adfa-2e97e3f68ef4","timestamp":"2025-10-04T22:30:13.826Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 21X0n4YLT6oiQaSPAAAV","timestamp":"2025-10-04T22:30:14.884Z","userAgent":""} {"level":"info","message":"Operator registered: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:30:14.885Z"} {"level":"info","message":"📷 Camera request received from operator socket 21X0n4YLT6oiQaSPAAAV","timestamp":"2025-10-04T22:30:16.450Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:30:16.450Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe, 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d, 8692f24c-5c05-424c-adfa-2e97e3f68ef4, eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"✅ Operator found: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"🔗 Initiating connection: eeceff3d-bfa3-485e-8497-9729b8403b58 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"🆔 Generated connectionId: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"💾 Saving connection request: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"💾 All request IDs: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"✅ Connection request created: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:30:16.451Z"} {"level":"info","message":"✅ Connection initiated: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.451Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"eeceff3d-bfa3-485e-8497-9729b8403b58","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016357} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"eeceff3d-bfa3-485e-8497-9729b8403b58","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016357} {"level":"info","message":"📱 Camera response received from Android: sessionId=7ef53145-70be-43d0-995a-602933dab8bb, accepted=true","timestamp":"2025-10-04T22:30:16.517Z"} {"level":"info","message":"🔍 Looking for connection request: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.517Z"} {"level":"info","message":"🔍 Available connection requests: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.517Z"} {"level":"info","message":"✅ Connection established: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.517Z"} {"level":"info","message":"✅ Connection accepted: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.517Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 4654393649118246329 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:kH86\r\na=ice-pwd:z9UW/kuPFGZrlj9wwBvF2Z7A\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 DE:FE:58:D8:FA:C7:A8:54:0C:B0:CB:35:13:6B:E5:BA:E2:B4:65:EB:A3:B4:DC:B3:AE:A8:2E:E4:A0:F4:69:3C\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1700562980 108680081\r\na=ssrc:1700562980 cname:4915fuvCNQi1ffb+\r\na=ssrc:1700562980 msid:stream videoTrack\r\na=ssrc:108680081 cname:4915fuvCNQi1ffb+\r\na=ssrc:108680081 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:kH86\r\na=ice-pwd:z9UW/kuPFGZrlj9wwBvF2Z7A\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 DE:FE:58:D8:FA:C7:A8:54:0C:B0:CB:35:13:6B:E5:BA:E2:B4:65:EB:A3:B4:DC:B3:AE:A8:2E:E4:A0:F4:69:3C\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1201788067 cname:4915fuvCNQi1ffb+\r\na=ssrc:1201788067 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016435} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.660Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.661Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.661Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:30:16.661Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.661Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.661Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 38098 typ host generation 0 ufrag kH86 network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016455} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.674Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.674Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.674Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.674Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.674Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.675Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.675Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.675Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 43320 typ host generation 0 ufrag kH86 network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016457} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.676Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.676Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.676Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.676Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.676Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.676Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.676Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.676Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 42065 typ host generation 0 ufrag kH86 network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016459} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.677Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.677Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.677Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.677Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.677Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.677Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.677Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.677Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 54626 typ host generation 0 ufrag kH86 network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016460} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.702Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.702Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.702Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.702Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.702Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.702Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.702Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.702Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 46414 typ host generation 0 ufrag kH86 network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016460} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 48616 typ host generation 0 ufrag kH86 network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016461} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.706Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 43320 typ srflx raddr 192.168.219.109 rport 43320 generation 0 ufrag kH86 network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016628} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.908Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.908Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.908Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.908Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.908Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.908Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.908Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.908Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 46414 typ srflx raddr 192.168.219.109 rport 46414 generation 0 ufrag kH86 network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":1759617016720} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.926Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.926Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.926Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.926Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.926Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.926Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"7ef53145-70be-43d0-995a-602933dab8bb","timestamp":"2025-10-04T22:30:16.926Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:30:16.926Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617022666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617022666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617022666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617022695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617022695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617022695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617052669} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617052669} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617052669} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617052697} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617052697} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617052697} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617082673} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617082673} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617082673} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617082701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617082701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617082701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617112680} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617112705} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617112680} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617112705} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617112680} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617112705} {"level":"info","message":"📷 Camera request received from operator socket 21X0n4YLT6oiQaSPAAAV","timestamp":"2025-10-04T22:32:02.362Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:32:02.363Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T22:32:02.363Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe, 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d, 8692f24c-5c05-424c-adfa-2e97e3f68ef4, eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:02.363Z"} {"level":"info","message":"✅ Operator found: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:02.363Z"} {"level":"info","message":"🔗 Initiating connection: eeceff3d-bfa3-485e-8497-9729b8403b58 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:32:02.363Z"} {"level":"error","message":"❌ Connection validation failed: Device busy or unavailable","timestamp":"2025-10-04T22:32:02.363Z"} {"level":"error","message":"❌ Failed to initiate connection: Device busy or unavailable","timestamp":"2025-10-04T22:32:02.364Z"} {"level":"info","message":"Client disconnected: 7Biys1wR3St6TGhAAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T22:32:05.312Z"} {"level":"info","message":"Client disconnected: 21X0n4YLT6oiQaSPAAAV, reason: client namespace disconnect","timestamp":"2025-10-04T22:32:09.594Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:09.594Z"} {"level":"info","message":"🔌 Connection terminated: 7ef53145-70be-43d0-995a-602933dab8bb - Operator disconnected","timestamp":"2025-10-04T22:32:09.594Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:09.594Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SBuYuxdKmE42n7UUAAAX","timestamp":"2025-10-04T22:32:10.893Z","userAgent":""} {"level":"info","message":"Operator registered: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:10.894Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617142707} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617142707} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617142707} {"level":"info","message":"📷 Camera request received from operator socket SBuYuxdKmE42n7UUAAAX","timestamp":"2025-10-04T22:32:23.306Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:32:23.306Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T22:32:23.306Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe, 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d, 8692f24c-5c05-424c-adfa-2e97e3f68ef4, eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:23.306Z"} {"level":"info","message":"✅ Operator found: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:23.306Z"} {"level":"info","message":"🔗 Initiating connection: eeceff3d-bfa3-485e-8497-9729b8403b58 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:32:23.306Z"} {"level":"info","message":"🆔 Generated connectionId: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.307Z"} {"level":"info","message":"💾 Saving connection request: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.307Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:32:23.307Z"} {"level":"info","message":"💾 All request IDs: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.307Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:23.307Z"} {"level":"info","message":"✅ Connection request created: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.307Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:32:23.307Z"} {"level":"info","message":"✅ Connection initiated: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.307Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"eeceff3d-bfa3-485e-8497-9729b8403b58","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143232} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"eeceff3d-bfa3-485e-8497-9729b8403b58","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143232} {"level":"info","message":"📱 Camera response received from Android: sessionId=d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92, accepted=true","timestamp":"2025-10-04T22:32:23.396Z"} {"level":"info","message":"🔍 Looking for connection request: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.396Z"} {"level":"info","message":"🔍 Available connection requests: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.396Z"} {"level":"info","message":"✅ Connection established: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.396Z"} {"level":"info","message":"✅ Connection accepted: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.396Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 4735375780682965089 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:UcVa\r\na=ice-pwd:/uPiRdILHqhdC7yKFJVCsry6\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 7F:CC:11:DC:EA:F0:54:A5:2A:55:18:A0:02:65:83:E4:F1:4F:80:5A:69:FE:B6:3F:D4:D2:2A:A6:13:69:CE:48\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3555327507 465790594\r\na=ssrc:3555327507 cname:iAgQhdJynKesY3uk\r\na=ssrc:3555327507 msid:stream videoTrack\r\na=ssrc:465790594 cname:iAgQhdJynKesY3uk\r\na=ssrc:465790594 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:UcVa\r\na=ice-pwd:/uPiRdILHqhdC7yKFJVCsry6\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 7F:CC:11:DC:EA:F0:54:A5:2A:55:18:A0:02:65:83:E4:F1:4F:80:5A:69:FE:B6:3F:D4:D2:2A:A6:13:69:CE:48\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3578077514 cname:iAgQhdJynKesY3uk\r\na=ssrc:3578077514 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143287} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.451Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:32:23.451Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.451Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.452Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:32:23.453Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.453Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.453Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.453Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:32:23.453Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.453Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.453Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 58736 typ host generation 0 ufrag UcVa network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143323} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.522Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.522Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.523Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.523Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.523Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.523Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.523Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.523Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.523Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.523Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 56919 typ host generation 0 ufrag UcVa network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143337} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.535Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.535Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.536Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.536Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.536Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.536Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.536Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.536Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.536Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.536Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 38092 typ host generation 0 ufrag UcVa network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143340} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.537Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.537Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.537Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.538Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.538Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.538Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.538Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.538Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.538Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.538Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 42771 typ host generation 0 ufrag UcVa network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143343} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.541Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.541Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.541Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.541Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.541Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.541Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.541Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.541Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.541Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.541Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 47534 typ host generation 0 ufrag UcVa network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143345} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.542Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.543Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.543Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.543Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.543Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.543Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.543Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.543Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.543Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.543Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 52243 typ host generation 0 ufrag UcVa network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143350} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.545Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.545Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.545Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.545Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.546Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.546Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.546Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.546Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.546Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.546Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 56919 typ srflx raddr 192.168.219.109 rport 56919 generation 0 ufrag UcVa network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143451} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.726Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.726Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.727Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.727Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.727Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.728Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.728Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.728Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.728Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.728Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 47534 typ srflx raddr 192.168.219.109 rport 47534 generation 0 ufrag UcVa network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":1759617143512} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.732Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.732Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.732Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.732Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.732Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.732Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.733Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.733Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92","timestamp":"2025-10-04T22:32:23.733Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:23.733Z"} {"level":"info","message":"Client disconnected: l75tTNuLhQyM8tWpAAAR, reason: client namespace disconnect","timestamp":"2025-10-04T22:32:31.174Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:31.174Z"} {"level":"info","message":"🔌 Connection terminated: d8c514ef-3dc5-4186-9c12-bfbf2d6a8e92 - Device disconnected","timestamp":"2025-10-04T22:32:31.174Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:31.174Z"} {"level":"info","message":"📱 Devices list requested by socket SBuYuxdKmE42n7UUAAAX","timestamp":"2025-10-04T22:32:31.175Z"} {"level":"info","message":"📱 Sending 0 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:31.175Z"} {"level":"info","message":"Client disconnected: SBuYuxdKmE42n7UUAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T22:32:33.562Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:33.562Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:33.562Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:34.041Z","userAgent":""} {"level":"info","message":"Operator registered: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:34.043Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ah3ZWRCyAE9HW3YpAAAc","timestamp":"2025-10-04T22:32:36.703Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ah3ZWRCyAE9HW3YpAAAc","timestamp":"2025-10-04T22:32:36.703Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:36.720Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:36.720Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.086Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.086Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.255Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.255Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.255Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.255Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.256Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.257Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.257Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617157083} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.268Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.269Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.269Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.269Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.269Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.270Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.271Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617157083} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.288Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.289Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.289Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.289Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.289Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.290Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.290Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617157083} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617157083} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617157083} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617157083} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617157083} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.292Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.292Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.292Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.293Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.293Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.293Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.293Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.293Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.293Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.293Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.294Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.294Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.294Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.294Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.294Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.294Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.294Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.294Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.295Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.295Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.295Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157083} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.295Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.295Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.295Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.295Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617157090} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617157090} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617157090} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617157090} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.297Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.297Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.297Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.297Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.297Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.298Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.298Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.298Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.298Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.298Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.299Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.299Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.299Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.299Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.300Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.300Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.300Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.300Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.300Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.300Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.300Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.300Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.301Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.301Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.301Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.302Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.302Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.302Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.304Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.304Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.304Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.305Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.305Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.305Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.305Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.305Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.305Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617157090} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617157090} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617157090} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.306Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.307Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.307Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.307Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.307Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.307Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.307Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.308Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.308Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.308Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Handling Android registration for socket: hgKWTRgQtzs2YLXUAAAd","timestamp":"2025-10-04T22:32:37.308Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157090} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.308Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.308Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"hgKWTRgQtzs2YLXUAAAd","status":"online","timestamp":"2025-10-04T22:32:37.309Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.309Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.309Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.310Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.310Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.310Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.310Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.310Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.310Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.311Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617157132} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617157132} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617157132} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617157132} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617157132} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617157132} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617157132} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.313Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.313Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.313Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.313Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.313Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.314Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.314Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.314Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.314Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.314Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.314Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.315Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.315Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.315Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.315Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.315Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.315Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.315Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.316Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.316Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.316Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.316Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.316Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.316Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.316Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.317Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.317Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.318Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.318Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.318Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.318Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Handling Android registration for socket: WvrBy4kgYkUtqpYaAAAf","timestamp":"2025-10-04T22:32:37.318Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617157132} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:37.319Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.319Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"WvrBy4kgYkUtqpYaAAAf","status":"online","timestamp":"2025-10-04T22:32:37.319Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:32:37.319Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.320Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.321Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.326Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.326Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.326Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.326Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.328Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.329Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.337Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.338Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.338Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.339Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.339Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.339Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.339Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.340Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.340Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.340Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.340Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.340Z"} {"level":"info","message":"📱 Devices list requested by socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:37.341Z"} {"level":"info","message":"📱 Sending 1 devices to operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:37.341Z"} {"level":"info","message":"📷 Camera request received from operator socket pYeugmXfdXPW--kJAAAZ","timestamp":"2025-10-04T22:32:42.010Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:32:42.010Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T22:32:42.010Z"} {"level":"info","message":"📷 Operator IDs: 5e4c6bfb-4a76-4fb1-8881-bd33b7ec0afe, 5c17f630-e16a-4b0f-96e3-d4b9edbe2b7d, 8692f24c-5c05-424c-adfa-2e97e3f68ef4, eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:42.010Z"} {"level":"info","message":"✅ Operator found: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"🔗 Initiating connection: eeceff3d-bfa3-485e-8497-9729b8403b58 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"🆔 Generated connectionId: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"💾 Saving connection request: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"💾 All request IDs: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"✅ Connection request created: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:32:42.011Z"} {"level":"info","message":"✅ Connection initiated: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.011Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"eeceff3d-bfa3-485e-8497-9729b8403b58","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617161872} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"eeceff3d-bfa3-485e-8497-9729b8403b58","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617161872} {"level":"info","message":"📱 Camera response received from Android: sessionId=999cc1c0-c04f-42ef-aec3-c6d737d68a2d, accepted=true","timestamp":"2025-10-04T22:32:42.030Z"} {"level":"info","message":"🔍 Looking for connection request: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.030Z"} {"level":"info","message":"🔍 Available connection requests: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.030Z"} {"level":"info","message":"✅ Connection established: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.031Z"} {"level":"info","message":"✅ Connection accepted: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.031Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 1023487462622212104 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:AMzz\r\na=ice-pwd:4lpn+riWSfBvC9sjU9cJ7PNj\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 33:E9:13:FA:17:EE:A8:CF:C2:FE:11:47:0B:5C:89:1F:10:5D:B3:ED:99:B7:0B:98:A1:36:FC:B3:5D:40:01:F2\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1964407673 812092320\r\na=ssrc:1964407673 cname:owSI3Cq0rK8R7rz8\r\na=ssrc:1964407673 msid:stream videoTrack\r\na=ssrc:812092320 cname:owSI3Cq0rK8R7rz8\r\na=ssrc:812092320 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:AMzz\r\na=ice-pwd:4lpn+riWSfBvC9sjU9cJ7PNj\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 33:E9:13:FA:17:EE:A8:CF:C2:FE:11:47:0B:5C:89:1F:10:5D:B3:ED:99:B7:0B:98:A1:36:FC:B3:5D:40:01:F2\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3362827160 cname:owSI3Cq0rK8R7rz8\r\na=ssrc:3362827160 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617161917} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.080Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:32:42.080Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.081Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.081Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 45454 typ host generation 0 ufrag AMzz network-id 5 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162010} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.182Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.182Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 57622 typ host generation 0 ufrag AMzz network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162012} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.195Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.195Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 43666 typ host generation 0 ufrag AMzz network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162014} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.208Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.208Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 54760 typ host generation 0 ufrag AMzz network-id 5 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162016} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 47473 typ host generation 0 ufrag AMzz network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162018} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 56610 typ host generation 0 ufrag AMzz network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162021} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.214Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.214Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.214Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.214Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.214Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.214Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 57622 typ srflx raddr 192.168.219.109 rport 57622 generation 0 ufrag AMzz network-id 4 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162182} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.346Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.346Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 47473 typ srflx raddr 192.168.219.109 rport 47473 generation 0 ufrag AMzz network-id 4 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617162206} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:32:42.368Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:32:42.368Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617187096} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617187096} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617187096} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617187149} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617187149} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617187149} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617217101} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617217101} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617217101} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617217151} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617217151} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617217151} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617247105} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617247105} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617247105} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617247155} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617247155} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617247155} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617277107} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617277107} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617277107} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617277162} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617277162} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617277162} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617307111} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617307111} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617307111} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617307166} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617307166} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617307166} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617337115} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617337115} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617337115} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617337170} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617337170} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617337170} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617367118} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617367118} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617367118} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617367173} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617367173} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617367173} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617397122} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617397122} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617397122} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617397178} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617397178} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617397178} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617427128} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617427128} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617427128} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617427181} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617427181} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617427181} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 43397 typ host generation 0 ufrag AMzz network-id 7 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617428508} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:37:08.704Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:37:08.704Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 45850 typ host generation 0 ufrag AMzz network-id 6 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617428514} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:37:08.716Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:37:08.716Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 49378 typ host generation 0 ufrag AMzz network-id 7 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617428520} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:37:08.780Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:37:08.780Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 58416 typ host generation 0 ufrag AMzz network-id 6 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":1759617428522} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"999cc1c0-c04f-42ef-aec3-c6d737d68a2d","timestamp":"2025-10-04T22:37:08.781Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:37:08.781Z"} {"level":"info","message":"Client disconnected: pYeugmXfdXPW--kJAAAZ, reason: transport close","timestamp":"2025-10-04T22:37:32.988Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:37:32.988Z"} {"level":"info","message":"🔌 Connection terminated: 999cc1c0-c04f-42ef-aec3-c6d737d68a2d - Operator disconnected","timestamp":"2025-10-04T22:37:32.988Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator eeceff3d-bfa3-485e-8497-9729b8403b58","timestamp":"2025-10-04T22:37:32.988Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617457135} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617457135} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617457135} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617457201} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617457201} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617457201} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-04T22:37:54.425Z"} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T22:38:47.382Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: OIzLF-nRejjLfqqtAAAB","timestamp":"2025-10-04T22:38:47.414Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:00.476Z","userAgent":""} {"level":"info","message":"Operator registered: fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:00.479Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.035Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.035Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.449Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.450Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.450Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.453Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.453Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617545158} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.455Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.456Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.456Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.457Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.457Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617545158} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617545158} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.459Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.459Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.459Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.460Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.460Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.461Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.461Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.461Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.462Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.462Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.463Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.464Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.464Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.464Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.464Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.464Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617545158} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617545158} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617545158} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617545158} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.466Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.466Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.466Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.467Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.467Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.468Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.468Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.468Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.469Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.469Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.469Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.469Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.469Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.470Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.470Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Handling Android registration for socket: JgdVhZuvocfyepwoAAAF","timestamp":"2025-10-04T22:39:05.470Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617545158} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:05.470Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.470Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JgdVhZuvocfyepwoAAAF","status":"online","timestamp":"2025-10-04T22:39:05.471Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:39:05.471Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.473Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.473Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.477Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.478Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.479Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.479Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.480Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.481Z"} {"level":"info","message":"📱 Devices list requested by socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:05.481Z"} {"level":"info","message":"📱 Sending 1 devices to operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:05.481Z"} {"level":"info","message":"📷 Camera request received from operator socket ZS0egHhzw6WXb36tAAAD","timestamp":"2025-10-04T22:39:07.707Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:39:07.707Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T22:39:07.707Z"} {"level":"info","message":"📷 Operator IDs: fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:07.707Z"} {"level":"info","message":"✅ Operator found: fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:39:07.707Z"} {"level":"info","message":"🔗 Initiating connection: fe61d200-ed2c-41b1-a3c1-c6f31e78846b -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:39:07.708Z"} {"level":"info","message":"🆔 Generated connectionId: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.709Z"} {"level":"info","message":"💾 Saving connection request: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.709Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:39:07.709Z"} {"level":"info","message":"💾 All request IDs: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.709Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:39:07.709Z"} {"level":"info","message":"✅ Connection request created: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.709Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:39:07.709Z"} {"level":"info","message":"✅ Connection initiated: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.710Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"fe61d200-ed2c-41b1-a3c1-c6f31e78846b","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547707} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"fe61d200-ed2c-41b1-a3c1-c6f31e78846b","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547707} {"level":"info","message":"📱 Camera response received from Android: sessionId=30438720-c0ab-4ec4-9279-f0ca48d5d9cf, accepted=true","timestamp":"2025-10-04T22:39:07.870Z"} {"level":"info","message":"🔍 Looking for connection request: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.870Z"} {"level":"info","message":"🔍 Available connection requests: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.870Z"} {"level":"info","message":"✅ Connection established: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.870Z"} {"level":"info","message":"✅ Connection accepted: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.871Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 6633744207207576775 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:PwBl\r\na=ice-pwd:t1qVaJI5XCkmGaDXgwr11Yyh\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 2F:50:71:9F:E0:C0:27:0F:1A:C0:FA:A2:75:4D:7D:0D:35:0D:75:28:65:1F:55:3A:09:F2:A9:C0:2D:67:F9:1A\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2383213913 4053977518\r\na=ssrc:2383213913 cname:TvYX0fZxetlewHz7\r\na=ssrc:2383213913 msid:stream videoTrack\r\na=ssrc:4053977518 cname:TvYX0fZxetlewHz7\r\na=ssrc:4053977518 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:PwBl\r\na=ice-pwd:t1qVaJI5XCkmGaDXgwr11Yyh\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 2F:50:71:9F:E0:C0:27:0F:1A:C0:FA:A2:75:4D:7D:0D:35:0D:75:28:65:1F:55:3A:09:F2:A9:C0:2D:67:F9:1A\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:4199622495 cname:TvYX0fZxetlewHz7\r\na=ssrc:4199622495 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547767} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.950Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:39:07.950Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.950Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:07.950Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 59993 typ host generation 0 ufrag PwBl network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547823} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.002Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.002Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 39734 typ host generation 0 ufrag PwBl network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547825} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.005Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.005Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 47145 typ host generation 0 ufrag PwBl network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547826} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.008Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.008Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 49406 typ host generation 0 ufrag PwBl network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547827} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.011Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.011Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 48008 typ host generation 0 ufrag PwBl network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547828} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.035Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.035Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 46513 typ host generation 0 ufrag PwBl network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547829} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.036Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.037Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 55428 typ host generation 0 ufrag PwBl network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547830} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.055Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.055Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 50748 typ host generation 0 ufrag PwBl network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547830} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.056Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.057Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 53521 typ host generation 0 ufrag PwBl network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547831} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.071Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.071Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 34966 typ host generation 0 ufrag PwBl network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547833} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.073Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.073Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 55428 typ srflx raddr 192.168.219.109 rport 55428 generation 0 ufrag PwBl network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547968} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.175Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.175Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 39734 typ srflx raddr 192.168.219.109 rport 39734 generation 0 ufrag PwBl network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":1759617547970} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30438720-c0ab-4ec4-9279-f0ca48d5d9cf","timestamp":"2025-10-04T22:39:08.197Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:39:08.197Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617575174} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617575174} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617575174} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617605178} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617605178} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617605178} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617635181} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617635181} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617635181} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617665185} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617665185} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617665185} {"level":"info","message":"Client disconnected: ZS0egHhzw6WXb36tAAAD, reason: transport close","timestamp":"2025-10-04T22:41:18.781Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:41:18.781Z"} {"level":"info","message":"🔌 Connection terminated: 30438720-c0ab-4ec4-9279-f0ca48d5d9cf - Operator disconnected","timestamp":"2025-10-04T22:41:18.782Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator fe61d200-ed2c-41b1-a3c1-c6f31e78846b","timestamp":"2025-10-04T22:41:18.782Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: rJfHwlXSPh2nFzU7AAAH","timestamp":"2025-10-04T22:41:27.975Z","userAgent":""} {"level":"info","message":"Operator registered: e3e2f274-5164-43e0-aae9-c45e2da709a6","timestamp":"2025-10-04T22:41:27.976Z"} {"level":"info","message":"📷 Camera request received from operator socket rJfHwlXSPh2nFzU7AAAH","timestamp":"2025-10-04T22:41:32.875Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"📷 Operator IDs: fe61d200-ed2c-41b1-a3c1-c6f31e78846b, e3e2f274-5164-43e0-aae9-c45e2da709a6","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"✅ Operator found: e3e2f274-5164-43e0-aae9-c45e2da709a6","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"🔗 Initiating connection: e3e2f274-5164-43e0-aae9-c45e2da709a6 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"🆔 Generated connectionId: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"💾 Saving connection request: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:41:32.875Z"} {"level":"info","message":"💾 All request IDs: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:32.876Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:41:32.876Z"} {"level":"info","message":"✅ Connection request created: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:32.876Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:41:32.876Z"} {"level":"info","message":"✅ Connection initiated: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:32.876Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"e3e2f274-5164-43e0-aae9-c45e2da709a6","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617692912} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"e3e2f274-5164-43e0-aae9-c45e2da709a6","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617692912} {"level":"info","message":"📱 Camera response received from Android: sessionId=964d1285-fc1d-43c2-8fc8-83340ae02ead, accepted=true","timestamp":"2025-10-04T22:41:33.074Z"} {"level":"info","message":"🔍 Looking for connection request: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.074Z"} {"level":"info","message":"🔍 Available connection requests: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.074Z"} {"level":"info","message":"✅ Connection established: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.074Z"} {"level":"info","message":"✅ Connection accepted: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.074Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 1434657541524160892 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Jw1e\r\na=ice-pwd:kiIvU8unEd2lGNorGUFtF8bz\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 75:93:6D:8B:3C:07:68:E5:60:A8:46:B1:31:DD:DE:2B:AC:61:F2:4D:D1:99:B6:FC:91:FC:0C:78:A1:58:17:99\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3265734204 3183442586\r\na=ssrc:3265734204 cname:sniiHRyLQwipqXC5\r\na=ssrc:3265734204 msid:stream videoTrack\r\na=ssrc:3183442586 cname:sniiHRyLQwipqXC5\r\na=ssrc:3183442586 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Jw1e\r\na=ice-pwd:kiIvU8unEd2lGNorGUFtF8bz\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 75:93:6D:8B:3C:07:68:E5:60:A8:46:B1:31:DD:DE:2B:AC:61:F2:4D:D1:99:B6:FC:91:FC:0C:78:A1:58:17:99\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2348314608 cname:sniiHRyLQwipqXC5\r\na=ssrc:2348314608 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617692980} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.157Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:41:33.157Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.157Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.158Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.158Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:41:33.158Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.158Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.158Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 48323 typ host generation 0 ufrag Jw1e network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617692995} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.167Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.168Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.168Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.168Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 37210 typ host generation 0 ufrag Jw1e network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693038} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.290Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.290Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.290Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.291Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 36541 typ host generation 0 ufrag Jw1e network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693068} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.308Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.308Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.309Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.309Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 58381 typ host generation 0 ufrag Jw1e network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693079} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.309Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.310Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.310Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.310Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 33133 typ host generation 0 ufrag Jw1e network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693085} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.334Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.334Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.335Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.335Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 59337 typ host generation 0 ufrag Jw1e network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693098} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 51159 typ host generation 0 ufrag Jw1e network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693129} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 41913 typ host generation 0 ufrag Jw1e network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693134} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 53169 typ host generation 0 ufrag Jw1e network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693137} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.343Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.343Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.344Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.344Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.344Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.344Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.344Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.344Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.344Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.344Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.344Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.344Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.344Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.344Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.344Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.345Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 46659 typ host generation 0 ufrag Jw1e network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693143} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.349Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.350Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.350Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.350Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 37210 typ srflx raddr 192.168.219.109 rport 37210 generation 0 ufrag Jw1e network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693222} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.386Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.386Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.387Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.387Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 51159 typ srflx raddr 192.168.219.109 rport 51159 generation 0 ufrag Jw1e network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":1759617693315} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.543Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.543Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"964d1285-fc1d-43c2-8fc8-83340ae02ead","timestamp":"2025-10-04T22:41:33.543Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:41:33.543Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617695188} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617695188} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617695188} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617725191} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617725191} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617725191} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617755194} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617755194} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617755194} {"level":"info","message":"Client disconnected: rJfHwlXSPh2nFzU7AAAH, reason: transport close","timestamp":"2025-10-04T22:42:45.264Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: e3e2f274-5164-43e0-aae9-c45e2da709a6","timestamp":"2025-10-04T22:42:45.264Z"} {"level":"info","message":"🔌 Connection terminated: 964d1285-fc1d-43c2-8fc8-83340ae02ead - Operator disconnected","timestamp":"2025-10-04T22:42:45.264Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator e3e2f274-5164-43e0-aae9-c45e2da709a6","timestamp":"2025-10-04T22:42:45.264Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3rxG__XNtzN1wdeFAAAJ","timestamp":"2025-10-04T22:43:02.702Z","userAgent":""} {"level":"info","message":"Operator registered: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:02.704Z"} {"level":"info","message":"📷 Camera request received from operator socket 3rxG__XNtzN1wdeFAAAJ","timestamp":"2025-10-04T22:43:04.634Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:43:04.634Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T22:43:04.634Z"} {"level":"info","message":"📷 Operator IDs: fe61d200-ed2c-41b1-a3c1-c6f31e78846b, e3e2f274-5164-43e0-aae9-c45e2da709a6, 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:04.634Z"} {"level":"info","message":"✅ Operator found: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:04.634Z"} {"level":"info","message":"🔗 Initiating connection: 337a3ba8-8060-48fd-8113-583bf261f2c9 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"🆔 Generated connectionId: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"💾 Saving connection request: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"💾 All request IDs: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"✅ Connection request created: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:43:04.635Z"} {"level":"info","message":"✅ Connection initiated: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.635Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"337a3ba8-8060-48fd-8113-583bf261f2c9","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784559} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"337a3ba8-8060-48fd-8113-583bf261f2c9","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784559} {"level":"info","message":"📱 Camera response received from Android: sessionId=66ec0a04-875a-4d8d-81a1-f10a15b60c66, accepted=true","timestamp":"2025-10-04T22:43:04.722Z"} {"level":"info","message":"🔍 Looking for connection request: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.722Z"} {"level":"info","message":"🔍 Available connection requests: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.722Z"} {"level":"info","message":"✅ Connection established: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.722Z"} {"level":"info","message":"✅ Connection accepted: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.722Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 1157099222175423742 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:SdjI\r\na=ice-pwd:WQhCdOJOgWNI+lJPcG3xC/AN\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 FA:F6:F4:89:A2:B4:B1:CC:ED:AE:61:C6:DF:ED:40:7A:1B:35:E0:28:9E:05:29:D9:F9:38:82:46:43:35:33:3A\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3045155453 3844761161\r\na=ssrc:3045155453 cname:7LkyWGtkpIob0jAo\r\na=ssrc:3045155453 msid:stream videoTrack\r\na=ssrc:3844761161 cname:7LkyWGtkpIob0jAo\r\na=ssrc:3844761161 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:SdjI\r\na=ice-pwd:WQhCdOJOgWNI+lJPcG3xC/AN\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 FA:F6:F4:89:A2:B4:B1:CC:ED:AE:61:C6:DF:ED:40:7A:1B:35:E0:28:9E:05:29:D9:F9:38:82:46:43:35:33:3A\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:83793658 cname:7LkyWGtkpIob0jAo\r\na=ssrc:83793658 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784672} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3596,"sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3596,"sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3596,"sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: 66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.961Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 38165 typ host generation 0 ufrag SdjI network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784683} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.990Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.990Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.990Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.990Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.990Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.990Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 37232 typ host generation 0 ufrag SdjI network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784686} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 58302 typ host generation 0 ufrag SdjI network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784688} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.993Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.993Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.993Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.994Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.994Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.994Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.994Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.994Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.994Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.994Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.994Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.994Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 36674 typ host generation 0 ufrag SdjI network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784690} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.996Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.996Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.997Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.997Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.997Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.997Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 45471 typ host generation 0 ufrag SdjI network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784691} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.998Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.998Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.998Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.998Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:04.999Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:04.999Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 53061 typ host generation 0 ufrag SdjI network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784693} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.012Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.012Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.012Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.012Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.012Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.012Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 36298 typ host generation 0 ufrag SdjI network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784695} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.014Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.014Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.014Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.014Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.015Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.015Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 47876 typ host generation 0 ufrag SdjI network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784697} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.023Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.023Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.024Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.024Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.024Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.024Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 59104 typ host generation 0 ufrag SdjI network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784699} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.030Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.030Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.030Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.030Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.030Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.030Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 38403 typ host generation 0 ufrag SdjI network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784701} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.033Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 37232 typ srflx raddr 192.168.219.109 rport 37232 generation 0 ufrag SdjI network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784891} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.206Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.206Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.206Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.206Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.206Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.206Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 36298 typ srflx raddr 192.168.219.109 rport 36298 generation 0 ufrag SdjI network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":1759617784899} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.207Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.207Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.207Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.208Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"66ec0a04-875a-4d8d-81a1-f10a15b60c66","timestamp":"2025-10-04T22:43:05.208Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:05.208Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617785200} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617785200} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617785200} {"level":"info","message":"Client disconnected: 3rxG__XNtzN1wdeFAAAJ, reason: client namespace disconnect","timestamp":"2025-10-04T22:43:14.677Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:14.677Z"} {"level":"info","message":"🔌 Connection terminated: 66ec0a04-875a-4d8d-81a1-f10a15b60c66 - Operator disconnected","timestamp":"2025-10-04T22:43:14.678Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:14.678Z"} {"level":"info","message":"Client disconnected: JgdVhZuvocfyepwoAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T22:43:19.198Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:19.198Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:19.198Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.699Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.699Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617802670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617802670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617802670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617802670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.916Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.916Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.916Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.916Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.917Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.918Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.918Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.918Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.918Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.918Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.919Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.919Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.919Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.919Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.919Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.919Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.919Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.920Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.921Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.921Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617802670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.921Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.921Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.921Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.922Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.922Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617802670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617802670} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.924Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.924Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.924Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.924Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.924Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Handling Android registration for socket: q_aHFXbosXX5g-g_AAAL","timestamp":"2025-10-04T22:43:22.924Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617802670} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:22.925Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.925Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"q_aHFXbosXX5g-g_AAAL","status":"online","timestamp":"2025-10-04T22:43:22.925Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T22:43:22.925Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:43:25.876Z","userAgent":""} {"level":"info","message":"Operator registered: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:25.877Z"} {"level":"info","message":"📷 Camera request received from operator socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:43:33.658Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:43:33.658Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T22:43:33.658Z"} {"level":"info","message":"📷 Operator IDs: fe61d200-ed2c-41b1-a3c1-c6f31e78846b, e3e2f274-5164-43e0-aae9-c45e2da709a6, 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:33.658Z"} {"level":"info","message":"✅ Operator found: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:43:33.658Z"} {"level":"info","message":"🔗 Initiating connection: 337a3ba8-8060-48fd-8113-583bf261f2c9 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:43:33.658Z"} {"level":"info","message":"🆔 Generated connectionId: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.658Z"} {"level":"info","message":"💾 Saving connection request: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.658Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:43:33.659Z"} {"level":"info","message":"💾 All request IDs: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.659Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:43:33.659Z"} {"level":"info","message":"✅ Connection request created: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.659Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:43:33.659Z"} {"level":"info","message":"✅ Connection initiated: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.659Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"337a3ba8-8060-48fd-8113-583bf261f2c9","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813519} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"337a3ba8-8060-48fd-8113-583bf261f2c9","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813519} {"level":"info","message":"📱 Camera response received from Android: sessionId=af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3, accepted=true","timestamp":"2025-10-04T22:43:33.680Z"} {"level":"info","message":"🔍 Looking for connection request: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.680Z"} {"level":"info","message":"🔍 Available connection requests: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.680Z"} {"level":"info","message":"✅ Connection established: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.680Z"} {"level":"info","message":"✅ Connection accepted: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.681Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 5198495135221057069 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:xAqw\r\na=ice-pwd:22WGciGKXeTDPHwFJQS1QigD\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 30:10:BE:9C:FE:6C:C9:EE:64:AE:C9:E2:30:24:28:66:9C:77:FE:52:5E:55:36:84:99:4F:63:9B:0E:95:99:B5\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1364817412 1534425021\r\na=ssrc:1364817412 cname:ycvWJel+vEZDOKPt\r\na=ssrc:1364817412 msid:stream videoTrack\r\na=ssrc:1534425021 cname:ycvWJel+vEZDOKPt\r\na=ssrc:1534425021 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:xAqw\r\na=ice-pwd:22WGciGKXeTDPHwFJQS1QigD\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 30:10:BE:9C:FE:6C:C9:EE:64:AE:C9:E2:30:24:28:66:9C:77:FE:52:5E:55:36:84:99:4F:63:9B:0E:95:99:B5\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:734423759 cname:ycvWJel+vEZDOKPt\r\na=ssrc:734423759 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813585} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.766Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:43:33.766Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3598,"sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.766Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.766Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 42693 typ host generation 0 ufrag xAqw network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813682} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.904Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.904Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 36478 typ host generation 0 ufrag xAqw network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813685} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.941Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.941Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 52051 typ host generation 0 ufrag xAqw network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813686} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.944Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.944Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 36200 typ host generation 0 ufrag xAqw network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813688} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.981Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.981Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 43205 typ host generation 0 ufrag xAqw network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813690} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.984Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.984Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 38971 typ host generation 0 ufrag xAqw network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813692} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 52001 typ host generation 0 ufrag xAqw network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813693} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 59498 typ host generation 0 ufrag xAqw network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813695} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 39482 typ host generation 0 ufrag xAqw network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813708} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.992Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.992Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.992Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.993Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.993Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.993Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.993Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.993Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 33343 typ host generation 0 ufrag xAqw network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813710} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:33.993Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:33.993Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 36478 typ srflx raddr 192.168.219.109 rport 36478 generation 0 ufrag xAqw network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813852} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:34.027Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:34.027Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 52001 typ srflx raddr 192.168.219.109 rport 52001 generation 0 ufrag xAqw network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":1759617813868} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3","timestamp":"2025-10-04T22:43:34.041Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:43:34.041Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617832692} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617832692} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617832692} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617862695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617862695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617862695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617892699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617892699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617892699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617922702} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617922702} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617922702} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759617952706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759617952706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759617952706} {"level":"info","message":"Client disconnected: q_aHFXbosXX5g-g_AAAL, reason: client namespace disconnect","timestamp":"2025-10-04T22:46:22.820Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:22.820Z"} {"level":"info","message":"🔌 Connection terminated: af9a6ebb-dd0d-44fa-a0a0-249f5c7f93e3 - Device disconnected","timestamp":"2025-10-04T22:46:22.820Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:22.820Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:22.822Z"} {"level":"info","message":"📱 Sending 0 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:22.822Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: EHxzRJ66JrQUAX7YAAAQ","timestamp":"2025-10-04T22:46:32.002Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: EHxzRJ66JrQUAX7YAAAQ","timestamp":"2025-10-04T22:46:32.002Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.029Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.029Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:32.442Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:32.442Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.659Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.659Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.660Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.661Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617992471} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.762Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.762Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.762Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.763Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.763Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.764Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.764Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617992471} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.852Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.852Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.852Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.853Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.853Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.856Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.856Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617992471} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.857Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.857Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.857Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.857Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.857Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.860Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.860Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617992471} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617992471} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617992471} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.862Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.862Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.862Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.863Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.863Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.863Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.863Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.863Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.864Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.864Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.864Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.864Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.864Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.865Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.865Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617992471} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.866Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992471} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.866Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.866Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.867Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.867Z"} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.867Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.867Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.867Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.867Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.867Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.868Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.868Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.868Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.868Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.868Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.869Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.869Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.869Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.869Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.870Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.870Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.870Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.870Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.871Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.871Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.871Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.871Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.901Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.901Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.905Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.905Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.907Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.907Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.908Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.908Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.909Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.909Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.913Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.917Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.917Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.919Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.919Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617992482} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.922Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.923Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.923Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.923Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.923Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Handling Android registration for socket: xvRZgBQxDFjasEOWAAAR","timestamp":"2025-10-04T22:46:32.923Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992482} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.924Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.924Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"xvRZgBQxDFjasEOWAAAR","status":"online","timestamp":"2025-10-04T22:46:32.924Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.924Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.924Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.925Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.925Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.925Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:32.968Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:32.968Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:32.968Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:32.968Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:32.968Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:32.970Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:32.970Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617992797} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:33.000Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:33.000Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.000Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.001Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:33.001Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:33.002Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.002Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617992797} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:33.013Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:33.013Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.013Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.014Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:33.014Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:33.015Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.015Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617992797} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:33.022Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:33.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.023Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:33.023Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:33.026Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.026Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617992797} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617992797} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617992797} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617992797} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:33.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:33.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.029Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:33.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:33.030Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:33.030Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.030Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.030Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:33.030Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:33.030Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:33.030Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.030Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.031Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:33.031Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Handling Android registration for socket: LLiIhS-IDpv2d1IeAAAT","timestamp":"2025-10-04T22:46:33.031Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759617992797} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:33.031Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.031Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"LLiIhS-IDpv2d1IeAAAT","status":"online","timestamp":"2025-10-04T22:46:33.031Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:46:33.031Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:33.032Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.032Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:33.032Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.032Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:33.033Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.033Z"} {"level":"info","message":"📱 Devices list requested by socket p3ThF2tl70H_c1XiAAAN","timestamp":"2025-10-04T22:46:33.035Z"} {"level":"info","message":"📱 Sending 1 devices to operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.036Z"} {"level":"info","message":"Client disconnected: p3ThF2tl70H_c1XiAAAN, reason: client namespace disconnect","timestamp":"2025-10-04T22:46:33.275Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.276Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:33.276Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: iXL_SQTxr8lfa5ksAAAV","timestamp":"2025-10-04T22:46:36.369Z","userAgent":""} {"level":"info","message":"Operator registered: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:36.371Z"} {"level":"info","message":"📷 Camera request received from operator socket iXL_SQTxr8lfa5ksAAAV","timestamp":"2025-10-04T22:46:38.130Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"📷 Operator IDs: fe61d200-ed2c-41b1-a3c1-c6f31e78846b, e3e2f274-5164-43e0-aae9-c45e2da709a6, 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"✅ Operator found: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"🔗 Initiating connection: 337a3ba8-8060-48fd-8113-583bf261f2c9 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"🆔 Generated connectionId: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"💾 Saving connection request: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"💾 All request IDs: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:46:38.130Z"} {"level":"info","message":"✅ Connection request created: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.131Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:46:38.131Z"} {"level":"info","message":"✅ Connection initiated: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.131Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"337a3ba8-8060-48fd-8113-583bf261f2c9","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617997984} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"337a3ba8-8060-48fd-8113-583bf261f2c9","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617997984} {"level":"info","message":"📱 Camera response received from Android: sessionId=caf56022-e5f9-4a6a-82ce-2fee1159b17c, accepted=true","timestamp":"2025-10-04T22:46:38.165Z"} {"level":"info","message":"🔍 Looking for connection request: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.165Z"} {"level":"info","message":"🔍 Available connection requests: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.165Z"} {"level":"info","message":"✅ Connection established: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.165Z"} {"level":"info","message":"✅ Connection accepted: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.165Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 2992719126034717459 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:siXH\r\na=ice-pwd:BdU21Uayu+DeBvMEp2U958as\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F6:3F:6B:EB:D9:C2:57:2E:F2:0B:F4:ED:6A:FF:A7:44:9B:2C:3F:35:A3:6D:61:C4:2F:8B:01:B8:3C:62:6C:ED\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 422712507 3085974257\r\na=ssrc:422712507 cname:fNiX+n40y3BbKEu5\r\na=ssrc:422712507 msid:stream videoTrack\r\na=ssrc:3085974257 cname:fNiX+n40y3BbKEu5\r\na=ssrc:3085974257 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:siXH\r\na=ice-pwd:BdU21Uayu+DeBvMEp2U958as\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 F6:3F:6B:EB:D9:C2:57:2E:F2:0B:F4:ED:6A:FF:A7:44:9B:2C:3F:35:A3:6D:61:C4:2F:8B:01:B8:3C:62:6C:ED\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1285009733 cname:fNiX+n40y3BbKEu5\r\na=ssrc:1285009733 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998039} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.219Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:46:38.219Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.220Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.220Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 43868 typ host generation 0 ufrag siXH network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998317} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.527Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.527Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 36390 typ host generation 0 ufrag siXH network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998320} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.544Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.544Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 46314 typ host generation 0 ufrag siXH network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998322} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.546Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.546Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 57350 typ host generation 0 ufrag siXH network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998323} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 42623 typ host generation 0 ufrag siXH network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998325} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.547Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.547Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.547Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.548Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 49278 typ host generation 0 ufrag siXH network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998327} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 33128 typ host generation 0 ufrag siXH network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998329} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 49968 typ host generation 0 ufrag siXH network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998330} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.549Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.549Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.550Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.550Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.550Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.550Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 44095 typ host generation 0 ufrag siXH network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998339} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 58585 typ host generation 0 ufrag siXH network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998350} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.550Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.551Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.551Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.551Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 33128 typ srflx raddr 192.168.219.109 rport 33128 generation 0 ufrag siXH network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998571} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.733Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.733Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 36390 typ srflx raddr 192.168.219.109 rport 36390 generation 0 ufrag siXH network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":1759617998578} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"caf56022-e5f9-4a6a-82ce-2fee1159b17c","timestamp":"2025-10-04T22:46:38.747Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:46:38.747Z"} {"level":"info","message":"Client disconnected: iXL_SQTxr8lfa5ksAAAV, reason: transport close","timestamp":"2025-10-04T22:46:53.090Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:53.090Z"} {"level":"info","message":"🔌 Connection terminated: caf56022-e5f9-4a6a-82ce-2fee1159b17c - Operator disconnected","timestamp":"2025-10-04T22:46:53.090Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 337a3ba8-8060-48fd-8113-583bf261f2c9","timestamp":"2025-10-04T22:46:53.090Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618022486} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618022486} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618022486} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618022812} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618022812} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618022812} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618052491} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618052491} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618052491} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618052815} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618052815} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618052815} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618082498} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618082498} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618082498} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618082818} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618082818} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618082818} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 5Qa_aNCCJM-JNzteAAAX","timestamp":"2025-10-04T22:48:11.439Z","userAgent":""} {"level":"info","message":"Operator registered: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:11.440Z"} {"level":"info","message":"📷 Camera request received from operator socket 5Qa_aNCCJM-JNzteAAAX","timestamp":"2025-10-04T22:48:16.699Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"📷 Operator IDs: fe61d200-ed2c-41b1-a3c1-c6f31e78846b, e3e2f274-5164-43e0-aae9-c45e2da709a6, 337a3ba8-8060-48fd-8113-583bf261f2c9, d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"✅ Operator found: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"🔗 Initiating connection: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"🆔 Generated connectionId: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"💾 Saving connection request: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"💾 All request IDs: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:16.699Z"} {"level":"info","message":"✅ Connection request created: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.700Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:48:16.700Z"} {"level":"info","message":"✅ Connection initiated: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.700Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096570} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096570} {"level":"info","message":"📱 Camera response received from Android: sessionId=e4842532-6bbd-4a73-9225-b371cd7591cd, accepted=true","timestamp":"2025-10-04T22:48:16.732Z"} {"level":"info","message":"🔍 Looking for connection request: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.732Z"} {"level":"info","message":"🔍 Available connection requests: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.732Z"} {"level":"info","message":"✅ Connection established: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.732Z"} {"level":"info","message":"✅ Connection accepted: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.732Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 6471756309256977072 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:m3tO\r\na=ice-pwd:S3Ua1IROMLuD5v19iv59+29w\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 B0:F4:C3:DE:D1:A5:0E:83:64:B5:AF:FA:37:90:70:37:FB:CE:F1:27:28:A5:33:A9:28:A7:4C:9F:42:FB:DE:24\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2064735924 2477893240\r\na=ssrc:2064735924 cname:GKnD4eWSrI43zGe8\r\na=ssrc:2064735924 msid:stream videoTrack\r\na=ssrc:2477893240 cname:GKnD4eWSrI43zGe8\r\na=ssrc:2477893240 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:m3tO\r\na=ice-pwd:S3Ua1IROMLuD5v19iv59+29w\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 B0:F4:C3:DE:D1:A5:0E:83:64:B5:AF:FA:37:90:70:37:FB:CE:F1:27:28:A5:33:A9:28:A7:4C:9F:42:FB:DE:24\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1909113929 cname:GKnD4eWSrI43zGe8\r\na=ssrc:1909113929 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096653} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 37934 typ host generation 0 ufrag m3tO network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096681} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.845Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:48:16.845Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.845Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.845Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.845Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:48:16.845Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.845Z"} {"level":"error","message":"❌ Cannot update WebRTC state for connection: e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.845Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.846Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:16.846Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.846Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:16.846Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 38593 typ host generation 0 ufrag m3tO network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096686} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.848Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:16.848Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.848Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:16.848Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 53584 typ host generation 0 ufrag m3tO network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096707} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.962Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:16.962Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:16.962Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:16.962Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 49109 typ host generation 0 ufrag m3tO network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096711} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.016Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.017Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.017Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.017Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 36417 typ host generation 0 ufrag m3tO network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096714} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.027Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.027Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.027Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.028Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 44497 typ host generation 0 ufrag m3tO network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096719} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.031Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.031Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.031Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.031Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 48710 typ host generation 0 ufrag m3tO network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096724} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 38089 typ host generation 0 ufrag m3tO network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096725} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 37070 typ host generation 0 ufrag m3tO network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096730} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.032Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.033Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 54099 typ host generation 0 ufrag m3tO network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618096732} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.036Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.036Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.036Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.036Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 38593 typ srflx raddr 192.168.219.109 rport 38593 generation 0 ufrag m3tO network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618097064} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.269Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.269Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.269Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.269Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 48710 typ srflx raddr 192.168.219.109 rport 48710 generation 0 ufrag m3tO network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":1759618097104} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.273Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.273Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"e4842532-6bbd-4a73-9225-b371cd7591cd","timestamp":"2025-10-04T22:48:17.273Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:48:17.273Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618112502} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618112502} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618112502} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618112821} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618112821} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618112821} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T22:48:54.438Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:54.659Z","userAgent":""} {"level":"info","message":"Operator registered: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:54.661Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:54.866Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:54.866Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: wIX7tQGiBCpJfZkwAAAG","timestamp":"2025-10-04T22:48:54.965Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: wIX7tQGiBCpJfZkwAAAG","timestamp":"2025-10-04T22:48:54.966Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:54.997Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:54.998Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.138Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.138Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.138Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.141Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.142Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.143Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.144Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618134873} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618134873} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618134873} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618134873} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618134873} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.270Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.270Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.271Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.271Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.271Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.272Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.272Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.272Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.273Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.273Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.273Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.273Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.273Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.274Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.274Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.274Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.274Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.274Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.275Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.275Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.275Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.275Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.275Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.276Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.276Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618134873} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618134873} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.278Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.278Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.278Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.279Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.279Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.279Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618134873} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.279Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.279Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.279Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.280Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.282Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.283Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.283Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.283Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.284Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.284Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.284Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.284Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.284Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.285Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.285Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.285Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.286Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.286Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.424Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.424Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.424Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.424Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.425Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.426Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.426Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618135245} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618135245} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.430Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.430Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.430Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.431Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.431Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.432Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.432Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.432Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.433Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.433Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.434Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.434Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.434Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.435Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618135245} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618135245} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618135245} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618135245} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618135245} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.437Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.437Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.437Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.437Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.438Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.438Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.438Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.438Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.439Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.439Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.439Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.439Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.439Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.440Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.440Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Handling Android registration for socket: qWRMuSfGFTWF67sOAAAF","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135245} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.440Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"qWRMuSfGFTWF67sOAAAF","status":"online","timestamp":"2025-10-04T22:48:55.441Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.441Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.442Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.442Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.443Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.443Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.444Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.444Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.444Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.445Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.447Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.447Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.502Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.502Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.502Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.503Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.503Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618135303} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.504Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.505Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.505Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.505Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.505Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.506Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.506Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.507Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.507Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618135303} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.508Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.508Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.508Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.509Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.509Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618135303} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.512Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.512Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.512Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.512Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.512Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.513Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.514Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.514Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.515Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618135303} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.516Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.516Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.516Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.516Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.516Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.518Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.518Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618135303} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.519Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.520Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.520Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.520Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.520Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.521Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.522Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618135303} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618135303} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.528Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.528Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.528Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.529Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Handling Android registration for socket: Sq7L-2IEg5tlV4IGAAAH","timestamp":"2025-10-04T22:48:55.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618135303} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:48:55.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Sq7L-2IEg5tlV4IGAAAH","status":"online","timestamp":"2025-10-04T22:48:55.530Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:48:55.530Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.531Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.532Z"} {"level":"info","message":"📱 Devices list requested by socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:48:55.532Z"} {"level":"info","message":"📱 Sending 1 devices to operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:48:55.533Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: IR72GhV6M9-N4anWAAAJ","timestamp":"2025-10-04T22:49:00.387Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"level":"info","message":"📷 Camera request received from operator socket bH6RPn6IubFjxuWWAAAB","timestamp":"2025-10-04T22:49:00.434Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:49:00.434Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T22:49:00.434Z"} {"level":"info","message":"📷 Operator IDs: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:49:00.434Z"} {"level":"info","message":"✅ Operator found: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:49:00.434Z"} {"level":"info","message":"🔗 Initiating connection: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:49:00.435Z"} {"level":"info","message":"🆔 Generated connectionId: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.435Z"} {"level":"info","message":"💾 Saving connection request: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.435Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:49:00.435Z"} {"level":"info","message":"💾 All request IDs: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.435Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:49:00.435Z"} {"level":"info","message":"✅ Connection request created: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.436Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:49:00.436Z"} {"level":"info","message":"✅ Connection initiated: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.436Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140291} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140291} {"level":"info","message":"📱 Camera response received from Android: sessionId=30d29db5-db00-4cd4-9d19-3ee298b17787, accepted=true","timestamp":"2025-10-04T22:49:00.457Z"} {"level":"info","message":"🔍 Looking for connection request: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.457Z"} {"level":"info","message":"🔍 Available connection requests: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.458Z"} {"level":"info","message":"✅ Connection established: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.458Z"} {"level":"info","message":"✅ Connection accepted: 30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.458Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 4275330432424630503 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Hk0P\r\na=ice-pwd:6ssIx+2tYvp0B+sGVc21Oyho\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 8E:DA:A8:15:A3:01:C2:E7:58:3A:C8:00:0F:01:4C:8E:40:98:B2:B0:13:15:5E:D9:09:6E:2D:75:3A:19:7E:CB\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2508200821 3241738535\r\na=ssrc:2508200821 cname:XQaiXnYp0syCToCC\r\na=ssrc:2508200821 msid:stream videoTrack\r\na=ssrc:3241738535 cname:XQaiXnYp0syCToCC\r\na=ssrc:3241738535 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:Hk0P\r\na=ice-pwd:6ssIx+2tYvp0B+sGVc21Oyho\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 8E:DA:A8:15:A3:01:C2:E7:58:3A:C8:00:0F:01:4C:8E:40:98:B2:B0:13:15:5E:D9:09:6E:2D:75:3A:19:7E:CB\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2926493165 cname:XQaiXnYp0syCToCC\r\na=ssrc:2926493165 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140361} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.535Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:49:00.535Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.535Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 35324 typ host generation 0 ufrag Hk0P network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140382} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.624Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.625Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 37675 typ host generation 0 ufrag Hk0P network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140394} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.627Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.627Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 49075 typ host generation 0 ufrag Hk0P network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140396} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.728Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.728Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 60423 typ host generation 0 ufrag Hk0P network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140398} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 38502 typ host generation 0 ufrag Hk0P network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140408} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 59074 typ host generation 0 ufrag Hk0P network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140409} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 35976 typ host generation 0 ufrag Hk0P network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140411} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.737Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.737Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.737Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.738Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.738Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.738Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.738Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.738Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 40048 typ host generation 0 ufrag Hk0P network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140413} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.742Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.742Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 34644 typ host generation 0 ufrag Hk0P network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140414} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.749Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.749Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 48765 typ host generation 0 ufrag Hk0P network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140416} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.754Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.754Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 35976 typ srflx raddr 192.168.219.109 rport 35976 generation 0 ufrag Hk0P network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140629} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.855Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.855Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 37675 typ srflx raddr 192.168.219.109 rport 37675 generation 0 ufrag Hk0P network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":1759618140689} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"30d29db5-db00-4cd4-9d19-3ee298b17787","timestamp":"2025-10-04T22:49:00.863Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:00.863Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618165258} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618165258} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618165258} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618165315} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618165315} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618165315} {"level":"info","message":"Client disconnected: bH6RPn6IubFjxuWWAAAB, reason: transport close","timestamp":"2025-10-04T22:49:34.977Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:49:34.977Z"} {"level":"info","message":"🔌 Connection terminated: 30d29db5-db00-4cd4-9d19-3ee298b17787 - Operator disconnected","timestamp":"2025-10-04T22:49:34.978Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2","timestamp":"2025-10-04T22:49:34.978Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:49:55.323Z","userAgent":""} {"level":"info","message":"Operator registered: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:49:55.325Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618195262} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618195262} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618195262} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618195319} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618195319} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618195319} {"level":"info","message":"📷 Camera request received from operator socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:49:56.370Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"📷 Operator IDs: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2, fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"✅ Operator found: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"🔗 Initiating connection: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"🆔 Generated connectionId: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"💾 Saving connection request: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"💾 All request IDs: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.370Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:49:56.371Z"} {"level":"info","message":"✅ Connection request created: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.371Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:49:56.371Z"} {"level":"info","message":"✅ Connection initiated: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.371Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196313} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196313} {"level":"info","message":"📱 Camera response received from Android: sessionId=0637f97c-2d11-4ffb-adcf-0b99f51ec45b, accepted=true","timestamp":"2025-10-04T22:49:56.477Z"} {"level":"info","message":"🔍 Looking for connection request: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.477Z"} {"level":"info","message":"🔍 Available connection requests: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.477Z"} {"level":"info","message":"✅ Connection established: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.477Z"} {"level":"info","message":"✅ Connection accepted: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.477Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 6542623049742205056 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:aPUe\r\na=ice-pwd:oW/unIAvHRqLUHW4Q9OUJRuT\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 10:89:2C:AE:B7:F6:E8:50:14:22:16:5D:85:57:8D:AC:EE:7A:DA:77:16:81:75:47:7A:77:5E:85:45:46:4B:C6\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 4270344901 479980092\r\na=ssrc:4270344901 cname:95PI5bctd4RA87QZ\r\na=ssrc:4270344901 msid:stream videoTrack\r\na=ssrc:479980092 cname:95PI5bctd4RA87QZ\r\na=ssrc:479980092 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:aPUe\r\na=ice-pwd:oW/unIAvHRqLUHW4Q9OUJRuT\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 10:89:2C:AE:B7:F6:E8:50:14:22:16:5D:85:57:8D:AC:EE:7A:DA:77:16:81:75:47:7A:77:5E:85:45:46:4B:C6\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:356895810 cname:95PI5bctd4RA87QZ\r\na=ssrc:356895810 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196388} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.608Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:49:56.609Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3595,"sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.609Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.609Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:49:56.609Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3595,"sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.609Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 53279 typ host generation 0 ufrag aPUe network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196409} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.618Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.618Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.618Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.618Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 52272 typ host generation 0 ufrag aPUe network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196414} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.619Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.619Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.620Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.620Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 41824 typ host generation 0 ufrag aPUe network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196425} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.620Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.621Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.621Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.621Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 49081 typ host generation 0 ufrag aPUe network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196439} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 42843 typ host generation 0 ufrag aPUe network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196443} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.622Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.622Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.622Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.622Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.622Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.623Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.623Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.623Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 38884 typ host generation 0 ufrag aPUe network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196446} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.623Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.624Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.624Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.624Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 56151 typ host generation 0 ufrag aPUe network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196447} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.624Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.625Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.625Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.625Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 59527 typ host generation 0 ufrag aPUe network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196452} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.626Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.626Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.626Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.626Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 44023 typ host generation 0 ufrag aPUe network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196455} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 55218 typ host generation 0 ufrag aPUe network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196457} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.631Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.631Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.632Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.632Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.632Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.632Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.632Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.632Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 52272 typ srflx raddr 192.168.219.109 rport 52272 generation 0 ufrag aPUe network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196563} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.743Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.743Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.744Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.744Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 56151 typ srflx raddr 192.168.219.109 rport 56151 generation 0 ufrag aPUe network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":1759618196572} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.748Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.748Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"0637f97c-2d11-4ffb-adcf-0b99f51ec45b","timestamp":"2025-10-04T22:49:56.748Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:49:56.749Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618225269} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618225269} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618225269} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618225325} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618225325} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618225325} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618255272} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618255272} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618255272} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618255334} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618255334} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618255334} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618285279} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618285279} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618285279} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618285338} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618285338} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618285338} {"level":"info","message":"Client disconnected: qWRMuSfGFTWF67sOAAAF, reason: client namespace disconnect","timestamp":"2025-10-04T22:51:26.347Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:38.763Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:38.763Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618298823} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618298823} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618298823} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618298823} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.175Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.175Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.175Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.176Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.176Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.176Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.176Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.176Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.177Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.177Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.177Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.177Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.177Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.177Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.177Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.177Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.178Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.178Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.178Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.178Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.178Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.178Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.178Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.179Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.179Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618298823} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.179Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.180Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.180Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.180Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.180Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.181Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.181Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.181Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.181Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.181Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.182Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.182Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.182Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.183Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.183Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.183Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.183Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618298823} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.193Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.194Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.194Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.194Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.194Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.196Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.197Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618298823} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Handling Android registration for socket: JCvZUPgfnu4F4Y52AAAN","timestamp":"2025-10-04T22:51:39.199Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618298823} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:39.199Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.199Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"JCvZUPgfnu4F4Y52AAAN","status":"online","timestamp":"2025-10-04T22:51:39.200Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:51:39.200Z"} {"level":"info","message":"📱 Devices list requested by socket 15P_OAJOI3R9MXWJAAAL","timestamp":"2025-10-04T22:51:39.201Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:39.202Z"} {"level":"info","message":"Client disconnected: 15P_OAJOI3R9MXWJAAAL, reason: client namespace disconnect","timestamp":"2025-10-04T22:51:45.257Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:45.257Z"} {"level":"info","message":"🔌 Connection terminated: 0637f97c-2d11-4ffb-adcf-0b99f51ec45b - Operator disconnected","timestamp":"2025-10-04T22:51:45.258Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:45.258Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:51:46.940Z","userAgent":""} {"level":"info","message":"Operator registered: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:46.941Z"} {"level":"info","message":"📷 Camera request received from operator socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:51:48.370Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"📷 Operator IDs: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2, fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"✅ Operator found: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"🔗 Initiating connection: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"🆔 Generated connectionId: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"💾 Saving connection request: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"💾 All request IDs: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"✅ Connection request created: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:51:48.370Z"} {"level":"info","message":"✅ Connection initiated: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.371Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308335} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308335} {"level":"info","message":"📱 Camera response received from Android: sessionId=ab684cc0-49b8-4f5b-8f82-c0db22126775, accepted=true","timestamp":"2025-10-04T22:51:48.508Z"} {"level":"info","message":"🔍 Looking for connection request: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.508Z"} {"level":"info","message":"🔍 Available connection requests: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.508Z"} {"level":"info","message":"✅ Connection established: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.508Z"} {"level":"info","message":"✅ Connection accepted: ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.508Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 6132563245699625661 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:v5G5\r\na=ice-pwd:kWuHldYVwu7HdFKmWpK9ppnb\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 BB:6D:38:F2:9A:55:D5:09:51:1D:01:B4:61:93:E0:B6:6F:04:4C:9A:D5:16:DE:E1:04:49:BA:AB:6A:3B:89:69\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2929379133 403542158\r\na=ssrc:2929379133 cname:UKPVY4mDGogvh9c7\r\na=ssrc:2929379133 msid:stream videoTrack\r\na=ssrc:403542158 cname:UKPVY4mDGogvh9c7\r\na=ssrc:403542158 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:v5G5\r\na=ice-pwd:kWuHldYVwu7HdFKmWpK9ppnb\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 BB:6D:38:F2:9A:55:D5:09:51:1D:01:B4:61:93:E0:B6:6F:04:4C:9A:D5:16:DE:E1:04:49:BA:AB:6A:3B:89:69\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2379919960 cname:UKPVY4mDGogvh9c7\r\na=ssrc:2379919960 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308416} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.623Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:51:48.623Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.623Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 36329 typ host generation 0 ufrag v5G5 network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308486} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.682Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.682Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 46362 typ host generation 0 ufrag v5G5 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308489} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.686Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.686Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 52060 typ host generation 0 ufrag v5G5 network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308491} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.704Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.704Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 46220 typ host generation 0 ufrag v5G5 network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308491} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.706Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.706Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 39690 typ host generation 0 ufrag v5G5 network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308492} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.799Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.800Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 48032 typ host generation 0 ufrag v5G5 network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308494} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.802Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.802Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 44284 typ host generation 0 ufrag v5G5 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308494} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.815Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.816Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 33710 typ host generation 0 ufrag v5G5 network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308495} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.832Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.832Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 60562 typ host generation 0 ufrag v5G5 network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308496} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.847Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.848Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 36237 typ host generation 0 ufrag v5G5 network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308497} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.863Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.863Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 44284 typ srflx raddr 192.168.219.109 rport 44284 generation 0 ufrag v5G5 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308724} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.926Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.926Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 46362 typ srflx raddr 192.168.219.109 rport 46362 generation 0 ufrag v5G5 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":1759618308762} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"ab684cc0-49b8-4f5b-8f82-c0db22126775","timestamp":"2025-10-04T22:51:48.934Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:51:48.934Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618315341} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618315341} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618315341} {"level":"info","message":"Client disconnected: JCvZUPgfnu4F4Y52AAAN, reason: client namespace disconnect","timestamp":"2025-10-04T22:51:59.657Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:59.658Z"} {"level":"info","message":"🔌 Connection terminated: ab684cc0-49b8-4f5b-8f82-c0db22126775 - Device disconnected","timestamp":"2025-10-04T22:51:59.658Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:51:59.658Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:51:59.659Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:51:59.660Z"} {"level":"info","message":"Client disconnected: Sq7L-2IEg5tlV4IGAAAH, reason: client namespace disconnect","timestamp":"2025-10-04T22:51:59.983Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.118Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.118Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: TXHokj5ZYWqY8L7mAAAT","timestamp":"2025-10-04T22:52:01.140Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: TXHokj5ZYWqY8L7mAAAT","timestamp":"2025-10-04T22:52:01.140Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.534Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.534Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.659Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.659Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.660Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.660Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618321481} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.671Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.672Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.672Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.672Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.672Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.673Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618321481} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618321481} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618321481} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.676Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.676Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.676Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.677Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.677Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.677Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.677Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.677Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.678Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.678Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.678Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.678Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.678Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.678Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.679Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618321481} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618321481} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618321481} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.680Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.680Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.680Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.681Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.681Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.682Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321481} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.683Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.683Z"} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.683Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.684Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.685Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.686Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.687Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.687Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.687Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.687Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.687Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.688Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.688Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.688Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.689Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.689Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.689Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.689Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.689Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.689Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.690Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.690Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.690Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.690Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.690Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.691Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.691Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.691Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.691Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.691Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.692Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618321485} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.693Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.693Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.693Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.693Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.694Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Handling Android registration for socket: K0ZGgUmhgkM3lgTQAAAS","timestamp":"2025-10-04T22:52:01.694Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321485} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.694Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.694Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"K0ZGgUmhgkM3lgTQAAAS","status":"online","timestamp":"2025-10-04T22:52:01.695Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.695Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.696Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.697Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.697Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.697Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.697Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.698Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.707Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.707Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.710Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.710Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.905Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.906Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.906Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618321680} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.908Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.908Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.909Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.909Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.910Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.911Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618321680} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618321680} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618321680} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618321680} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.912Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.912Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.912Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.913Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.914Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.914Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.915Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.915Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.915Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.915Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.915Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618321680} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.916Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.916Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.916Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.916Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.916Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.916Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.917Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.917Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618321680} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Handling Android registration for socket: VOyyep50jJSf7rUKAAAV","timestamp":"2025-10-04T22:52:01.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618321680} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:01.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.917Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"VOyyep50jJSf7rUKAAAV","status":"online","timestamp":"2025-10-04T22:52:01.918Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:01.918Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.918Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.918Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.918Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.919Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.919Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.919Z"} {"level":"info","message":"📱 Devices list requested by socket TPTvyQzq-7JY1dCGAAAP","timestamp":"2025-10-04T22:52:01.923Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:01.923Z"} {"level":"info","message":"Client disconnected: TPTvyQzq-7JY1dCGAAAP, reason: client namespace disconnect","timestamp":"2025-10-04T22:52:04.697Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:04.697Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:04.697Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:05.190Z","userAgent":""} {"level":"info","message":"Operator registered: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:05.191Z"} {"level":"info","message":"📷 Camera request received from operator socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:06.314Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:52:06.314Z"} {"level":"info","message":"📷 Total operators registered: 2","timestamp":"2025-10-04T22:52:06.314Z"} {"level":"info","message":"📷 Operator IDs: d0ab8286-0b82-4f8b-bed7-b201aa4fc6b2, fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:06.314Z"} {"level":"info","message":"✅ Operator found: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:06.314Z"} {"level":"info","message":"🔗 Initiating connection: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:52:06.314Z"} {"level":"info","message":"🆔 Generated connectionId: 42ecc454-df7e-48a5-9f18-ca899d4082e8","timestamp":"2025-10-04T22:52:06.315Z"} {"level":"info","message":"💾 Saving connection request: 42ecc454-df7e-48a5-9f18-ca899d4082e8","timestamp":"2025-10-04T22:52:06.315Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:52:06.315Z"} {"level":"info","message":"💾 All request IDs: 42ecc454-df7e-48a5-9f18-ca899d4082e8","timestamp":"2025-10-04T22:52:06.315Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:06.315Z"} {"level":"info","message":"✅ Connection request created: 42ecc454-df7e-48a5-9f18-ca899d4082e8","timestamp":"2025-10-04T22:52:06.315Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:52:06.315Z"} {"level":"info","message":"✅ Connection initiated: 42ecc454-df7e-48a5-9f18-ca899d4082e8","timestamp":"2025-10-04T22:52:06.315Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618351492} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618351492} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618351492} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618351683} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618351683} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618351683} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:35.828Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:35.828Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618355840} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618355840} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618355840} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618355840} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.022Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.022Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.022Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.023Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.023Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.024Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.024Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.024Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.025Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.025Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.026Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.026Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.026Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618355840} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618355840} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618355840} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.027Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.027Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.027Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.028Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.028Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.028Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.028Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.028Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.029Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Handling Android registration for socket: QoccP2rp7CeZIW1dAAAZ","timestamp":"2025-10-04T22:52:36.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618355840} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:36.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.029Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"QoccP2rp7CeZIW1dAAAZ","status":"online","timestamp":"2025-10-04T22:52:36.029Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:36.029Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.030Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.030Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.031Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.031Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.031Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.031Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.032Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.032Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.032Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.032Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.033Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.033Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.035Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.036Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:36.036Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:36.037Z"} {"level":"warn","message":"⏰ Connection timeout: 42ecc454-df7e-48a5-9f18-ca899d4082e8","timestamp":"2025-10-04T22:52:36.316Z"} {"level":"info","message":"❌ Connection rejected: 42ecc454-df7e-48a5-9f18-ca899d4082e8 - Connection timeout","timestamp":"2025-10-04T22:52:36.316Z"} {"level":"info","message":"Client disconnected: QoccP2rp7CeZIW1dAAAZ, reason: client namespace disconnect","timestamp":"2025-10-04T22:52:38.374Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:38.374Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:38.374Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:38.376Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:38.376Z"} {"level":"info","message":"Client disconnected: VOyyep50jJSf7rUKAAAV, reason: client namespace disconnect","timestamp":"2025-10-04T22:52:38.496Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: VMmE4EWYnR1BXxsiAAAb","timestamp":"2025-10-04T22:52:39.340Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: VMmE4EWYnR1BXxsiAAAb","timestamp":"2025-10-04T22:52:39.340Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:39.580Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:39.580Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.119Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.119Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.383Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.383Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.383Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.384Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.384Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.385Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.385Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618360193} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.394Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.394Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.394Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.394Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.394Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.396Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.396Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618360193} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618360193} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618360193} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618360193} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618360193} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.397Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.397Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.398Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.398Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.398Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.398Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.398Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.398Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.399Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.399Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.399Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.400Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.400Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.400Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.400Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.400Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.400Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.400Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.400Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.401Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.401Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.401Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.401Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.401Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.401Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618360193} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.403Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360193} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.403Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.403Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.403Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.403Z"} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.404Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.404Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.404Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.404Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.404Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.404Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.405Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.405Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.405Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.405Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.405Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.405Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.405Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.406Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.406Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.406Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.406Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.406Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.406Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.407Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.407Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.407Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.407Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.407Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.407Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.408Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.409Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.409Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.410Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.410Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.410Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618360211} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.411Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.411Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.411Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.411Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.411Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.412Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.412Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.412Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.412Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.412Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Handling Android registration for socket: SmNgGZA8kXlqCQacAAAd","timestamp":"2025-10-04T22:52:40.412Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360211} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.412Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.412Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"SmNgGZA8kXlqCQacAAAd","status":"online","timestamp":"2025-10-04T22:52:40.413Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.413Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.414Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.414Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.414Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.414Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.414Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.414Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.414Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.415Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.416Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.416Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.417Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.417Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.418Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.418Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.857Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.857Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.857Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.857Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.857Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.858Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.858Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618360674} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.881Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.882Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.882Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.882Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.882Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.883Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.883Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618360674} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.890Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.890Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.890Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.890Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.890Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.892Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.892Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618360674} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618360674} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618360674} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618360674} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618360674} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.894Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.895Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.896Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.896Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Handling Android registration for socket: 255XCb6QJOK-aDq7AAAf","timestamp":"2025-10-04T22:52:40.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618360674} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:40.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"255XCb6QJOK-aDq7AAAf","status":"online","timestamp":"2025-10-04T22:52:40.897Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:40.897Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.897Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.898Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.898Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.898Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.898Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.899Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.900Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.901Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:40.901Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:40.901Z"} {"level":"info","message":"Client disconnected: SmNgGZA8kXlqCQacAAAd, reason: client namespace disconnect","timestamp":"2025-10-04T22:52:47.295Z"} {"level":"info","message":"Client disconnected: 255XCb6QJOK-aDq7AAAf, reason: client namespace disconnect","timestamp":"2025-10-04T22:52:47.400Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:47.401Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:47.401Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:47.402Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:47.402Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.221Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.221Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 5uVZWEU_dvoQ-znhAAAj","timestamp":"2025-10-04T22:52:52.356Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 5uVZWEU_dvoQ-znhAAAj","timestamp":"2025-10-04T22:52:52.356Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:52.540Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:52.540Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618372462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618372462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618372462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618372462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.658Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.658Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.659Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.659Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.659Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.659Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.659Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.659Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.659Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.660Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.660Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.660Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.660Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.660Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.660Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.660Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.661Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.661Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.661Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.661Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.661Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618372462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618372462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.662Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.662Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.662Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.662Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.663Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.663Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.663Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.663Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.664Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.664Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.665Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.665Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.665Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.665Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.665Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.666Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.666Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.666Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.666Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.666Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618372462} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618372464} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.668Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372462} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.668Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.668Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.668Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.668Z"} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.669Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.669Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.670Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.670Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.670Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.670Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.670Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.670Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.670Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.671Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.671Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.671Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.671Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.671Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.671Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.672Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.672Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.672Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.672Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.672Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.673Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.673Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.673Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.673Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.673Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.673Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.673Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.674Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.674Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Handling Android registration for socket: mxM7f7fyHbk_XFUMAAAi","timestamp":"2025-10-04T22:52:52.675Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372464} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:52.676Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.676Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"mxM7f7fyHbk_XFUMAAAi","status":"online","timestamp":"2025-10-04T22:52:52.676Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:52.676Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.677Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.678Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.678Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.678Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.680Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.680Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.681Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.682Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.682Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.682Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.682Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.682Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.682Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.683Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.687Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.687Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.687Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.688Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.688Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.688Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:52.688Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:52.688Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.042Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.042Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.042Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.043Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.043Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.045Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.046Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618372800} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.059Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.059Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.059Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.059Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.060Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618372800} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618372800} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618372800} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618372800} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618372800} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.062Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.062Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.062Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.062Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.062Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.063Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.063Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.063Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.063Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.063Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.063Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.064Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.064Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.064Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.064Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.064Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.064Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.064Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.064Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.065Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.065Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.065Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.065Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.065Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.065Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618372800} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Handling Android registration for socket: Hqq9QStEbg7xr6NLAAAl","timestamp":"2025-10-04T22:52:53.066Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618372800} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:52:53.066Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.066Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"Hqq9QStEbg7xr6NLAAAl","status":"online","timestamp":"2025-10-04T22:52:53.067Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:52:53.067Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.067Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.067Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.068Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.068Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.068Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.068Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.069Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.069Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.069Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.069Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.070Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.070Z"} {"level":"info","message":"📱 Devices list requested by socket SBa4VVareLi2XwOuAAAX","timestamp":"2025-10-04T22:52:53.073Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:52:53.073Z"} {"level":"info","message":"Client disconnected: SBa4VVareLi2XwOuAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T22:53:00.121Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:00.121Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:00.121Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:00.695Z","userAgent":""} {"level":"info","message":"Operator registered: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:00.697Z"} {"level":"info","message":"Client disconnected: mxM7f7fyHbk_XFUMAAAi, reason: client namespace disconnect","timestamp":"2025-10-04T22:53:03.314Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.506Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.507Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618384423} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618384423} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618384423} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618384423} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.681Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.681Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.681Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.682Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.682Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.683Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.683Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.683Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.684Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.684Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.685Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618384423} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618384423} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.685Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.686Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.686Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.687Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.687Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.687Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.687Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.687Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.687Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618384423} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Handling Android registration for socket: h-jDSYIIPWZcMoQ1AAAp","timestamp":"2025-10-04T22:53:04.688Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618384423} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:04.688Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.688Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"h-jDSYIIPWZcMoQ1AAAp","status":"online","timestamp":"2025-10-04T22:53:04.689Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:04.689Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.689Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.689Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.689Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.690Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.690Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.690Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.690Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.690Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.690Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.690Z"} {"level":"info","message":"📱 Devices list requested by socket RiEZMuu71nWh4CCTAAAn","timestamp":"2025-10-04T22:53:04.694Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:04.694Z"} {"level":"info","message":"Client disconnected: RiEZMuu71nWh4CCTAAAn, reason: client namespace disconnect","timestamp":"2025-10-04T22:53:06.169Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:06.169Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:06.169Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:06.860Z","userAgent":""} {"level":"info","message":"Operator registered: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:06.861Z"} {"level":"info","message":"Client disconnected: h-jDSYIIPWZcMoQ1AAAp, reason: client namespace disconnect","timestamp":"2025-10-04T22:53:12.675Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:12.675Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:12.675Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:12.677Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:12.677Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.351Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.351Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.488Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.488Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.488Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.488Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.488Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.490Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.490Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618395282} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618395282} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618395282} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618395282} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618395282} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.527Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.527Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.527Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.527Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.528Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.528Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.528Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.528Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.529Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.529Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.529Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.530Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.530Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.531Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.531Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618395282} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618395282} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.532Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.532Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.532Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.532Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.532Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Handling Android registration for socket: oqH-KEycsAY1ogcqAAAt","timestamp":"2025-10-04T22:53:15.533Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618395282} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:15.533Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.533Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"oqH-KEycsAY1ogcqAAAt","status":"online","timestamp":"2025-10-04T22:53:15.533Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:15.533Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.534Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.534Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.534Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.534Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.534Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.534Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.534Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.535Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.535Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.535Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.535Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.535Z"} {"level":"info","message":"📱 Devices list requested by socket 1jSWI20Ltb6pSNGiAAAr","timestamp":"2025-10-04T22:53:15.535Z"} {"level":"info","message":"📱 Sending 0 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:15.535Z"} {"level":"info","message":"Client disconnected: 1jSWI20Ltb6pSNGiAAAr, reason: client namespace disconnect","timestamp":"2025-10-04T22:53:19.105Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:19.105Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:19.105Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: vpUs5s11OlnMGLPSAAAv","timestamp":"2025-10-04T22:53:21.783Z","userAgent":""} {"level":"info","message":"Operator registered: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:21.784Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618402804} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618402804} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618402804} {"level":"info","message":"GodEye Backend Server running on 0.0.0.0:3001","timestamp":"2025-10-04T22:53:33.686Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:33.821Z","userAgent":""} {"level":"info","message":"Operator registered: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:33.823Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: btoxZYO7Oh2BN0aWAAAD","timestamp":"2025-10-04T22:53:34.391Z","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: lesL2M5_FTndhZ8kAAAL","timestamp":"2025-10-04T22:53:35.577Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: lesL2M5_FTndhZ8kAAAL","timestamp":"2025-10-04T22:53:35.577Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: vmT2uTR1jv4ooahFAAAM","timestamp":"2025-10-04T22:53:35.595Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: vmT2uTR1jv4ooahFAAAM","timestamp":"2025-10-04T22:53:35.595Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ekMvJr045bfZ_1xXAAAN","timestamp":"2025-10-04T22:53:35.619Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ekMvJr045bfZ_1xXAAAN","timestamp":"2025-10-04T22:53:35.619Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.637Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.637Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 4dcUpb-iXymaQb89AAAP","timestamp":"2025-10-04T22:53:35.664Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 4dcUpb-iXymaQb89AAAP","timestamp":"2025-10-04T22:53:35.664Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.683Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.683Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: ZQciWlh-XzO7IB_vAAAR","timestamp":"2025-10-04T22:53:35.710Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: ZQciWlh-XzO7IB_vAAAR","timestamp":"2025-10-04T22:53:35.711Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.901Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.901Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.903Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.904Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618415565} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.943Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.943Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.943Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.946Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.947Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.951Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.952Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618415565} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618415565} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.953Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.953Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.953Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.953Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.954Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.954Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.954Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.955Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.955Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.956Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618415565} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618415565} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618415565} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618415565} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.957Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.958Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.958Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.959Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.959Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.959Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.959Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.960Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.960Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.960Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.960Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.961Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.962Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415565} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.962Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.962Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.962Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.963Z"} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.963Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.963Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.963Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.964Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.964Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.971Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.971Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.971Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.972Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.972Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.973Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.973Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.973Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.974Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.974Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.974Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.974Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.974Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.975Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.975Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.975Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.975Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.976Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.976Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.976Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.977Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.977Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.977Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.978Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.978Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.978Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.978Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.979Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.979Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.979Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.983Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.983Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.983Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.983Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.984Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.984Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.984Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.984Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.984Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.985Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.985Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.985Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:35.985Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:35.986Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618415717} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618415717} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618415717} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618415717} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618415717} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618415717} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.988Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.988Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.988Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.989Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.989Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.989Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.989Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.989Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.991Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.991Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.991Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.991Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.991Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.991Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.992Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.992Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.992Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.992Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.993Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.993Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.993Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.993Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.993Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.993Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.993Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.994Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.994Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.994Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.994Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.994Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:35.994Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.995Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.995Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:35.995Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.995Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618415710} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Handling Android registration for socket: uCWSMdlY1gGszjDIAAAO","timestamp":"2025-10-04T22:53:35.997Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415710} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:35.997Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.997Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"uCWSMdlY1gGszjDIAAAO","status":"online","timestamp":"2025-10-04T22:53:35.998Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:35.998Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.002Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.003Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618415717} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Handling Android registration for socket: tabHkAnFvjZ-ztEXAAAQ","timestamp":"2025-10-04T22:53:36.005Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618415717} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:36.005Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:36.005Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"tabHkAnFvjZ-ztEXAAAQ","status":"online","timestamp":"2025-10-04T22:53:36.006Z"} {"level":"info","message":"📡 Notifying 1 operators about new device","timestamp":"2025-10-04T22:53:36.006Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.007Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.007Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.008Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.008Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.008Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.009Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.009Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.009Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.009Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.010Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.011Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.011Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.012Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.012Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.012Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.012Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.013Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.013Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.013Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.013Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.013Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.014Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.014Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.014Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.014Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.014Z"} {"level":"info","message":"📱 Devices list requested by socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:36.015Z"} {"level":"info","message":"📱 Sending 1 devices to operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:36.016Z"} {"level":"info","message":"📷 Camera request received from operator socket 6JQ9KAFUOcR5mcl_AAAB","timestamp":"2025-10-04T22:53:40.082Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:53:40.082Z"} {"level":"info","message":"📷 Total operators registered: 1","timestamp":"2025-10-04T22:53:40.082Z"} {"level":"info","message":"📷 Operator IDs: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:40.082Z"} {"level":"info","message":"✅ Operator found: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:40.082Z"} {"level":"info","message":"🔗 Initiating connection: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:53:40.083Z"} {"level":"info","message":"🆔 Generated connectionId: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.083Z"} {"level":"info","message":"💾 Saving connection request: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.083Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:53:40.083Z"} {"level":"info","message":"💾 All request IDs: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.083Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:53:40.083Z"} {"level":"info","message":"✅ Connection request created: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.084Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:53:40.084Z"} {"level":"info","message":"✅ Connection initiated: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.084Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618419949} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618419949} {"level":"info","message":"📱 Camera response received from Android: sessionId=faad09ea-4e8b-4ef2-8ba8-28c487d11e17, accepted=true","timestamp":"2025-10-04T22:53:40.115Z"} {"level":"info","message":"🔍 Looking for connection request: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.116Z"} {"level":"info","message":"🔍 Available connection requests: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.116Z"} {"level":"info","message":"✅ Connection established: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.116Z"} {"level":"info","message":"✅ Connection accepted: faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.116Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 4138752608458027315 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:kOOS\r\na=ice-pwd:czZOFvTX9+LBLjZixi2YFSEe\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 6C:DF:E4:E9:B8:AC:3C:38:D9:31:55:98:F5:88:F2:12:B1:5A:52:07:92:B1:56:04:F9:2F:5A:EF:CE:91:5A:F6\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3610970444 1011340023\r\na=ssrc:3610970444 cname:tPbFhfEgcqk7xIh3\r\na=ssrc:3610970444 msid:stream videoTrack\r\na=ssrc:1011340023 cname:tPbFhfEgcqk7xIh3\r\na=ssrc:1011340023 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:kOOS\r\na=ice-pwd:czZOFvTX9+LBLjZixi2YFSEe\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 6C:DF:E4:E9:B8:AC:3C:38:D9:31:55:98:F5:88:F2:12:B1:5A:52:07:92:B1:56:04:F9:2F:5A:EF:CE:91:5A:F6\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2324989964 cname:tPbFhfEgcqk7xIh3\r\na=ssrc:2324989964 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618419991} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.157Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:53:40.158Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.158Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 33019 typ host generation 0 ufrag kOOS network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420123} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.317Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.317Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 47604 typ host generation 0 ufrag kOOS network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420125} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 38224 typ host generation 0 ufrag kOOS network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420127} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 36609 typ host generation 0 ufrag kOOS network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420129} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 36175 typ host generation 0 ufrag kOOS network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420132} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.334Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.334Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.334Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.334Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.334Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.334Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.334Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.335Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 42174 typ host generation 0 ufrag kOOS network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420134} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 56881 typ host generation 0 ufrag kOOS network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420136} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.335Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.335Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.336Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.336Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 36184 typ host generation 0 ufrag kOOS network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420137} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 51141 typ host generation 0 ufrag kOOS network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420140} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 52559 typ host generation 0 ufrag kOOS network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420141} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.378Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.378Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.378Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.378Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.378Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.378Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 47604 typ srflx raddr 192.168.219.109 rport 47604 generation 0 ufrag kOOS network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420327} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.504Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.504Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 56881 typ srflx raddr 192.168.219.109 rport 56881 generation 0 ufrag kOOS network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":1759618420353} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"faad09ea-4e8b-4ef2-8ba8-28c487d11e17","timestamp":"2025-10-04T22:53:40.528Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:53:40.528Z"} {"level":"info","message":"Client disconnected: 6JQ9KAFUOcR5mcl_AAAB, reason: transport close","timestamp":"2025-10-04T22:53:56.783Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:56.783Z"} {"level":"info","message":"🔌 Connection terminated: faad09ea-4e8b-4ef2-8ba8-28c487d11e17 - Operator disconnected","timestamp":"2025-10-04T22:53:56.784Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f","timestamp":"2025-10-04T22:53:56.784Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618445715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618445715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618445715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618445736} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618445736} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618445736} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618475719} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618475719} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618475719} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618475742} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618475742} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618475742} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618505722} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618505722} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618505722} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618505750} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618505750} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618505750} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618535725} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618535725} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618535725} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618535752} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618535752} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618535752} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618565728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618565728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618565728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618565755} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618565755} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618565755} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618595730} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618595730} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618595730} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618595757} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618595757} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618595757} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618625733} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618625733} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618625733} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 2DGckmHq37n_GgpCAAAT","timestamp":"2025-10-04T22:57:05.915Z","userAgent":""} {"level":"info","message":"Operator registered: 9404bad7-2b4a-41c1-8149-e48e90fb780e","timestamp":"2025-10-04T22:57:05.917Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618625760} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618625760} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618625760} {"level":"info","message":"Client disconnected: 2DGckmHq37n_GgpCAAAT, reason: transport close","timestamp":"2025-10-04T22:57:13.071Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 9404bad7-2b4a-41c1-8149-e48e90fb780e","timestamp":"2025-10-04T22:57:13.072Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 9404bad7-2b4a-41c1-8149-e48e90fb780e","timestamp":"2025-10-04T22:57:13.072Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 9zLJ_x6xaxE0f1oyAAAV","timestamp":"2025-10-04T22:57:14.142Z","userAgent":""} {"level":"info","message":"Operator registered: 5b065789-2ffe-4093-a1d3-7497ccb21b35","timestamp":"2025-10-04T22:57:14.144Z"} {"level":"info","message":"📷 Camera request received from operator socket 9zLJ_x6xaxE0f1oyAAAV","timestamp":"2025-10-04T22:57:29.330Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T22:57:29.330Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T22:57:29.330Z"} {"level":"info","message":"📷 Operator IDs: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f, 9404bad7-2b4a-41c1-8149-e48e90fb780e, 5b065789-2ffe-4093-a1d3-7497ccb21b35","timestamp":"2025-10-04T22:57:29.330Z"} {"level":"info","message":"✅ Operator found: 5b065789-2ffe-4093-a1d3-7497ccb21b35","timestamp":"2025-10-04T22:57:29.330Z"} {"level":"info","message":"🔗 Initiating connection: 5b065789-2ffe-4093-a1d3-7497ccb21b35 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T22:57:29.330Z"} {"level":"info","message":"🆔 Generated connectionId: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.330Z"} {"level":"info","message":"💾 Saving connection request: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.331Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T22:57:29.331Z"} {"level":"info","message":"💾 All request IDs: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.331Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T22:57:29.331Z"} {"level":"info","message":"✅ Connection request created: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.331Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T22:57:29.331Z"} {"level":"info","message":"✅ Connection initiated: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.331Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"5b065789-2ffe-4093-a1d3-7497ccb21b35","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649217} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"5b065789-2ffe-4093-a1d3-7497ccb21b35","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649217} {"level":"info","message":"📱 Camera response received from Android: sessionId=27da9b7b-de62-4e64-9121-17d0ce372097, accepted=true","timestamp":"2025-10-04T22:57:29.381Z"} {"level":"info","message":"🔍 Looking for connection request: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.381Z"} {"level":"info","message":"🔍 Available connection requests: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.381Z"} {"level":"info","message":"✅ Connection established: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.381Z"} {"level":"info","message":"✅ Connection accepted: 27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.381Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 8675317557389424015 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ZqKO\r\na=ice-pwd:rLDS7twwwyrt/ke7tMo3i+cj\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 07:B1:30:13:7F:1C:FE:75:B5:D3:46:07:7A:94:08:71:49:DE:11:7D:3B:F2:73:D2:BD:9C:F3:D8:26:74:99:6F\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 422230140 1509764193\r\na=ssrc:422230140 cname:TrW5bHP8AgRbQRW9\r\na=ssrc:422230140 msid:stream videoTrack\r\na=ssrc:1509764193 cname:TrW5bHP8AgRbQRW9\r\na=ssrc:1509764193 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ZqKO\r\na=ice-pwd:rLDS7twwwyrt/ke7tMo3i+cj\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 07:B1:30:13:7F:1C:FE:75:B5:D3:46:07:7A:94:08:71:49:DE:11:7D:3B:F2:73:D2:BD:9C:F3:D8:26:74:99:6F\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3604154870 cname:TrW5bHP8AgRbQRW9\r\na=ssrc:3604154870 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649296} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.463Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:57:29.463Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.464Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.464Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T22:57:29.464Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.464Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 35007 typ host generation 0 ufrag ZqKO network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649319} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.557Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.557Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.558Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.558Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 35833 typ host generation 0 ufrag ZqKO network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649322} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.575Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.575Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.575Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.575Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 53800 typ host generation 0 ufrag ZqKO network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649325} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.577Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.577Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.578Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.578Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 56150 typ host generation 0 ufrag ZqKO network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649330} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 54694 typ host generation 0 ufrag ZqKO network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649331} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 57390 typ host generation 0 ufrag ZqKO network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649334} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.579Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.579Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.579Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.579Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.579Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.580Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.580Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.580Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.580Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.580Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.580Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.580Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 44686 typ host generation 0 ufrag ZqKO network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649336} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.581Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.581Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.581Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.581Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 33655 typ host generation 0 ufrag ZqKO network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649338} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.683Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.683Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.683Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.683Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 33204 typ host generation 0 ufrag ZqKO network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649341} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.685Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.685Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.685Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.686Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 41989 typ host generation 0 ufrag ZqKO network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649343} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 44686 typ srflx raddr 192.168.219.109 rport 44686 generation 0 ufrag ZqKO network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649471} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.686Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.687Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.687Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.687Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.688Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.688Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.688Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.688Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 35833 typ srflx raddr 192.168.219.109 rport 35833 generation 0 ufrag ZqKO network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":1759618649483} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.712Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.712Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"27da9b7b-de62-4e64-9121-17d0ce372097","timestamp":"2025-10-04T22:57:29.712Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T22:57:29.712Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618655736} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618655736} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618655736} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618655763} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618655763} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618655763} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618685739} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618685739} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618685739} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618685765} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618685765} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618685765} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618715744} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618715769} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618715744} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618715744} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618715769} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618715769} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618745748} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618745748} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618745748} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618745770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618745770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618745770} {"level":"info","message":"Client disconnected: 9zLJ_x6xaxE0f1oyAAAV, reason: transport close","timestamp":"2025-10-04T22:59:22.890Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 5b065789-2ffe-4093-a1d3-7497ccb21b35","timestamp":"2025-10-04T22:59:22.890Z"} {"level":"info","message":"🔌 Connection terminated: 27da9b7b-de62-4e64-9121-17d0ce372097 - Operator disconnected","timestamp":"2025-10-04T22:59:22.890Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 5b065789-2ffe-4093-a1d3-7497ccb21b35","timestamp":"2025-10-04T22:59:22.890Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618775760} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618775773} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618775760} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618775760} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618775773} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618775773} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: zZeWEBljGBgFVaxTAAAX","timestamp":"2025-10-04T22:59:52.490Z","userAgent":""} {"level":"info","message":"Operator registered: 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T22:59:52.492Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618805762} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618805775} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618805762} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618805762} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618805775} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618805775} {"level":"info","message":"📷 Camera request received from operator socket zZeWEBljGBgFVaxTAAAX","timestamp":"2025-10-04T23:00:09.730Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"📷 Operator IDs: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f, 9404bad7-2b4a-41c1-8149-e48e90fb780e, 5b065789-2ffe-4093-a1d3-7497ccb21b35, 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"✅ Operator found: 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"🔗 Initiating connection: 5e573db5-eed9-4b9e-90cd-f740629a2e45 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"🆔 Generated connectionId: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"💾 Saving connection request: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"💾 All request IDs: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:09.731Z"} {"level":"info","message":"✅ Connection request created: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.732Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T23:00:09.732Z"} {"level":"info","message":"✅ Connection initiated: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.732Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"5e573db5-eed9-4b9e-90cd-f740629a2e45","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809602} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"5e573db5-eed9-4b9e-90cd-f740629a2e45","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809602} {"level":"info","message":"📱 Camera response received from Android: sessionId=76cd23d6-31ef-41ef-9039-158c1ef89cb2, accepted=true","timestamp":"2025-10-04T23:00:09.775Z"} {"level":"info","message":"🔍 Looking for connection request: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.775Z"} {"level":"info","message":"🔍 Available connection requests: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.775Z"} {"level":"info","message":"✅ Connection established: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.775Z"} {"level":"info","message":"✅ Connection accepted: 76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.775Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 5687702464205757733 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ZKu5\r\na=ice-pwd:wJb2vpAK+ZzqTotKMDhWPBrB\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 2A:70:38:45:2F:25:A3:A5:96:22:86:63:2C:21:F1:CB:C8:F8:59:42:3A:19:3C:B9:88:16:77:61:3B:50:27:7D\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 3664358081 2642238083\r\na=ssrc:3664358081 cname:uA1hRzGjTC/ndpxj\r\na=ssrc:3664358081 msid:stream videoTrack\r\na=ssrc:2642238083 cname:uA1hRzGjTC/ndpxj\r\na=ssrc:2642238083 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:ZKu5\r\na=ice-pwd:wJb2vpAK+ZzqTotKMDhWPBrB\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 2A:70:38:45:2F:25:A3:A5:96:22:86:63:2C:21:F1:CB:C8:F8:59:42:3A:19:3C:B9:88:16:77:61:3B:50:27:7D\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3419910854 cname:uA1hRzGjTC/ndpxj\r\na=ssrc:3419910854 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809671} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.892Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:00:09.892Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.892Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.892Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:00:09.892Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.892Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.892Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:00:09.893Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.893Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 39365 typ host generation 0 ufrag ZKu5 network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809684} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 59246 typ host generation 0 ufrag ZKu5 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809685} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 49184 typ host generation 0 ufrag ZKu5 network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809686} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 38644 typ host generation 0 ufrag ZKu5 network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809687} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 45945 typ host generation 0 ufrag ZKu5 network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809688} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 34020 typ host generation 0 ufrag ZKu5 network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809688} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 34982 typ host generation 0 ufrag ZKu5 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809689} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 46893 typ host generation 0 ufrag ZKu5 network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809690} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 47484 typ host generation 0 ufrag ZKu5 network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809691} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 54530 typ host generation 0 ufrag ZKu5 network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809691} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.895Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.895Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.896Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.896Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.896Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.896Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.896Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.896Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.897Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.897Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.897Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.897Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.897Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.897Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.897Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.897Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.897Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.897Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.897Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.897Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.898Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.898Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.898Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.898Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.898Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.898Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.898Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.898Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.898Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.898Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.898Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.899Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.899Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.899Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.899Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.899Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.899Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.899Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.899Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.899Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.899Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.899Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.899Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.899Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.899Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.900Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.900Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.900Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.900Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.900Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.900Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.900Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.900Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.900Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.900Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.900Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.900Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.901Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:09.901Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:09.901Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 59246 typ srflx raddr 192.168.219.109 rport 59246 generation 0 ufrag ZKu5 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618809849} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:10.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:10.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:10.033Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:10.033Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:10.034Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:10.034Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 34982 typ srflx raddr 192.168.219.109 rport 34982 generation 0 ufrag ZKu5 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":1759618810575} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:10.868Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:10.868Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:10.868Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:10.868Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"76cd23d6-31ef-41ef-9039-158c1ef89cb2","timestamp":"2025-10-04T23:00:10.868Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:10.868Z"} {"level":"info","message":"Client disconnected: uCWSMdlY1gGszjDIAAAO, reason: client namespace disconnect","timestamp":"2025-10-04T23:00:14.093Z"} {"level":"info","message":"Client disconnected: zZeWEBljGBgFVaxTAAAX, reason: client namespace disconnect","timestamp":"2025-10-04T23:00:18.210Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:00:18.210Z"} {"level":"info","message":"🔌 Connection terminated: 76cd23d6-31ef-41ef-9039-158c1ef89cb2 - Operator disconnected","timestamp":"2025-10-04T23:00:18.210Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:00:18.210Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.307Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.307Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618820349} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618820349} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618820349} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618820349} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.614Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.614Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.614Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.615Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.615Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.615Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.615Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.615Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.615Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.616Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.616Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.616Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.616Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.616Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.616Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.617Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.617Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.618Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.618Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618820349} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618820349} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618820349} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.619Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.619Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.619Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.619Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.620Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.620Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.620Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.620Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.620Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.620Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Handling Android registration for socket: B-rGcDF2cy_dflKoAAAZ","timestamp":"2025-10-04T23:00:20.621Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618820349} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:20.621Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.621Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"B-rGcDF2cy_dflKoAAAZ","status":"online","timestamp":"2025-10-04T23:00:20.622Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:00:20.622Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: N527tw110SxAITCaAAAb","timestamp":"2025-10-04T23:00:21.853Z","userAgent":""} {"level":"info","message":"Operator registered: 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:00:21.855Z"} {"level":"info","message":"📷 Camera request received from operator socket N527tw110SxAITCaAAAb","timestamp":"2025-10-04T23:00:26.738Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T23:00:26.738Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T23:00:26.738Z"} {"level":"info","message":"📷 Operator IDs: fa3d3960-6f3e-4f24-a7d4-d78b52e7bf2f, 9404bad7-2b4a-41c1-8149-e48e90fb780e, 5b065789-2ffe-4093-a1d3-7497ccb21b35, 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:00:26.738Z"} {"level":"info","message":"✅ Operator found: 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:00:26.738Z"} {"level":"info","message":"🔗 Initiating connection: 5e573db5-eed9-4b9e-90cd-f740629a2e45 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T23:00:26.738Z"} {"level":"info","message":"🆔 Generated connectionId: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.739Z"} {"level":"info","message":"💾 Saving connection request: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.739Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T23:00:26.739Z"} {"level":"info","message":"💾 All request IDs: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.739Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:00:26.739Z"} {"level":"info","message":"✅ Connection request created: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.739Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T23:00:26.739Z"} {"level":"info","message":"✅ Connection initiated: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.739Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"5e573db5-eed9-4b9e-90cd-f740629a2e45","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826675} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"5e573db5-eed9-4b9e-90cd-f740629a2e45","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826675} {"level":"info","message":"📱 Camera response received from Android: sessionId=2d8b9062-751d-4362-8083-eb8e1c2bff43, accepted=true","timestamp":"2025-10-04T23:00:26.840Z"} {"level":"info","message":"🔍 Looking for connection request: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.840Z"} {"level":"info","message":"🔍 Available connection requests: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.840Z"} {"level":"info","message":"✅ Connection established: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.840Z"} {"level":"info","message":"✅ Connection accepted: 2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.840Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 1132791805634544871 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:jNB3\r\na=ice-pwd:ttYRQ82Cxx74nMYRIu5RPdgw\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 B1:7A:1B:FC:9D:10:DC:A5:71:DE:C3:DE:A0:F0:7A:0E:12:EB:CC:5F:5E:14:97:96:3A:A5:38:45:E4:BB:21:ED\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1867828784 2390920257\r\na=ssrc:1867828784 cname:63bvwdfmXMM4CoBv\r\na=ssrc:1867828784 msid:stream videoTrack\r\na=ssrc:2390920257 cname:63bvwdfmXMM4CoBv\r\na=ssrc:2390920257 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:jNB3\r\na=ice-pwd:ttYRQ82Cxx74nMYRIu5RPdgw\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 B1:7A:1B:FC:9D:10:DC:A5:71:DE:C3:DE:A0:F0:7A:0E:12:EB:CC:5F:5E:14:97:96:3A:A5:38:45:E4:BB:21:ED\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:283659702 cname:63bvwdfmXMM4CoBv\r\na=ssrc:283659702 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826748} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.980Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:00:26.980Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3598,"sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:26.980Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 42378 typ host generation 0 ufrag jNB3 network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826840} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.160Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.160Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 37680 typ host generation 0 ufrag jNB3 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826843} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.169Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.169Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 48545 typ host generation 0 ufrag jNB3 network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826848} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.173Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.173Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 36106 typ host generation 0 ufrag jNB3 network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826869} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 33202 typ host generation 0 ufrag jNB3 network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826881} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 34446 typ host generation 0 ufrag jNB3 network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826881} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 45563 typ host generation 0 ufrag jNB3 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826882} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.176Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.176Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.176Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.176Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.176Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.176Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.176Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.176Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 36443 typ host generation 0 ufrag jNB3 network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826882} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 43026 typ host generation 0 ufrag jNB3 network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826883} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.178Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.178Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.178Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.178Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 34693 typ host generation 0 ufrag jNB3 network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618826884} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.179Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.179Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 37680 typ srflx raddr 192.168.219.109 rport 37680 generation 0 ufrag jNB3 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618827078} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.249Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.249Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 45563 typ srflx raddr 192.168.219.109 rport 45563 generation 0 ufrag jNB3 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":1759618827118} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"2d8b9062-751d-4362-8083-eb8e1c2bff43","timestamp":"2025-10-04T23:00:27.304Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:00:27.304Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618835777} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618835777} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618835777} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618850362} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618850362} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618850362} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618865781} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618865781} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618865781} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618880366} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618880366} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618880366} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618895784} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618895784} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618895784} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618910369} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618910369} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618910369} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618925787} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618925787} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618925787} {"level":"info","message":"Client disconnected: N527tw110SxAITCaAAAb, reason: transport close","timestamp":"2025-10-04T23:02:18.596Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:02:18.596Z"} {"level":"info","message":"🔌 Connection terminated: 2d8b9062-751d-4362-8083-eb8e1c2bff43 - Operator disconnected","timestamp":"2025-10-04T23:02:18.596Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 5e573db5-eed9-4b9e-90cd-f740629a2e45","timestamp":"2025-10-04T23:02:18.596Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618940378} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618940378} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618940378} {"level":"info","message":"Client disconnected: B-rGcDF2cy_dflKoAAAZ, reason: client namespace disconnect","timestamp":"2025-10-04T23:02:22.117Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.118Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.118Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.775Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.775Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.872Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.872Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.872Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.873Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.873Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618942673} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618942673} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618942673} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618942673} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618942673} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.895Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.896Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.896Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.897Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.898Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.899Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.899Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618942673} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618942673} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.900Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.900Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.900Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.900Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.900Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Handling Android registration for socket: 4NWtEo1vvJLDRVP-AAAd","timestamp":"2025-10-04T23:02:22.900Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759618942673} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:02:22.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.901Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"4NWtEo1vvJLDRVP-AAAd","status":"online","timestamp":"2025-10-04T23:02:22.901Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:02:22.901Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618955793} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618955793} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618955793} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618972677} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618972677} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618972677} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: 3Bsjnr3wnijvol-HAAAf","timestamp":"2025-10-04T23:02:57.393Z","userAgent":""} {"level":"info","message":"Operator registered: c3dee9e6-6e37-4a50-8976-ebe47147c86d","timestamp":"2025-10-04T23:02:57.395Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759618985796} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759618985796} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759618985796} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619002680} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619002680} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619002680} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619015800} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619015800} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619015800} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619032684} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619032684} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619032684} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619045804} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619045804} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619045804} {"level":"info","message":"📷 Camera request received from operator socket 3Bsjnr3wnijvol-HAAAf","timestamp":"2025-10-04T23:04:14.498Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"📷 Operator IDs: 5b065789-2ffe-4093-a1d3-7497ccb21b35, 5e573db5-eed9-4b9e-90cd-f740629a2e45, c3dee9e6-6e37-4a50-8976-ebe47147c86d","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"✅ Operator found: c3dee9e6-6e37-4a50-8976-ebe47147c86d","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"🔗 Initiating connection: c3dee9e6-6e37-4a50-8976-ebe47147c86d -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"🆔 Generated connectionId: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"💾 Saving connection request: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"💾 All request IDs: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:04:14.499Z"} {"level":"info","message":"✅ Connection request created: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.500Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T23:04:14.500Z"} {"level":"info","message":"✅ Connection initiated: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.500Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"c3dee9e6-6e37-4a50-8976-ebe47147c86d","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054353} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"c3dee9e6-6e37-4a50-8976-ebe47147c86d","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054353} {"level":"info","message":"📱 Camera response received from Android: sessionId=8df50da2-994c-4c95-92a5-b31490fddef2, accepted=true","timestamp":"2025-10-04T23:04:14.522Z"} {"level":"info","message":"🔍 Looking for connection request: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.522Z"} {"level":"info","message":"🔍 Available connection requests: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.522Z"} {"level":"info","message":"✅ Connection established: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.522Z"} {"level":"info","message":"✅ Connection accepted: 8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.522Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 5813539672964268511 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:kpIU\r\na=ice-pwd:V3poBHxM7l9UQwy0Hvth3hYt\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 AA:15:AC:08:04:85:FF:0C:CF:26:C6:FB:4F:A8:CB:DD:63:65:06:14:EB:5A:7D:02:D7:07:15:EF:30:D1:EF:59\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1903608366 4288211983\r\na=ssrc:1903608366 cname:n+OJbw56qgQLk532\r\na=ssrc:1903608366 msid:stream videoTrack\r\na=ssrc:4288211983 cname:n+OJbw56qgQLk532\r\na=ssrc:4288211983 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:kpIU\r\na=ice-pwd:V3poBHxM7l9UQwy0Hvth3hYt\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 AA:15:AC:08:04:85:FF:0C:CF:26:C6:FB:4F:A8:CB:DD:63:65:06:14:EB:5A:7D:02:D7:07:15:EF:30:D1:EF:59\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:1476986915 cname:n+OJbw56qgQLk532\r\na=ssrc:1476986915 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054391} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.575Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:04:14.575Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3600,"sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.575Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 46590 typ host generation 0 ufrag kpIU network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054452} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.632Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.632Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 47148 typ host generation 0 ufrag kpIU network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054454} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.639Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.639Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 41414 typ host generation 0 ufrag kpIU network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054454} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 44270 typ host generation 0 ufrag kpIU network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054455} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 48157 typ host generation 0 ufrag kpIU network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054457} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 38129 typ host generation 0 ufrag kpIU network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054457} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.640Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.640Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.641Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.641Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.641Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.641Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.641Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.641Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 43280 typ host generation 0 ufrag kpIU network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054458} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 35262 typ host generation 0 ufrag kpIU network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054460} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 51745 typ host generation 0 ufrag kpIU network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054461} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 40429 typ host generation 0 ufrag kpIU network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054461} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.642Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.642Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.642Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.642Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.642Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.642Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.642Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.642Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 43280 typ srflx raddr 192.168.219.109 rport 43280 generation 0 ufrag kpIU network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054561} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.742Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.742Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 47148 typ srflx raddr 192.168.219.109 rport 47148 generation 0 ufrag kpIU network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":1759619054574} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"8df50da2-994c-4c95-92a5-b31490fddef2","timestamp":"2025-10-04T23:04:14.743Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:04:14.743Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619062689} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619062689} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619062689} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619075808} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619075808} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619075808} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619092691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619092691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619092691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619105811} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619105811} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619105811} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619122694} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619122694} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619122694} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619135814} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619135814} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619135814} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619152697} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619152697} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619152697} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619165817} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619165817} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619165817} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619182701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619182701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619182701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619195821} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619195821} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619195821} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619212704} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619212704} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619212704} {"level":"info","message":"Client disconnected: 3Bsjnr3wnijvol-HAAAf, reason: transport close","timestamp":"2025-10-04T23:06:53.854Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: c3dee9e6-6e37-4a50-8976-ebe47147c86d","timestamp":"2025-10-04T23:06:53.854Z"} {"level":"info","message":"🔌 Connection terminated: 8df50da2-994c-4c95-92a5-b31490fddef2 - Operator disconnected","timestamp":"2025-10-04T23:06:53.854Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator c3dee9e6-6e37-4a50-8976-ebe47147c86d","timestamp":"2025-10-04T23:06:53.854Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619225825} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619225825} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619225825} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619242708} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619242708} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619242708} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: ZVFiym3Xs7JM3FuXAAAh","timestamp":"2025-10-04T23:07:28.795Z","userAgent":""} {"level":"info","message":"Operator registered: c5df3468-50aa-46bb-bf54-3bf9c41d85ac","timestamp":"2025-10-04T23:07:28.797Z"} {"level":"info","message":"📷 Camera request received from operator socket ZVFiym3Xs7JM3FuXAAAh","timestamp":"2025-10-04T23:07:30.754Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T23:07:30.754Z"} {"level":"info","message":"📷 Total operators registered: 4","timestamp":"2025-10-04T23:07:30.754Z"} {"level":"info","message":"📷 Operator IDs: 5b065789-2ffe-4093-a1d3-7497ccb21b35, 5e573db5-eed9-4b9e-90cd-f740629a2e45, c3dee9e6-6e37-4a50-8976-ebe47147c86d, c5df3468-50aa-46bb-bf54-3bf9c41d85ac","timestamp":"2025-10-04T23:07:30.754Z"} {"level":"info","message":"✅ Operator found: c5df3468-50aa-46bb-bf54-3bf9c41d85ac","timestamp":"2025-10-04T23:07:30.754Z"} {"level":"info","message":"🔗 Initiating connection: c5df3468-50aa-46bb-bf54-3bf9c41d85ac -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T23:07:30.754Z"} {"level":"info","message":"🆔 Generated connectionId: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.755Z"} {"level":"info","message":"💾 Saving connection request: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.755Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T23:07:30.755Z"} {"level":"info","message":"💾 All request IDs: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.755Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:07:30.755Z"} {"level":"info","message":"✅ Connection request created: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.755Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T23:07:30.755Z"} {"level":"info","message":"✅ Connection initiated: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.755Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"c5df3468-50aa-46bb-bf54-3bf9c41d85ac","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250711} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"c5df3468-50aa-46bb-bf54-3bf9c41d85ac","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250711} {"level":"info","message":"📱 Camera response received from Android: sessionId=3881c66c-4246-497d-95bf-6b1deff5f95c, accepted=true","timestamp":"2025-10-04T23:07:30.881Z"} {"level":"info","message":"🔍 Looking for connection request: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.882Z"} {"level":"info","message":"🔍 Available connection requests: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.882Z"} {"level":"info","message":"✅ Connection established: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.882Z"} {"level":"info","message":"✅ Connection accepted: 3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.882Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 4378658650061887096 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:x3st\r\na=ice-pwd:EMgHDE23uyoATxgjhJN55MUo\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 93:93:A1:F9:2F:88:42:D3:B7:7F:97:88:80:80:F2:04:28:8F:8F:96:A5:70:75:C8:12:D9:8B:33:BE:98:53:5E\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2055048487 3768623086\r\na=ssrc:2055048487 cname:4RXil0X6i8j7nUJ9\r\na=ssrc:2055048487 msid:stream videoTrack\r\na=ssrc:3768623086 cname:4RXil0X6i8j7nUJ9\r\na=ssrc:3768623086 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:x3st\r\na=ice-pwd:EMgHDE23uyoATxgjhJN55MUo\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 93:93:A1:F9:2F:88:42:D3:B7:7F:97:88:80:80:F2:04:28:8F:8F:96:A5:70:75:C8:12:D9:8B:33:BE:98:53:5E\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:250813471 cname:4RXil0X6i8j7nUJ9\r\na=ssrc:250813471 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250791} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.975Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:07:30.975Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3598,"sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.975Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.975Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:07:30.975Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3598,"sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:30.975Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 36015 typ host generation 0 ufrag x3st network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250844} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.088Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.088Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.088Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.088Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 52854 typ host generation 0 ufrag x3st network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250849} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.091Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.091Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.091Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.091Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 35065 typ host generation 0 ufrag x3st network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250851} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.111Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.111Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.111Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.111Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 34674 typ host generation 0 ufrag x3st network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250860} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 47506 typ host generation 0 ufrag x3st network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250924} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.116Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.116Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.116Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.116Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.116Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.116Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.116Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.117Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 43557 typ host generation 0 ufrag x3st network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250932} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.145Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.145Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.145Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.145Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 38945 typ host generation 0 ufrag x3st network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250935} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.155Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.155Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.156Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.156Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 58935 typ host generation 0 ufrag x3st network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250937} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.165Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.165Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.165Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.165Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 42788 typ host generation 0 ufrag x3st network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250940} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 42135 typ host generation 0 ufrag x3st network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619250942} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.166Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.166Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.166Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.166Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.166Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.166Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.166Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.166Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 52854 typ srflx raddr 192.168.219.109 rport 52854 generation 0 ufrag x3st network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619251037} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.215Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.215Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.215Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.215Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 38945 typ srflx raddr 192.168.219.109 rport 38945 generation 0 ufrag x3st network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":1759619251160} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.341Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.341Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"3881c66c-4246-497d-95bf-6b1deff5f95c","timestamp":"2025-10-04T23:07:31.341Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:07:31.341Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619255828} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619255828} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619255828} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619272710} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619272710} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619272710} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619285832} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619285832} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619285832} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619302712} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619302712} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619302712} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619315836} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619315836} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619315836} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619332715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619332715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619332715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619345841} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619345841} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619345841} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619362718} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619362718} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619362718} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619375844} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619375844} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619375844} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619392721} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619392721} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619392721} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619405847} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619405847} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619405847} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619422725} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619422725} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619422725} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619435850} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619435850} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619435850} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619452728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619452728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619452728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619465854} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619465854} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619465854} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619482731} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619482731} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619482731} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619495857} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619495857} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619495857} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619512734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619512734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619512734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619525869} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619525869} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619525869} {"level":"info","message":"Client disconnected: ZVFiym3Xs7JM3FuXAAAh, reason: transport close","timestamp":"2025-10-04T23:12:08.253Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: c5df3468-50aa-46bb-bf54-3bf9c41d85ac","timestamp":"2025-10-04T23:12:08.253Z"} {"level":"info","message":"🔌 Connection terminated: 3881c66c-4246-497d-95bf-6b1deff5f95c - Operator disconnected","timestamp":"2025-10-04T23:12:08.253Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator c5df3468-50aa-46bb-bf54-3bf9c41d85ac","timestamp":"2025-10-04T23:12:08.253Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619542741} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619542741} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619542741} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: xlAZulr5dWHyf9_HAAAj","timestamp":"2025-10-04T23:12:27.395Z","userAgent":""} {"level":"info","message":"Operator registered: 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:12:27.397Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619555872} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619555872} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619555872} {"level":"info","message":"📷 Camera request received from operator socket xlAZulr5dWHyf9_HAAAj","timestamp":"2025-10-04T23:12:37.612Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T23:12:37.612Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T23:12:37.612Z"} {"level":"info","message":"📷 Operator IDs: c3dee9e6-6e37-4a50-8976-ebe47147c86d, c5df3468-50aa-46bb-bf54-3bf9c41d85ac, 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"✅ Operator found: 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"🔗 Initiating connection: 4fe5f7bd-dc98-4955-97e8-395d01180d12 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"🆔 Generated connectionId: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"💾 Saving connection request: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"💾 All request IDs: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"✅ Connection request created: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T23:12:37.613Z"} {"level":"info","message":"✅ Connection initiated: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.613Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"4fe5f7bd-dc98-4955-97e8-395d01180d12","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557504} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"4fe5f7bd-dc98-4955-97e8-395d01180d12","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557504} {"level":"info","message":"📱 Camera response received from Android: sessionId=feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46, accepted=true","timestamp":"2025-10-04T23:12:37.683Z"} {"level":"info","message":"🔍 Looking for connection request: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.683Z"} {"level":"info","message":"🔍 Available connection requests: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.683Z"} {"level":"info","message":"✅ Connection established: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.683Z"} {"level":"info","message":"✅ Connection accepted: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.684Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 3474766898516136115 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:f4C4\r\na=ice-pwd:4FS4munQq0IxjGCKgOu8Nmo3\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 8D:CE:D3:8C:AA:E7:A2:F9:D1:06:FA:8B:D0:BC:F1:42:17:CB:BE:FB:40:62:C2:3B:27:8C:3D:E7:41:A1:0C:58\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 744027403 1748242535\r\na=ssrc:744027403 cname:uU0+Ag2yMCYxpCss\r\na=ssrc:744027403 msid:stream videoTrack\r\na=ssrc:1748242535 cname:uU0+Ag2yMCYxpCss\r\na=ssrc:1748242535 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:f4C4\r\na=ice-pwd:4FS4munQq0IxjGCKgOu8Nmo3\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 8D:CE:D3:8C:AA:E7:A2:F9:D1:06:FA:8B:D0:BC:F1:42:17:CB:BE:FB:40:62:C2:3B:27:8C:3D:E7:41:A1:0C:58\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3781579357 cname:uU0+Ag2yMCYxpCss\r\na=ssrc:3781579357 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557576} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:12:37.778Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3597,"sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.778Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 46776 typ host generation 0 ufrag f4C4 network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557620} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.861Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.861Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.862Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.862Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.862Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.862Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 32931 typ host generation 0 ufrag f4C4 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557625} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.922Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.922Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.923Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.923Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.923Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.923Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 60977 typ host generation 0 ufrag f4C4 network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557629} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.926Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.926Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.927Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.927Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.927Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.927Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 51622 typ host generation 0 ufrag f4C4 network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557645} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 36426 typ host generation 0 ufrag f4C4 network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557652} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 46504 typ host generation 0 ufrag f4C4 network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557675} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.929Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.929Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.929Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.929Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.929Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.929Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.930Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.930Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.930Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.930Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.931Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.931Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.931Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.932Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.932Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.932Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.934Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.935Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 53015 typ host generation 0 ufrag f4C4 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557679} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 58726 typ host generation 0 ufrag f4C4 network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557680} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 55849 typ host generation 0 ufrag f4C4 network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557688} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.936Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.937Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.938Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.938Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.938Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.938Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.938Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.938Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.938Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.938Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.939Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.939Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.939Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.939Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.939Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.939Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.939Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.939Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 45459 typ host generation 0 ufrag f4C4 network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557689} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.953Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.954Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.954Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.954Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:37.954Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:37.954Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 32931 typ srflx raddr 192.168.219.109 rport 32931 generation 0 ufrag f4C4 network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557831} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:38.076Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:38.076Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:38.076Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:38.076Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:38.076Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:38.076Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 53015 typ srflx raddr 192.168.219.109 rport 53015 generation 0 ufrag f4C4 network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":1759619557858} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:38.078Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:38.079Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:38.079Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:38.079Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46","timestamp":"2025-10-04T23:12:38.079Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:12:38.079Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619572750} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619572750} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619572750} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619585876} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619585876} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619585876} {"level":"info","message":"Client disconnected: lesL2M5_FTndhZ8kAAAL, reason: transport close","timestamp":"2025-10-04T23:13:09.516Z"} {"level":"info","message":"Client disconnected: vmT2uTR1jv4ooahFAAAM, reason: transport close","timestamp":"2025-10-04T23:13:09.516Z"} {"level":"info","message":"Client disconnected: ekMvJr045bfZ_1xXAAAN, reason: transport close","timestamp":"2025-10-04T23:13:09.517Z"} {"level":"info","message":"Client disconnected: 4dcUpb-iXymaQb89AAAP, reason: transport close","timestamp":"2025-10-04T23:13:09.518Z"} {"level":"info","message":"Client disconnected: tabHkAnFvjZ-ztEXAAAQ, reason: transport close","timestamp":"2025-10-04T23:13:09.518Z"} {"level":"info","message":"Client disconnected: ZQciWlh-XzO7IB_vAAAR, reason: transport close","timestamp":"2025-10-04T23:13:09.520Z"} {"level":"info","message":"Client disconnected: 4NWtEo1vvJLDRVP-AAAd, reason: transport close","timestamp":"2025-10-04T23:13:09.522Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:09.522Z"} {"level":"info","message":"🔌 Connection terminated: feb3e72a-aa2f-4fee-a4cf-a6525f6d6c46 - Device disconnected","timestamp":"2025-10-04T23:13:09.522Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:09.522Z"} {"level":"info","message":"📱 Devices list requested by socket xlAZulr5dWHyf9_HAAAj","timestamp":"2025-10-04T23:13:09.525Z"} {"level":"info","message":"📱 Sending 0 devices to operator 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:13:09.525Z"} {"level":"info","message":"Client disconnected: xlAZulr5dWHyf9_HAAAj, reason: client namespace disconnect","timestamp":"2025-10-04T23:13:18.921Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:13:18.921Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:13:18.921Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:24.042Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:24.042Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: jR3cWcN0Een7PeGPAAAn","timestamp":"2025-10-04T23:13:24.132Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: jR3cWcN0Een7PeGPAAAn","timestamp":"2025-10-04T23:13:24.132Z"} {"address":"192.168.219.109","isAndroid":true,"isMobileWeb":false,"level":"info","message":"New connection: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:27.110Z","userAgent":"okhttp/4.12.0"} {"level":"info","message":"🤖 Android client connected: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:27.110Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.587Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.587Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.587Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.588Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.588Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759619608280} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.816Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.816Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.816Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.817Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.817Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759619608280} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.819Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.819Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.819Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.820Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.820Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759619608280} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.839Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.839Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.839Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.839Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.839Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759619608280} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759619608280} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.842Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.842Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.843Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.843Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.843Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.843Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.843Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.843Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.877Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.878Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.878Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.878Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.878Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759619608280} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.878Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.878Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.878Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.879Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.879Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759619608280} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.883Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608280} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.883Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.883Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.883Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.883Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register:android","status":"online","timestamp":1759619608291} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.886Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.886Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.886Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.886Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.886Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.886Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.886Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.886Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.887Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.887Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759619608291} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.894Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.894Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.895Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759619608291} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.897Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.898Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.898Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759619608291} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.903Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.903Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.903Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.904Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.904Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759619608291} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.908Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.909Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.909Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759619608291} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759619608291} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.913Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.913Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Handling Android registration for socket: _xpHxQ_KbGeDpKyQAAAm","timestamp":"2025-10-04T23:13:28.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608291} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"_xpHxQ_KbGeDpKyQAAAm","status":"online","timestamp":"2025-10-04T23:13:28.914Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.914Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759619608457} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-register","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.936Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.937Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.937Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.937Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.937Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759619608457} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register-device","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.940Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.940Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.940Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.940Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.940Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759619608457} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device:register","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.944Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.944Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.944Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.944Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.945Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759619608457} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: register","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.947Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.947Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759619608457} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device-info","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.958Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.958Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.958Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.958Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.958Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759619608457} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759619608457} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: devices:register","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.961Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Android event: device_register","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Handling Android registration for socket: 1nnDLbVK_lB6JE_EAAAp","timestamp":"2025-10-04T23:13:28.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Registration data:","status":"online","timestamp":1759619608457} {"level":"info","message":"📱 Processed deviceId: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:28.961Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"📱 Processed deviceInfo:","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.962Z"} {"androidVersion":"9","appVersion":"1.0.0","capabilities":{"camera":true,"microphone":true,"webrtc":true},"deviceName":"LGM-G600S","deviceType":"android","level":"info","message":"✅ Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","socketId":"1nnDLbVK_lB6JE_EAAAp","status":"online","timestamp":"2025-10-04T23:13:28.962Z"} {"level":"info","message":"📡 Notifying 0 operators about new device","timestamp":"2025-10-04T23:13:28.962Z"} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: x5Wyfeockmwx_QkQAAAr","timestamp":"2025-10-04T23:13:30.932Z","userAgent":""} {"level":"info","message":"Operator registered: 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:13:30.933Z"} {"level":"info","message":"📷 Camera request received from operator socket x5Wyfeockmwx_QkQAAAr","timestamp":"2025-10-04T23:13:32.194Z"} {"cameraType":"back","deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📷 Request data:","timestamp":"2025-10-04T23:13:32.194Z"} {"level":"info","message":"📷 Total operators registered: 3","timestamp":"2025-10-04T23:13:32.194Z"} {"level":"info","message":"📷 Operator IDs: c3dee9e6-6e37-4a50-8976-ebe47147c86d, c5df3468-50aa-46bb-bf54-3bf9c41d85ac, 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:13:32.194Z"} {"level":"info","message":"✅ Operator found: 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:13:32.194Z"} {"level":"info","message":"🔗 Initiating connection: 4fe5f7bd-dc98-4955-97e8-395d01180d12 -> 381068ea-78a3-45c9-a960-8f5b5896c814 (back)","timestamp":"2025-10-04T23:13:32.194Z"} {"level":"info","message":"🆔 Generated connectionId: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.194Z"} {"level":"info","message":"💾 Saving connection request: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.195Z"} {"level":"info","message":"💾 Connection requests count: 1","timestamp":"2025-10-04T23:13:32.195Z"} {"level":"info","message":"💾 All request IDs: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.195Z"} {"level":"info","message":"📱 Sending camera:request to Android device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:13:32.195Z"} {"level":"info","message":"✅ Connection request created: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.195Z"} {"level":"info","message":"✅ Final connectionRequests count: 1","timestamp":"2025-10-04T23:13:32.195Z"} {"level":"info","message":"✅ Connection initiated: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.195Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"4fe5f7bd-dc98-4955-97e8-395d01180d12","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612090} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"4fe5f7bd-dc98-4955-97e8-395d01180d12","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612090} {"level":"info","message":"📱 Camera response received from Android: sessionId=92f248ae-5e78-4072-bf29-0f7bb51a3b76, accepted=true","timestamp":"2025-10-04T23:13:32.266Z"} {"level":"info","message":"🔍 Looking for connection request: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.267Z"} {"level":"info","message":"🔍 Available connection requests: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.267Z"} {"level":"info","message":"✅ Connection established: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.267Z"} {"level":"info","message":"✅ Connection accepted: 92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.267Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 5374394902361094987 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:cEQg\r\na=ice-pwd:ZP/7fNw/LG3eRAsgLFdG8IFk\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 C7:CF:58:06:2C:BE:30:DD:45:71:ED:44:97:EC:FA:A1:61:92:B4:2D:11:E1:6C:97:FF:0B:84:90:2D:74:0A:B6\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 1293554815 3697530184\r\na=ssrc:1293554815 cname:HpN0lDQ0Q2X4RATu\r\na=ssrc:1293554815 msid:stream videoTrack\r\na=ssrc:3697530184 cname:HpN0lDQ0Q2X4RATu\r\na=ssrc:3697530184 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:cEQg\r\na=ice-pwd:ZP/7fNw/LG3eRAsgLFdG8IFk\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 C7:CF:58:06:2C:BE:30:DD:45:71:ED:44:97:EC:FA:A1:61:92:B4:2D:11:E1:6C:97:FF:0B:84:90:2D:74:0A:B6\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:4049527788 cname:HpN0lDQ0Q2X4RATu\r\na=ssrc:4049527788 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612272} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.463Z"} {"level":"info","message":"📤 Forwarding offer from device to operator","timestamp":"2025-10-04T23:13:32.463Z"} {"level":"info","message":"🔄 Forwarding normalized offer:","offerType":"offer","sdpLength":3522,"sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.463Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 57640 typ host generation 0 ufrag cEQg network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612503} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.689Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.689Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 53288 typ host generation 0 ufrag cEQg network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612506} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.736Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.737Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 39382 typ host generation 0 ufrag cEQg network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612509} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.742Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.742Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 46540 typ host generation 0 ufrag cEQg network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612512} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 35942 typ host generation 0 ufrag cEQg network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612514} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.746Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.746Z"} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.746Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.747Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 57580 typ host generation 0 ufrag cEQg network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612517} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.757Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.758Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 57868 typ host generation 0 ufrag cEQg network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612524} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.763Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.763Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 56087 typ host generation 0 ufrag cEQg network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612526} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.765Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.765Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 56504 typ host generation 0 ufrag cEQg network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612529} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.767Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.767Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 45020 typ host generation 0 ufrag cEQg network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612534} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.769Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.769Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 53288 typ srflx raddr 192.168.219.109 rport 53288 generation 0 ufrag cEQg network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612696} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.935Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.935Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 57868 typ srflx raddr 192.168.219.109 rport 57868 generation 0 ufrag cEQg network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":1759619612704} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"92f248ae-5e78-4072-bf29-0f7bb51a3b76","timestamp":"2025-10-04T23:13:32.938Z"} {"level":"info","message":"📤 Forwarding ICE candidate from device to operator","timestamp":"2025-10-04T23:13:32.938Z"} {"approved":true,"level":"info","message":"📱 Android event: camera-response","operatorId":"0cda1f30-7d5d-4fbf-a6c2-3df86fc1d229","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619620826} {"approved":true,"level":"info","message":"📱 Android camera-response received, converting to camera:response format:","operatorId":"0cda1f30-7d5d-4fbf-a6c2-3df86fc1d229","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619620826} {"level":"info","message":"📱 Camera response received from Android: sessionId=16637132-cc39-44ac-9d92-2414b1fec27e, accepted=true","timestamp":"2025-10-04T23:13:41.023Z"} {"level":"info","message":"🔍 Looking for connection request: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.023Z"} {"level":"info","message":"🔍 Available connection requests: ","timestamp":"2025-10-04T23:13:41.023Z"} {"level":"error","message":"❌ Connection request not found: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.023Z"} {"level":"error","message":"❌ Available requests: ","timestamp":"2025-10-04T23:13:41.023Z"} {"level":"error","message":"❌ Failed to handle camera response: Connection request not found","timestamp":"2025-10-04T23:13:41.024Z"} {"level":"info","message":"📱 Android event: webrtc:offer","offer":{"sdp":"v=0\r\no=- 8269808207736101744 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS stream\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 35 36 127 124 123 122 125\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:lFiC\r\na=ice-pwd:vAbocJtqTG5SNc0Umvt09Gv/\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 51:D0:C9:8D:F8:39:78:9A:18:23:63:0C:C6:79:D5:B2:FE:42:7C:77:0C:01:40:22:8D:68:4A:15:D4:B6:1D:C2\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 urn:3gpp:video-orientation\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:stream videoTrack\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:35 AV1/90000\r\na=rtcp-fb:35 goog-remb\r\na=rtcp-fb:35 transport-cc\r\na=rtcp-fb:35 ccm fir\r\na=rtcp-fb:35 nack\r\na=rtcp-fb:35 nack pli\r\na=rtpmap:36 rtx/90000\r\na=fmtp:36 apt=35\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:124 rtx/90000\r\na=fmtp:124 apt=127\r\na=rtpmap:123 red/90000\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=123\r\na=rtpmap:125 ulpfec/90000\r\na=ssrc-group:FID 2204028452 1266061118\r\na=ssrc:2204028452 cname:t6KFGmejLpJP+cyC\r\na=ssrc:2204028452 msid:stream videoTrack\r\na=ssrc:1266061118 cname:t6KFGmejLpJP+cyC\r\na=ssrc:1266061118 msid:stream videoTrack\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 63 103 104 9 102 0 8 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:lFiC\r\na=ice-pwd:vAbocJtqTG5SNc0Umvt09Gv/\r\na=ice-options:trickle renomination\r\na=fingerprint:sha-256 51:D0:C9:8D:F8:39:78:9A:18:23:63:0C:C6:79:D5:B2:FE:42:7C:77:0C:01:40:22:8D:68:4A:15:D4:B6:1D:C2\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=sendonly\r\na=msid:stream audioTrack\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:63 red/48000/2\r\na=fmtp:63 111/111\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:102 ILBC/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2081067966 cname:t6KFGmejLpJP+cyC\r\na=ssrc:2081067966 msid:stream audioTrack\r\n","type":"offer"},"sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621112} {"level":"info","message":"🔄 WebRTC offer received:","offerKeys":["type","sdp"],"offerType":"object","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.373Z"} {"level":"error","message":"❌ Session not found for WebRTC offer: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.373Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 59196 typ host generation 0 ufrag lFiC network-id 7 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621204} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.387Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.387Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 51226 typ host generation 0 ufrag lFiC network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621209} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.406Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.406Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 60487 typ host generation 0 ufrag lFiC network-id 4 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621212} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.416Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.417Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 56885 typ host generation 0 ufrag lFiC network-id 5 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621215} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.475Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.475Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 55459 typ host generation 0 ufrag lFiC network-id 3 network-cost 900","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621223} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.486Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.486Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122262783 2406:5900:90da:a64:de0b:34ff:feb8:8619 32872 typ host generation 0 ufrag lFiC network-id 7 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621226} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.503Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.503Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2122194687 192.168.219.109 40590 typ host generation 0 ufrag lFiC network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621229} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.505Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.505Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122131711 2406:5900:90da:a64:de0b:34ff:feb8:8619 54239 typ host generation 0 ufrag lFiC network-id 4 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621231} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.508Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.508Z"} {"candidate":{"candidate":"candidate:1680673774 1 udp 2122066175 2406:5900:90da:a64:de0b:34ff:feb8:8619 51376 typ host generation 0 ufrag lFiC network-id 5 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621235} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.511Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.511Z"} {"candidate":{"candidate":"candidate:42056630 1 udp 2121998079 192.168.219.109 49597 typ host generation 0 ufrag lFiC network-id 3 network-cost 900","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621248} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.552Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.552Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 40590 typ srflx raddr 192.168.219.109 rport 40590 generation 0 ufrag lFiC network-id 6 network-cost 10","sdpMLineIndex":1,"sdpMid":"1"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621366} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.555Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.555Z"} {"candidate":{"candidate":"candidate:842163049 1 udp 1685987071 211.118.216.184 51226 typ srflx raddr 192.168.219.109 rport 51226 generation 0 ufrag lFiC network-id 6 network-cost 10","sdpMLineIndex":0,"sdpMid":"0"},"level":"info","message":"📱 Android event: webrtc:ice-candidate","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":1759619621385} {"candidateKeys":["candidate","sdpMLineIndex","sdpMid"],"candidateType":"object","level":"info","message":"🔄 WebRTC ICE candidate received:","sessionId":"16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.591Z"} {"level":"error","message":"❌ Session not found for ICE candidate: 16637132-cc39-44ac-9d92-2414b1fec27e","timestamp":"2025-10-04T23:13:41.591Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619638306} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619638306} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619638306} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619638469} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619638469} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619638469} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619668311} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619668311} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619668311} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619668473} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619668473} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619668473} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619698316} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619698316} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619698316} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619698479} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619698479} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619698479} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619728320} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619728320} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619728320} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619728483} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619728483} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619728483} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619758326} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619758326} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619758326} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619758488} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619758488} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619758488} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619788348} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619788348} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619788348} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619788494} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619788494} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619788494} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619818353} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619818353} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619818353} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619818507} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619818507} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619818507} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619848357} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619848357} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619848357} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619848513} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619848513} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619848513} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619878362} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619878362} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619878362} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619878516} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619878516} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619878516} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619908370} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619908370} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619908370} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619908523} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619908523} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619908523} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619938375} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619938375} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619938375} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619938528} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619938528} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619938528} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619968380} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619968380} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619968380} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619968532} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619968532} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619968532} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619998386} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619998386} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619998386} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759619998542} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759619998542} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759619998542} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620028397} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620028397} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620028397} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620028548} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620028548} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620028548} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620058400} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620058400} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620058400} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620058565} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620058565} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620058565} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620088403} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620088403} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620088403} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620088569} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620088569} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620088569} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620118407} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620118407} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620118407} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620118575} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620118575} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620118575} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620148411} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620148411} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620148411} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620148579} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620148579} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620148579} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620178417} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620178417} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620178417} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620178600} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620178600} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620178600} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620208428} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620208428} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620208428} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620208603} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620208603} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620208603} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620238433} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620238433} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620238433} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620238630} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620238630} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620238630} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620268438} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620268438} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620268438} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620268635} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620268635} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620268635} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620298456} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620298456} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620298456} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620298639} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620298639} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620298639} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620328460} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620328460} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620328460} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620328643} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620328643} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620328643} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620358464} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620358464} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620358464} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620358646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620358646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620358646} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620388468} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620388468} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620388468} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620388650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620388650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620388650} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620418475} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620418475} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620418475} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620418653} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620418653} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620418653} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620448478} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620448478} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620448478} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620448656} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620448656} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620448656} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620478482} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620478482} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620478482} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620478661} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620478661} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620478661} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620508488} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620508488} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620508488} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620508664} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620508664} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620508664} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620538491} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620538491} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620538491} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620538668} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620538668} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620538668} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620568495} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620568495} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620568495} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620568672} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620568672} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620568672} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620598498} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620598498} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620598498} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620598678} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620598678} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620598678} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620628501} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620628501} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620628501} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620628681} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620628681} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620628681} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620658505} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620658505} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620658505} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620658696} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620658696} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620658696} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620688508} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620688508} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620688508} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620688700} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620688700} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620688700} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620718512} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620718512} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620718512} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620718703} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620718703} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620718703} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620748516} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620748516} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620748516} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620748706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620748706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620748706} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620778520} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620778520} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620778520} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620778709} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620778709} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620778709} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620808524} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620808524} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620808524} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620808714} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620808714} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620808714} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620838539} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620838539} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620838539} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620838720} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620838720} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620838720} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620868542} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620868542} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620868542} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620868723} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620868723} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620868723} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620898546} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620898546} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620898546} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620898728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620898728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620898728} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620928548} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620928548} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620928548} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620928731} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620928731} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620928731} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620958554} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620958554} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620958554} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620958735} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620958735} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620958735} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620988567} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620988567} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620988567} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759620988752} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759620988752} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759620988752} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621018571} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621018571} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621018571} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621018755} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621018755} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621018755} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621048574} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621048574} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621048574} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621048761} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621048761} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621048761} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621078593} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621078593} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621078593} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621078764} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621078764} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621078764} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621108597} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621108597} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621108597} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621108770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621108770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621108770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621138601} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621138601} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621138601} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621138774} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621138774} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621138774} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621168605} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621168605} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621168605} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621168778} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621168778} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621168778} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621198611} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621198611} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621198611} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621198785} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621198785} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621198785} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621228616} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621228616} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621228616} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621228789} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621228789} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621228789} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621258619} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621258619} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621258619} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621258793} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621258793} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621258793} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621288622} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621288622} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621288622} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621288798} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621288798} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621288798} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621318625} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621318625} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621318625} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621318801} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621318801} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621318801} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621348628} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621348628} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621348628} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621348803} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621348803} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621348803} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621378632} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621378632} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621378632} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621378807} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621378807} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621378807} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621408635} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621408635} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621408635} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621408810} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621408810} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621408810} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621438638} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621438638} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621438638} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621438815} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621438815} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621438815} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621468656} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621468656} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621468656} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621468819} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621468819} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621468819} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621498663} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621498663} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621498663} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621498823} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621498823} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621498823} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621528666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621528666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621528666} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621528828} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621528828} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621528828} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621558669} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621558669} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621558669} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621558830} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621558830} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621558830} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621588672} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621588672} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621588672} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621588835} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621588835} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621588835} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621618675} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621618675} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621618675} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621618840} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621618840} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621618840} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621648679} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621648679} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621648679} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621648844} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621648844} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621648844} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621678682} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621678682} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621678682} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621678850} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621678850} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621678850} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621708685} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621708685} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621708685} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621708854} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621708854} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621708854} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621738688} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621738688} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621738688} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621738859} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621738859} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621738859} {"level":"info","message":"Client disconnected: x5Wyfeockmwx_QkQAAAr, reason: transport close","timestamp":"2025-10-04T23:49:27.724Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:49:27.724Z"} {"level":"info","message":"🔌 Connection terminated: 92f248ae-5e78-4072-bf29-0f7bb51a3b76 - Operator disconnected","timestamp":"2025-10-04T23:49:27.724Z"} {"level":"info","message":"🧹 Cleaned up 1 connections for operator 4fe5f7bd-dc98-4955-97e8-395d01180d12","timestamp":"2025-10-04T23:49:27.724Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621768691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621768691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621768691} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621768863} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621768863} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621768863} {"address":"192.168.219.108","isAndroid":false,"isMobileWeb":false,"level":"info","message":"New connection: H2MGFnxfNRLWMwrMAAAt","timestamp":"2025-10-04T23:49:44.682Z","userAgent":""} {"level":"info","message":"Operator registered: efe01aae-ca5c-44a1-ada1-74c5eca916c0","timestamp":"2025-10-04T23:49:44.684Z"} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621798695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621798695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621798695} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621798866} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621798866} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621798866} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621828699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621828699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621828699} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621828869} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621828869} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621828869} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621858701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621858701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621858701} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621858872} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621858872} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621858872} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621888705} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621888705} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621888705} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621888878} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621888878} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621888878} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621918709} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621918709} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621918709} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621918882} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621918882} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621918882} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621948715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621948715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621948715} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621948885} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621948885} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621948885} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621978734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621978734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621978734} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759621978889} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759621978889} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759621978889} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622008737} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622008737} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622008737} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622008892} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622008892} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622008892} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622038741} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622038741} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622038741} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622038895} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622038895} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622038895} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622068745} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622068745} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622068745} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622068898} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622068898} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622068898} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622098758} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622098758} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622098758} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622098903} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622098903} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622098903} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622128763} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622128763} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622128763} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622128906} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622128906} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622128906} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622158767} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622158910} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622158910} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622158910} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622158767} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622158767} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622188770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622188770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622188770} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622188913} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622188913} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622188913} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622218773} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622218773} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622218773} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622218918} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622218918} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622218918} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622248777} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622248777} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622248777} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: device-keepalive","status":"online","timestamp":1759622248921} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: keepalive","status":"online","timestamp":1759622248921} {"deviceId":"381068ea-78a3-45c9-a960-8f5b5896c814","level":"info","message":"📱 Android event: ping","status":"online","timestamp":1759622248921} {"level":"info","message":"Client disconnected: _xpHxQ_KbGeDpKyQAAAm, reason: transport close","timestamp":"2025-10-04T23:57:30.994Z"} {"level":"info","message":"Client disconnected: jR3cWcN0Een7PeGPAAAn, reason: transport close","timestamp":"2025-10-04T23:57:30.995Z"} {"level":"info","message":"Client disconnected: 1nnDLbVK_lB6JE_EAAAp, reason: transport close","timestamp":"2025-10-04T23:57:30.995Z"} {"level":"info","message":"🧹 Cleaning up connections for device: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:57:30.996Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-04T23:57:30.996Z"} {"level":"info","message":"📱 Devices list requested by socket H2MGFnxfNRLWMwrMAAAt","timestamp":"2025-10-04T23:57:30.997Z"} {"level":"info","message":"📱 Sending 0 devices to operator efe01aae-ca5c-44a1-ada1-74c5eca916c0","timestamp":"2025-10-04T23:57:30.997Z"} {"level":"info","message":"Client disconnected: H2MGFnxfNRLWMwrMAAAt, reason: transport close","timestamp":"2025-10-05T00:45:36.943Z"} {"level":"info","message":"🧹 Cleaning up connections for operator: efe01aae-ca5c-44a1-ada1-74c5eca916c0","timestamp":"2025-10-05T00:45:36.944Z"} {"level":"info","message":"🧹 Cleaned up 0 connections for operator efe01aae-ca5c-44a1-ada1-74c5eca916c0","timestamp":"2025-10-05T00:45:36.944Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T02:45:06.880Z"} {"level":"info","message":"New connection: bpuxkeGFgbPRc4XbAAAB","timestamp":"2025-10-05T02:45:09.011Z"} {"level":"info","message":"New connection: Zg7ZOCmD1WPxVpF9AAAD","timestamp":"2025-10-05T02:45:14.807Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T02:46:04.649Z"} {"level":"info","message":"New connection: 7YWnsdPZcjTGLIw5AAAB","timestamp":"2025-10-05T02:46:04.953Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T02:59:25.286Z"} {"level":"info","message":"New connection: 30tJrAFX2_n9mY8gAAAB","timestamp":"2025-10-05T02:59:41.009Z"} {"level":"info","message":"New connection: DXx2IdHDQy8JF4t8AAAD","timestamp":"2025-10-05T02:59:48.165Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T02:59:48.265Z"} {"level":"info","message":"New connection: gPMS9dZjqpHAtz7EAAAF","timestamp":"2025-10-05T02:59:52.667Z"} {"level":"info","message":"New connection: MRZ0X5QY_2yqiy8PAAAH","timestamp":"2025-10-05T02:59:53.786Z"} {"level":"info","message":"New connection: a4VIAtGI0PD1A0ICAAAJ","timestamp":"2025-10-05T03:00:29.707Z"} {"level":"info","message":"New connection: 4o3bARetCscGoOgVAAAL","timestamp":"2025-10-05T03:00:35.051Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T03:00:35.056Z"} {"level":"info","message":"New connection: 3YfmzWzIcf8699HdAAAN","timestamp":"2025-10-05T03:00:37.138Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-05T03:00:37.142Z"} {"level":"info","message":"Client disconnected: a4VIAtGI0PD1A0ICAAAJ, reason: transport close","timestamp":"2025-10-05T03:00:44.806Z"} {"level":"info","message":"Client disconnected: 3YfmzWzIcf8699HdAAAN, reason: transport close","timestamp":"2025-10-05T03:00:44.807Z"} {"level":"info","message":"Client disconnected: 4o3bARetCscGoOgVAAAL, reason: transport close","timestamp":"2025-10-05T03:00:44.808Z"} {"level":"info","message":"Client disconnected: DXx2IdHDQy8JF4t8AAAD, reason: client namespace disconnect","timestamp":"2025-10-05T03:01:27.109Z"} {"level":"info","message":"New connection: QNnHGVWQ4LGlMJzeAAAP","timestamp":"2025-10-05T03:02:27.974Z"} {"level":"info","message":"Client disconnected: QNnHGVWQ4LGlMJzeAAAP, reason: transport close","timestamp":"2025-10-05T03:02:39.353Z"} {"level":"info","message":"Client disconnected: 30tJrAFX2_n9mY8gAAAB, reason: transport close","timestamp":"2025-10-05T03:02:39.354Z"} {"level":"info","message":"Client disconnected: gPMS9dZjqpHAtz7EAAAF, reason: transport close","timestamp":"2025-10-05T03:02:39.356Z"} {"level":"info","message":"Client disconnected: MRZ0X5QY_2yqiy8PAAAH, reason: transport close","timestamp":"2025-10-05T03:02:39.356Z"} {"level":"info","message":"New connection: T-nuGqmXBvhXMmMPAAAR","timestamp":"2025-10-05T03:04:45.583Z"} {"level":"info","message":"Client disconnected: T-nuGqmXBvhXMmMPAAAR, reason: transport close","timestamp":"2025-10-05T03:05:02.360Z"} {"level":"info","message":"New connection: wu4nGtUgq-rTJqxnAAAT","timestamp":"2025-10-05T03:06:22.182Z"} {"level":"info","message":"New connection: wlor0eCfT9h31Zx7AAAV","timestamp":"2025-10-05T03:06:24.149Z"} {"level":"info","message":"Client disconnected: wlor0eCfT9h31Zx7AAAV, reason: transport close","timestamp":"2025-10-05T03:06:26.695Z"} {"level":"info","message":"Client disconnected: wu4nGtUgq-rTJqxnAAAT, reason: transport close","timestamp":"2025-10-05T03:06:26.696Z"} {"level":"info","message":"New connection: k7MZ09pebgiKkX0gAAAX","timestamp":"2025-10-05T03:11:12.419Z"} {"level":"info","message":"Operator registered: b8d23832-b880-4f5f-9035-9803cfa9eecd","timestamp":"2025-10-05T03:11:12.422Z"} {"level":"info","message":"New connection: rFQMGZxutFqi5Cb7AAAZ","timestamp":"2025-10-05T03:11:19.248Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:11:19.417Z"} {"level":"info","message":"Client disconnected: rFQMGZxutFqi5Cb7AAAZ, reason: client namespace disconnect","timestamp":"2025-10-05T03:11:37.152Z"} {"level":"info","message":"New connection: rHESw7B3C_Rt20kHAAAb","timestamp":"2025-10-05T03:11:42.127Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:11:42.186Z"} {"level":"info","message":"Client disconnected: rHESw7B3C_Rt20kHAAAb, reason: client namespace disconnect","timestamp":"2025-10-05T03:13:42.025Z"} {"level":"info","message":"Client disconnected: k7MZ09pebgiKkX0gAAAX, reason: client namespace disconnect","timestamp":"2025-10-05T03:13:49.738Z"} {"level":"info","message":"New connection: 4guZ95OiP0csFQvVAAAd","timestamp":"2025-10-05T03:13:51.606Z"} {"level":"info","message":"Operator registered: b8d23832-b880-4f5f-9035-9803cfa9eecd","timestamp":"2025-10-05T03:13:51.606Z"} {"level":"info","message":"New connection: oS2rnYvgwr0M1OnjAAAf","timestamp":"2025-10-05T03:14:01.804Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:14:01.963Z"} {"level":"info","message":"Client disconnected: oS2rnYvgwr0M1OnjAAAf, reason: client namespace disconnect","timestamp":"2025-10-05T03:14:29.567Z"} {"level":"info","message":"Client disconnected: 4guZ95OiP0csFQvVAAAd, reason: transport close","timestamp":"2025-10-05T03:18:07.846Z"} {"level":"info","message":"New connection: fRXbyR3g8Xx2txMmAAAh","timestamp":"2025-10-05T03:18:31.840Z"} {"level":"info","message":"Operator registered: f683fc76-6bb5-431a-9b72-7ea09852c06a","timestamp":"2025-10-05T03:18:31.843Z"} {"level":"info","message":"Client disconnected: fRXbyR3g8Xx2txMmAAAh, reason: client namespace disconnect","timestamp":"2025-10-05T03:18:45.512Z"} {"level":"info","message":"New connection: AEJ86M0ZHe9Ps61OAAAj","timestamp":"2025-10-05T03:18:49.779Z"} {"level":"info","message":"Operator registered: f683fc76-6bb5-431a-9b72-7ea09852c06a","timestamp":"2025-10-05T03:18:49.780Z"} {"level":"info","message":"New connection: 7Q3efunXb2jWf8jqAAAl","timestamp":"2025-10-05T03:18:56.996Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:18:57.154Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-05T03:19:36.772Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T03:19:43.664Z"} {"level":"info","message":"New connection: gUzqabUGl4KLF0hWAAAB","timestamp":"2025-10-05T03:19:48.625Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:19:48.650Z"} {"level":"info","message":"New connection: QN4HIo5DsZIDpr_vAAAD","timestamp":"2025-10-05T03:19:57.482Z"} {"level":"info","message":"Operator registered: 1d6fe3c1-693e-432c-962a-a0501a135304","timestamp":"2025-10-05T03:19:57.485Z"} {"level":"info","message":"Camera request: operator 1d6fe3c1-693e-432c-962a-a0501a135304 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:20:00.250Z"} {"level":"info","message":"New connection: Whf-juyYkb7SDwsLAAAF","timestamp":"2025-10-05T03:20:55.009Z"} {"level":"info","message":"Cleanup completed: 0 sessions removed","timestamp":"2025-10-05T03:21:03.113Z"} {"level":"info","message":"Client disconnected: QN4HIo5DsZIDpr_vAAAD, reason: client namespace disconnect","timestamp":"2025-10-05T03:21:14.033Z"} {"level":"info","message":"New connection: So1f9tCWVSztHsbfAAAH","timestamp":"2025-10-05T03:21:15.060Z"} {"level":"info","message":"Operator registered: 1d6fe3c1-693e-432c-962a-a0501a135304","timestamp":"2025-10-05T03:21:15.061Z"} {"level":"info","message":"Client disconnected: gUzqabUGl4KLF0hWAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T03:21:22.440Z"} {"level":"info","message":"New connection: YJk5YkY8LIX9F1CEAAAJ","timestamp":"2025-10-05T03:21:27.872Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:21:28.071Z"} {"level":"info","message":"Client disconnected: So1f9tCWVSztHsbfAAAH, reason: client namespace disconnect","timestamp":"2025-10-05T03:21:32.105Z"} {"level":"info","message":"New connection: r1jTO0Js1vwIaNUNAAAL","timestamp":"2025-10-05T03:21:33.219Z"} {"level":"info","message":"Operator registered: 1d6fe3c1-693e-432c-962a-a0501a135304","timestamp":"2025-10-05T03:21:33.220Z"} {"level":"info","message":"Camera request: operator 1d6fe3c1-693e-432c-962a-a0501a135304 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:21:37.754Z"} {"level":"info","message":"Client disconnected: r1jTO0Js1vwIaNUNAAAL, reason: client namespace disconnect","timestamp":"2025-10-05T03:21:54.849Z"} {"level":"info","message":"Client disconnected: YJk5YkY8LIX9F1CEAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T03:21:58.383Z"} {"level":"info","message":"New connection: 40FzFhvjgQFHISGrAAAN","timestamp":"2025-10-05T03:21:59.206Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:21:59.342Z"} {"level":"info","message":"New connection: 5xAvE5_c291hYmDLAAAP","timestamp":"2025-10-05T03:22:04.253Z"} {"level":"info","message":"Operator registered: 1d6fe3c1-693e-432c-962a-a0501a135304","timestamp":"2025-10-05T03:22:04.254Z"} {"level":"info","message":"Camera request: operator 1d6fe3c1-693e-432c-962a-a0501a135304 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:22:06.362Z"} {"level":"info","message":"New connection: 1IGYOpV6OzOlHMVoAAAR","timestamp":"2025-10-05T03:25:34.204Z"} {"level":"info","message":"Operator registered: 8f8e7a34-af53-400c-b9e6-3f724a3e64ea","timestamp":"2025-10-05T03:25:34.206Z"} {"level":"info","message":"Client disconnected: 1IGYOpV6OzOlHMVoAAAR, reason: client namespace disconnect","timestamp":"2025-10-05T03:26:12.319Z"} {"level":"info","message":"New connection: sEaw6FIJVn7dRQmUAAAT","timestamp":"2025-10-05T03:26:13.291Z"} {"level":"info","message":"Operator registered: 8f8e7a34-af53-400c-b9e6-3f724a3e64ea","timestamp":"2025-10-05T03:26:13.292Z"} {"level":"info","message":"Client disconnected: 40FzFhvjgQFHISGrAAAN, reason: client namespace disconnect","timestamp":"2025-10-05T03:26:15.479Z"} {"level":"info","message":"New connection: cV5_WTwFGaCra_8DAAAV","timestamp":"2025-10-05T03:26:16.190Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:26:16.355Z"} {"level":"info","message":"Client disconnected: sEaw6FIJVn7dRQmUAAAT, reason: client namespace disconnect","timestamp":"2025-10-05T03:26:19.359Z"} {"level":"info","message":"New connection: -HjT1iMWbA3mS1uGAAAX","timestamp":"2025-10-05T03:26:20.274Z"} {"level":"info","message":"Operator registered: 8f8e7a34-af53-400c-b9e6-3f724a3e64ea","timestamp":"2025-10-05T03:26:20.276Z"} {"level":"info","message":"Camera request: operator 8f8e7a34-af53-400c-b9e6-3f724a3e64ea -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T03:26:21.584Z"} {"level":"info","message":"Client disconnected: 5xAvE5_c291hYmDLAAAP, reason: transport close","timestamp":"2025-10-05T03:26:56.370Z"} {"level":"info","message":"Client disconnected: -HjT1iMWbA3mS1uGAAAX, reason: transport close","timestamp":"2025-10-05T03:26:59.174Z"} {"level":"info","message":"New connection: EKAXfkoCVgyx1mspAAAZ","timestamp":"2025-10-05T03:28:56.833Z"} {"level":"info","message":"Operator registered: 017ed17c-26d9-41f5-a4db-288b6e79fd78","timestamp":"2025-10-05T03:28:56.835Z"} {"level":"info","message":"Client disconnected: EKAXfkoCVgyx1mspAAAZ, reason: transport close","timestamp":"2025-10-05T05:14:37.645Z"} {"level":"info","message":"New connection: IjRU_U5OkkWY-4xjAAAb","timestamp":"2025-10-05T05:14:39.839Z"} {"level":"info","message":"Operator registered: ac03e88f-f8fc-4a92-b599-b43a2969a132","timestamp":"2025-10-05T05:14:39.842Z"} {"level":"info","message":"New connection: PvY90W2fucELkIRkAAAd","timestamp":"2025-10-05T05:14:55.817Z"} {"level":"info","message":"Client disconnected: IjRU_U5OkkWY-4xjAAAb, reason: client namespace disconnect","timestamp":"2025-10-05T05:15:48.777Z"} {"level":"info","message":"New connection: ACj07QX7aiGDYbJeAAAf","timestamp":"2025-10-05T05:15:49.860Z"} {"level":"info","message":"Operator registered: ac03e88f-f8fc-4a92-b599-b43a2969a132","timestamp":"2025-10-05T05:15:49.861Z"} {"level":"info","message":"Client disconnected: ACj07QX7aiGDYbJeAAAf, reason: client namespace disconnect","timestamp":"2025-10-05T05:18:34.602Z"} {"level":"info","message":"Client disconnected: cV5_WTwFGaCra_8DAAAV, reason: client namespace disconnect","timestamp":"2025-10-05T05:18:41.496Z"} {"level":"info","message":"New connection: HLYkKJ1i6US2MCR5AAAh","timestamp":"2025-10-05T05:18:52.518Z"} {"level":"info","message":"New connection: vszFFAeVj_Xyv8GhAAAj","timestamp":"2025-10-05T05:18:52.588Z"} {"level":"info","message":"New connection: 0A4tKu40m7WaNE9ZAAAl","timestamp":"2025-10-05T05:18:53.039Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:18:53.134Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:18:53.190Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:18:53.334Z"} {"level":"info","message":"New connection: eQBUpZ6ENUXGD8J4AAAn","timestamp":"2025-10-05T05:18:56.154Z"} {"level":"info","message":"Operator registered: ac03e88f-f8fc-4a92-b599-b43a2969a132","timestamp":"2025-10-05T05:18:56.155Z"} {"level":"info","message":"Camera request: operator ac03e88f-f8fc-4a92-b599-b43a2969a132 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:19:01.912Z"} {"level":"info","message":"New connection: Fd4YcCvlTMSA_eFyAAAp","timestamp":"2025-10-05T05:20:26.168Z"} {"level":"info","message":"Operator registered: b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb","timestamp":"2025-10-05T05:20:26.173Z"} {"level":"info","message":"Client disconnected: Fd4YcCvlTMSA_eFyAAAp, reason: client namespace disconnect","timestamp":"2025-10-05T05:20:30.996Z"} {"level":"info","message":"New connection: ityCs9DGfek5ML5qAAAr","timestamp":"2025-10-05T05:20:33.502Z"} {"level":"info","message":"Operator registered: b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb","timestamp":"2025-10-05T05:20:33.503Z"} {"level":"info","message":"Client disconnected: eQBUpZ6ENUXGD8J4AAAn, reason: transport close","timestamp":"2025-10-05T05:21:01.887Z"} {"level":"info","message":"Client disconnected: vszFFAeVj_Xyv8GhAAAj, reason: client namespace disconnect","timestamp":"2025-10-05T05:21:28.381Z"} {"level":"info","message":"Client disconnected: ityCs9DGfek5ML5qAAAr, reason: client namespace disconnect","timestamp":"2025-10-05T05:21:32.265Z"} {"level":"info","message":"Client disconnected: 0A4tKu40m7WaNE9ZAAAl, reason: client namespace disconnect","timestamp":"2025-10-05T05:21:37.695Z"} {"level":"info","message":"New connection: 6OsEPlHsHh8fXXWGAAAu","timestamp":"2025-10-05T05:21:39.913Z"} {"level":"info","message":"New connection: f9i1d249cG8QMBefAAAv","timestamp":"2025-10-05T05:21:39.933Z"} {"level":"info","message":"New connection: Kbt_X2U_fGf_KjprAAAx","timestamp":"2025-10-05T05:21:40.586Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:21:40.612Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:21:40.631Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:21:40.805Z"} {"level":"info","message":"New connection: fN09W1hOp_t7qJCgAAAz","timestamp":"2025-10-05T05:21:45.564Z"} {"level":"info","message":"Operator registered: b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb","timestamp":"2025-10-05T05:21:45.565Z"} {"level":"info","message":"Camera request: operator b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:21:56.249Z"} {"level":"info","message":"Client disconnected: 6OsEPlHsHh8fXXWGAAAu, reason: client namespace disconnect","timestamp":"2025-10-05T05:22:35.080Z"} {"level":"info","message":"New connection: SKZLmRWHavsVSOglAAA1","timestamp":"2025-10-05T05:22:38.072Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:22:38.416Z"} {"level":"info","message":"Client disconnected: fN09W1hOp_t7qJCgAAAz, reason: client namespace disconnect","timestamp":"2025-10-05T05:22:43.391Z"} {"level":"info","message":"New connection: i8EXuSbtK4SKYCr0AAA3","timestamp":"2025-10-05T05:22:44.970Z"} {"level":"info","message":"Operator registered: b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb","timestamp":"2025-10-05T05:22:44.971Z"} {"level":"info","message":"Camera request: operator b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:22:46.368Z"} {"level":"info","message":"Client disconnected: SKZLmRWHavsVSOglAAA1, reason: transport close","timestamp":"2025-10-05T05:27:33.235Z"} {"level":"info","message":"Client disconnected: f9i1d249cG8QMBefAAAv, reason: transport close","timestamp":"2025-10-05T05:27:33.237Z"} {"level":"info","message":"Client disconnected: Kbt_X2U_fGf_KjprAAAx, reason: transport close","timestamp":"2025-10-05T05:27:33.238Z"} {"level":"info","message":"Client disconnected: HLYkKJ1i6US2MCR5AAAh, reason: transport close","timestamp":"2025-10-05T05:27:33.241Z"} {"level":"info","message":"Client disconnected: i8EXuSbtK4SKYCr0AAA3, reason: client namespace disconnect","timestamp":"2025-10-05T05:27:40.280Z"} {"level":"info","message":"New connection: aHfiC3fMmZ0YnB1AAAA6","timestamp":"2025-10-05T05:27:53.358Z"} {"level":"info","message":"New connection: 0PbqkcIByiJcotWzAAA7","timestamp":"2025-10-05T05:27:53.417Z"} {"level":"info","message":"New connection: rHOeeMC_Y7pPoXgsAAA9","timestamp":"2025-10-05T05:27:58.159Z"} {"level":"info","message":"New connection: GrmoudA1gc1ugT-eAAA_","timestamp":"2025-10-05T05:27:59.608Z"} {"level":"info","message":"Operator registered: b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb","timestamp":"2025-10-05T05:27:59.609Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:27:59.917Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:28:00.072Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:28:00.272Z"} {"level":"info","message":"Client disconnected: aHfiC3fMmZ0YnB1AAAA6, reason: client namespace disconnect","timestamp":"2025-10-05T05:28:09.968Z"} {"level":"info","message":"New connection: Wup1gNv1KdRYswShAABB","timestamp":"2025-10-05T05:28:25.140Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:28:25.407Z"} {"level":"info","message":"Client disconnected: GrmoudA1gc1ugT-eAAA_, reason: client namespace disconnect","timestamp":"2025-10-05T05:28:28.967Z"} {"level":"info","message":"New connection: O1r0BQnVjGD6j--DAABD","timestamp":"2025-10-05T05:28:30.996Z"} {"level":"info","message":"Operator registered: b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb","timestamp":"2025-10-05T05:28:30.997Z"} {"level":"info","message":"Camera request: operator b4ea4965-8ff7-45ec-882a-e9b9bce0a6cb -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:28:34.280Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T05:30:51.094Z"} {"level":"info","message":"New connection: Bm0uNWUPQ8D1dj5RAAAB","timestamp":"2025-10-05T05:30:51.786Z"} {"level":"info","message":"Operator registered: e06f6e36-d5d4-4274-b985-af65c69977a9","timestamp":"2025-10-05T05:30:51.789Z"} {"level":"info","message":"New connection: tlMedmG9sZefFsJVAAAD","timestamp":"2025-10-05T05:30:52.961Z"} {"level":"info","message":"New connection: xf_IRWeJ6bDHvRmGAAAF","timestamp":"2025-10-05T05:30:56.387Z"} {"level":"info","message":"New connection: JcNw5l12TJ2m3tHeAAAI","timestamp":"2025-10-05T05:31:15.648Z"} {"level":"info","message":"New connection: tV1wPCmFU3NN9WZSAAAJ","timestamp":"2025-10-05T05:31:15.743Z"} {"level":"info","message":"New connection: Zh0GzrP9rFA_fLD3AAAL","timestamp":"2025-10-05T05:31:19.254Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:31:21.384Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:31:21.474Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:31:21.760Z"} {"level":"info","message":"Client disconnected: Bm0uNWUPQ8D1dj5RAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T05:31:27.149Z"} {"level":"info","message":"New connection: PgOyJO4m3j3Yp5vFAAAN","timestamp":"2025-10-05T05:31:30.024Z"} {"level":"info","message":"Operator registered: e06f6e36-d5d4-4274-b985-af65c69977a9","timestamp":"2025-10-05T05:31:30.025Z"} {"level":"info","message":"Camera request: operator e06f6e36-d5d4-4274-b985-af65c69977a9 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:31:33.862Z"} {"level":"info","message":"Client disconnected: PgOyJO4m3j3Yp5vFAAAN, reason: client namespace disconnect","timestamp":"2025-10-05T05:31:47.980Z"} {"level":"info","message":"New connection: dFZHty_LjHtpYQNrAAAP","timestamp":"2025-10-05T05:31:49.873Z"} {"level":"info","message":"Operator registered: e06f6e36-d5d4-4274-b985-af65c69977a9","timestamp":"2025-10-05T05:31:49.875Z"} {"level":"info","message":"Client disconnected: JcNw5l12TJ2m3tHeAAAI, reason: client namespace disconnect","timestamp":"2025-10-05T05:31:55.973Z"} {"level":"info","message":"New connection: 59xd1Y5e9iD0eyKUAAAR","timestamp":"2025-10-05T05:31:57.974Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:31:58.633Z"} {"level":"info","message":"Client disconnected: dFZHty_LjHtpYQNrAAAP, reason: client namespace disconnect","timestamp":"2025-10-05T05:32:00.532Z"} {"level":"info","message":"New connection: Ua2csOIw51XEBf5dAAAT","timestamp":"2025-10-05T05:32:03.917Z"} {"level":"info","message":"Operator registered: e06f6e36-d5d4-4274-b985-af65c69977a9","timestamp":"2025-10-05T05:32:03.922Z"} {"level":"info","message":"Camera request: operator e06f6e36-d5d4-4274-b985-af65c69977a9 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:32:05.309Z"} {"level":"info","message":"Client disconnected: Ua2csOIw51XEBf5dAAAT, reason: transport close","timestamp":"2025-10-05T05:33:28.663Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T05:34:36.476Z"} {"level":"info","message":"New connection: _xfJT9ZUmbz9Yia4AAAB","timestamp":"2025-10-05T05:34:36.654Z"} {"level":"info","message":"New connection: 1X_8rSXSqYPkAovBAAAD","timestamp":"2025-10-05T05:34:37.388Z"} {"level":"info","message":"New connection: UABwaM3KKOnOVs1mAAAF","timestamp":"2025-10-05T05:34:56.740Z"} {"level":"info","message":"Operator registered: 84e9e275-2d40-4efa-971c-52c0e4c616a2","timestamp":"2025-10-05T05:34:56.749Z"} {"level":"info","message":"Client disconnected: UABwaM3KKOnOVs1mAAAF, reason: client namespace disconnect","timestamp":"2025-10-05T05:35:02.178Z"} {"level":"info","message":"New connection: 2NeRxChWus68hoWKAAAH","timestamp":"2025-10-05T05:35:10.038Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:35:10.509Z"} {"level":"info","message":"New connection: iBGFK9IsC11mRy5RAAAJ","timestamp":"2025-10-05T05:35:12.878Z"} {"level":"info","message":"Operator registered: 84e9e275-2d40-4efa-971c-52c0e4c616a2","timestamp":"2025-10-05T05:35:12.879Z"} {"level":"info","message":"Client disconnected: iBGFK9IsC11mRy5RAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T05:35:15.473Z"} {"level":"info","message":"Client disconnected: 2NeRxChWus68hoWKAAAH, reason: client namespace disconnect","timestamp":"2025-10-05T05:35:26.712Z"} {"level":"info","message":"New connection: fiGwNqtkQrdbtEpYAAAL","timestamp":"2025-10-05T05:35:31.969Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:35:32.217Z"} {"level":"info","message":"Client disconnected: fiGwNqtkQrdbtEpYAAAL, reason: client namespace disconnect","timestamp":"2025-10-05T05:35:35.314Z"} {"level":"info","message":"New connection: IMV_cLJFt3hh-a5UAAAN","timestamp":"2025-10-05T05:35:37.711Z"} {"level":"info","message":"Operator registered: 84e9e275-2d40-4efa-971c-52c0e4c616a2","timestamp":"2025-10-05T05:35:37.713Z"} {"level":"info","message":"Client disconnected: IMV_cLJFt3hh-a5UAAAN, reason: client namespace disconnect","timestamp":"2025-10-05T05:35:41.217Z"} {"level":"info","message":"New connection: NoLWdP2Zyz_GB8HzAAAP","timestamp":"2025-10-05T05:35:46.460Z"} {"level":"info","message":"Operator registered: 84e9e275-2d40-4efa-971c-52c0e4c616a2","timestamp":"2025-10-05T05:35:46.461Z"} {"level":"info","message":"New connection: sHALZ4Z-I6FOCFVnAAAR","timestamp":"2025-10-05T05:35:55.242Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:35:55.482Z"} {"level":"info","message":"Client disconnected: NoLWdP2Zyz_GB8HzAAAP, reason: client namespace disconnect","timestamp":"2025-10-05T05:35:58.297Z"} {"level":"info","message":"New connection: 7HmyZBjhvwU6sGwbAAAT","timestamp":"2025-10-05T05:36:00.308Z"} {"level":"info","message":"Operator registered: 84e9e275-2d40-4efa-971c-52c0e4c616a2","timestamp":"2025-10-05T05:36:00.310Z"} {"level":"info","message":"Camera request: operator 84e9e275-2d40-4efa-971c-52c0e4c616a2 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:36:03.747Z"} {"level":"info","message":"Client disconnected: 7HmyZBjhvwU6sGwbAAAT, reason: transport close","timestamp":"2025-10-05T05:36:44.898Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-05T05:36:45.075Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T05:36:55.379Z"} {"level":"info","message":"New connection: ImmhkMDh1KsuEAQUAAAB","timestamp":"2025-10-05T05:42:42.344Z"} {"level":"info","message":"Operator registered: 38a35835-f546-4da1-8616-ea4984669d65","timestamp":"2025-10-05T05:42:42.351Z"} {"level":"info","message":"Client disconnected: ImmhkMDh1KsuEAQUAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T05:42:48.047Z"} {"level":"info","message":"New connection: TSeCpIxn9JpQxW-8AAAD","timestamp":"2025-10-05T05:42:51.131Z"} {"level":"info","message":"Operator registered: 38a35835-f546-4da1-8616-ea4984669d65","timestamp":"2025-10-05T05:42:51.132Z"} {"level":"info","message":"Client disconnected: _xfJT9ZUmbz9Yia4AAAB, reason: transport close","timestamp":"2025-10-05T05:42:52.725Z"} {"level":"info","message":"New connection: VZjwo6mh1TCkAMc-AAAF","timestamp":"2025-10-05T05:42:52.762Z"} {"level":"info","message":"Client disconnected: sHALZ4Z-I6FOCFVnAAAR, reason: client namespace disconnect","timestamp":"2025-10-05T05:43:06.972Z"} {"level":"info","message":"New connection: zOFcNDHUglZBNxAfAAAI","timestamp":"2025-10-05T05:43:15.840Z"} {"level":"info","message":"New connection: brLtAYS7HHd3XaOHAAAJ","timestamp":"2025-10-05T05:43:15.958Z"} {"level":"info","message":"New connection: EYq8FPnqgaNaS7qWAAAL","timestamp":"2025-10-05T05:43:16.524Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:43:16.736Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:43:16.851Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:43:16.922Z"} {"level":"info","message":"Client disconnected: TSeCpIxn9JpQxW-8AAAD, reason: client namespace disconnect","timestamp":"2025-10-05T05:43:20.150Z"} {"level":"info","message":"New connection: CrjBITrcVm3IeU_vAAAN","timestamp":"2025-10-05T05:43:21.950Z"} {"level":"info","message":"Operator registered: 38a35835-f546-4da1-8616-ea4984669d65","timestamp":"2025-10-05T05:43:21.955Z"} {"level":"info","message":"Camera request: operator 38a35835-f546-4da1-8616-ea4984669d65 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:43:25.696Z"} {"level":"info","message":"Client disconnected: brLtAYS7HHd3XaOHAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T05:45:29.710Z"} {"level":"info","message":"New connection: aQ8dO5epCRvkW6UbAAAP","timestamp":"2025-10-05T05:45:31.092Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:45:31.284Z"} {"level":"info","message":"Client disconnected: CrjBITrcVm3IeU_vAAAN, reason: client namespace disconnect","timestamp":"2025-10-05T05:45:32.670Z"} {"level":"info","message":"New connection: kCL34gFFN56DHjVrAAAR","timestamp":"2025-10-05T05:45:34.537Z"} {"level":"info","message":"Operator registered: 38a35835-f546-4da1-8616-ea4984669d65","timestamp":"2025-10-05T05:45:34.538Z"} {"level":"info","message":"Camera request: operator 38a35835-f546-4da1-8616-ea4984669d65 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:45:38.405Z"} {"level":"info","message":"Client disconnected: aQ8dO5epCRvkW6UbAAAP, reason: client namespace disconnect","timestamp":"2025-10-05T05:59:12.752Z"} {"level":"info","message":"New connection: nsI1tExSHhow2Ne8AAAT","timestamp":"2025-10-05T05:59:19.449Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:59:19.529Z"} {"level":"info","message":"Camera request: operator 38a35835-f546-4da1-8616-ea4984669d65 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T05:59:21.504Z"} {"level":"info","message":"Client disconnected: kCL34gFFN56DHjVrAAAR, reason: client namespace disconnect","timestamp":"2025-10-05T05:59:31.904Z"} {"level":"info","message":"Client disconnected: 1X_8rSXSqYPkAovBAAAD, reason: forced close","timestamp":"2025-10-05T05:59:36.054Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T06:08:48.915Z"} {"level":"info","message":"New connection: FmU7Ec7OEuAPVLmCAAAB","timestamp":"2025-10-05T06:08:50.662Z"} {"level":"info","message":"New connection: W7-ikkMOWgLm5vZwAAAD","timestamp":"2025-10-05T06:09:15.425Z"} {"level":"info","message":"Operator registered: 8a2951d1-9601-4b56-ad6a-bcca1bed6c63","timestamp":"2025-10-05T06:09:15.434Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T09:25:18.059Z"} {"level":"info","message":"New connection: IWgJnLByp6gbJZahAAAB","timestamp":"2025-10-05T09:25:20.413Z"} {"level":"info","message":"Operator registered: a71910ef-33ce-4180-a483-7ff1681bdf14","timestamp":"2025-10-05T09:25:20.416Z"} {"level":"info","message":"New connection: R0vg4oCRLCOvg4t0AAAD","timestamp":"2025-10-05T09:25:27.390Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:25:27.478Z"} {"level":"info","message":"Client disconnected: IWgJnLByp6gbJZahAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T09:25:34.677Z"} {"level":"info","message":"New connection: NS-QnC7FtAVU4MdeAAAF","timestamp":"2025-10-05T09:25:37.106Z"} {"level":"info","message":"Operator registered: a71910ef-33ce-4180-a483-7ff1681bdf14","timestamp":"2025-10-05T09:25:37.108Z"} {"level":"info","message":"Camera request: operator a71910ef-33ce-4180-a483-7ff1681bdf14 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:25:41.447Z"} {"level":"info","message":"Client disconnected: NS-QnC7FtAVU4MdeAAAF, reason: transport close","timestamp":"2025-10-05T09:28:34.964Z"} {"level":"info","message":"New connection: mSeESnJ_Flb6AZeJAAAH","timestamp":"2025-10-05T09:28:45.114Z"} {"level":"info","message":"Operator registered: fa0a1b65-ce2a-4ca4-8b2e-5dedd2babce1","timestamp":"2025-10-05T09:28:45.118Z"} {"level":"info","message":"Client disconnected: R0vg4oCRLCOvg4t0AAAD, reason: client namespace disconnect","timestamp":"2025-10-05T09:28:54.979Z"} {"level":"info","message":"Client disconnected: mSeESnJ_Flb6AZeJAAAH, reason: client namespace disconnect","timestamp":"2025-10-05T09:29:01.864Z"} {"level":"info","message":"New connection: BzmElbp9pCjjxzZFAAAJ","timestamp":"2025-10-05T09:29:03.931Z"} {"level":"info","message":"Operator registered: fa0a1b65-ce2a-4ca4-8b2e-5dedd2babce1","timestamp":"2025-10-05T09:29:03.932Z"} {"level":"info","message":"New connection: eUpKFtVbifcPcvsVAAAM","timestamp":"2025-10-05T09:29:08.391Z"} {"level":"info","message":"New connection: iu4NJMDI-Na71kbTAAAN","timestamp":"2025-10-05T09:29:08.463Z"} {"level":"info","message":"New connection: nrgdC69SPTDK8ytLAAAP","timestamp":"2025-10-05T09:29:08.629Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:08.733Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:08.761Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:08.903Z"} {"level":"info","message":"Client disconnected: BzmElbp9pCjjxzZFAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T09:29:11.566Z"} {"level":"info","message":"New connection: NPWpwQeVY0RfdoKXAAAR","timestamp":"2025-10-05T09:29:14.141Z"} {"level":"info","message":"Operator registered: fa0a1b65-ce2a-4ca4-8b2e-5dedd2babce1","timestamp":"2025-10-05T09:29:14.143Z"} {"level":"info","message":"Camera request: operator fa0a1b65-ce2a-4ca4-8b2e-5dedd2babce1 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:18.143Z"} {"level":"info","message":"New connection: 6q1iY2I2b9nL5FbVAAAT","timestamp":"2025-10-05T09:29:33.535Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:33.874Z"} {"level":"info","message":"Client disconnected: 6q1iY2I2b9nL5FbVAAAT, reason: client namespace disconnect","timestamp":"2025-10-05T09:29:33.879Z"} {"level":"info","message":"Client disconnected: nrgdC69SPTDK8ytLAAAP, reason: client namespace disconnect","timestamp":"2025-10-05T09:29:37.286Z"} {"level":"info","message":"Client disconnected: NPWpwQeVY0RfdoKXAAAR, reason: client namespace disconnect","timestamp":"2025-10-05T09:29:39.006Z"} {"level":"info","message":"New connection: FKRc4iJP2i0Ws43WAAAW","timestamp":"2025-10-05T09:29:43.570Z"} {"level":"info","message":"New connection: c3E1urIjJqB40mCrAAAX","timestamp":"2025-10-05T09:29:43.579Z"} {"level":"info","message":"New connection: P43dZC8BAU8cPM4dAAAZ","timestamp":"2025-10-05T09:29:43.952Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:43.981Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:44.009Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:44.152Z"} {"level":"info","message":"Client disconnected: FKRc4iJP2i0Ws43WAAAW, reason: client namespace disconnect","timestamp":"2025-10-05T09:29:56.322Z"} {"level":"info","message":"New connection: 8DcPEDADy4b13YvhAAAb","timestamp":"2025-10-05T09:29:58.435Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:29:58.662Z"} {"level":"info","message":"New connection: FYWs9rNA4_u650yGAAAd","timestamp":"2025-10-05T09:30:00.833Z"} {"level":"info","message":"Operator registered: fa0a1b65-ce2a-4ca4-8b2e-5dedd2babce1","timestamp":"2025-10-05T09:30:00.836Z"} {"level":"info","message":"Camera request: operator fa0a1b65-ce2a-4ca4-8b2e-5dedd2babce1 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:30:04.160Z"} {"level":"info","message":"Client disconnected: FYWs9rNA4_u650yGAAAd, reason: transport close","timestamp":"2025-10-05T09:31:41.228Z"} {"level":"info","message":"New connection: ls5POY7RkcPMk4I9AAAf","timestamp":"2025-10-05T09:32:11.152Z"} {"level":"info","message":"Operator registered: 8d4bdc89-2537-4e05-8b34-ac2c8e30f7d7","timestamp":"2025-10-05T09:32:11.155Z"} {"level":"info","message":"Client disconnected: ls5POY7RkcPMk4I9AAAf, reason: client namespace disconnect","timestamp":"2025-10-05T09:32:15.021Z"} {"level":"info","message":"Client disconnected: 8DcPEDADy4b13YvhAAAb, reason: client namespace disconnect","timestamp":"2025-10-05T09:32:18.985Z"} {"level":"info","message":"New connection: xH1-uGg9whLGCM0-AAAh","timestamp":"2025-10-05T09:32:20.452Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:32:20.688Z"} {"level":"info","message":"New connection: XjblyteNqqXuSfj8AAAj","timestamp":"2025-10-05T09:32:23.594Z"} {"level":"info","message":"Operator registered: 8d4bdc89-2537-4e05-8b34-ac2c8e30f7d7","timestamp":"2025-10-05T09:32:23.597Z"} {"level":"info","message":"Client disconnected: XjblyteNqqXuSfj8AAAj, reason: transport close","timestamp":"2025-10-05T09:32:27.100Z"} {"level":"info","message":"New connection: 8XwIA8X1ENLF5CUNAAAl","timestamp":"2025-10-05T09:35:02.279Z"} {"level":"info","message":"New connection: ZulljE7CPPgsmOaVAAAn","timestamp":"2025-10-05T09:35:08.595Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T09:35:08.604Z"} {"level":"info","message":"New connection: STk8UywrQekB15LYAAAp","timestamp":"2025-10-05T09:35:11.003Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-05T09:35:11.010Z"} {"level":"info","message":"Client disconnected: ZulljE7CPPgsmOaVAAAn, reason: client namespace disconnect","timestamp":"2025-10-05T09:35:16.937Z"} {"level":"info","message":"Client disconnected: STk8UywrQekB15LYAAAp, reason: client namespace disconnect","timestamp":"2025-10-05T09:35:18.730Z"} {"level":"info","message":"New connection: sZ-uBXRd3s0KIbABAAAr","timestamp":"2025-10-05T09:35:21.822Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T09:35:21.834Z"} {"level":"info","message":"New connection: 1NrhzEg5PQV6npIhAAAt","timestamp":"2025-10-05T09:35:37.698Z"} {"level":"info","message":"Operator registered: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:35:37.701Z"} {"level":"info","message":"Camera request: operator 171bb08e-e920-45de-b490-482b5a365376 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:35:42.640Z"} {"level":"info","message":"Camera request: operator 171bb08e-e920-45de-b490-482b5a365376 -> device demo-device-001","timestamp":"2025-10-05T09:35:46.387Z"} {"level":"info","message":"Camera stream started: session 1f39ab62-e457-432b-ae8f-60ca9cba1892","timestamp":"2025-10-05T09:35:48.392Z"} {"level":"info","message":"Received camera:switch from 1NrhzEg5PQV6npIhAAAt: {\"sessionId\":\"1f39ab62-e457-432b-ae8f-60ca9cba1892\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T09:36:06.347Z"} {"level":"info","message":"Session found: 1f39ab62-e457-432b-ae8f-60ca9cba1892, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:36:06.348Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:36:06.348Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:36:06.348Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:36:06.348Z"} {"level":"info","message":"Received camera:switch from 1NrhzEg5PQV6npIhAAAt: {\"sessionId\":\"1f39ab62-e457-432b-ae8f-60ca9cba1892\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T09:36:10.137Z"} {"level":"info","message":"Session found: 1f39ab62-e457-432b-ae8f-60ca9cba1892, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:36:10.137Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:36:10.137Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:36:10.137Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:36:10.137Z"} {"level":"info","message":"Received camera:switch from 1NrhzEg5PQV6npIhAAAt: {\"sessionId\":\"1f39ab62-e457-432b-ae8f-60ca9cba1892\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T09:36:13.681Z"} {"level":"info","message":"Session found: 1f39ab62-e457-432b-ae8f-60ca9cba1892, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:36:13.681Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:36:13.681Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:36:13.681Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:36:13.681Z"} {"level":"info","message":"Received camera:switch from 1NrhzEg5PQV6npIhAAAt: {\"sessionId\":\"1f39ab62-e457-432b-ae8f-60ca9cba1892\",\"cameraType\":\"telephoto\"}","timestamp":"2025-10-05T09:36:15.074Z"} {"level":"info","message":"Session found: 1f39ab62-e457-432b-ae8f-60ca9cba1892, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:36:15.074Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:36:15.075Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:36:15.075Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:36:15.075Z"} {"level":"info","message":"Received camera:switch from 1NrhzEg5PQV6npIhAAAt: {\"sessionId\":\"1f39ab62-e457-432b-ae8f-60ca9cba1892\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T09:36:52.966Z"} {"level":"info","message":"Session found: 1f39ab62-e457-432b-ae8f-60ca9cba1892, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:36:52.967Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:36:52.967Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:36:52.967Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:36:52.967Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-05T09:37:10.452Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T09:37:22.301Z"} {"level":"info","message":"New connection: oA2tI7mjwlSz-eGRAAAC","timestamp":"2025-10-05T09:37:23.075Z"} {"level":"info","message":"New connection: 8TcJ-jz4XXV7iuARAAAD","timestamp":"2025-10-05T09:37:23.159Z"} {"level":"info","message":"New connection: qV3F9bCiVewJ5HoLAAAH","timestamp":"2025-10-05T09:37:23.525Z"} {"level":"info","message":"New connection: YfMFEhidl2gNuTtcAAAI","timestamp":"2025-10-05T09:37:23.813Z"} {"level":"info","message":"New connection: EvlcSHwqIFKssTJ6AAAJ","timestamp":"2025-10-05T09:37:23.981Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:37:24.206Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:37:24.322Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:37:24.363Z"} {"level":"info","message":"New connection: xYMJTc0LnUrdPKPEAAAL","timestamp":"2025-10-05T09:37:24.679Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T09:37:24.685Z"} {"level":"info","message":"New connection: p68jLd4hi_QZK44KAAAN","timestamp":"2025-10-05T09:37:25.720Z"} {"level":"info","message":"Operator registered: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:37:25.722Z"} {"level":"info","message":"New connection: Q8QtQPfSHNj0K2QbAAAP","timestamp":"2025-10-05T09:37:25.863Z"} {"level":"info","message":"New connection: n58J9twMc2HgKRUyAAAR","timestamp":"2025-10-05T09:37:26.099Z"} {"level":"info","message":"Operator registered: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:37:26.102Z"} {"level":"info","message":"Camera request: operator 171bb08e-e920-45de-b490-482b5a365376 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T09:37:32.843Z"} {"level":"info","message":"Camera request: operator 171bb08e-e920-45de-b490-482b5a365376 -> device demo-device-001","timestamp":"2025-10-05T09:37:46.089Z"} {"level":"info","message":"Camera stream started: session 5fd3fedf-9942-4aa4-a4d0-63a98c15284b","timestamp":"2025-10-05T09:37:47.092Z"} {"level":"info","message":"Received camera:switch from p68jLd4hi_QZK44KAAAN: {\"sessionId\":\"5fd3fedf-9942-4aa4-a4d0-63a98c15284b\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T09:37:55.969Z"} {"level":"info","message":"Session found: 5fd3fedf-9942-4aa4-a4d0-63a98c15284b, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:37:55.969Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:37:55.970Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:37:55.970Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:37:55.970Z"} {"level":"info","message":"Received camera:switch from p68jLd4hi_QZK44KAAAN: {\"sessionId\":\"5fd3fedf-9942-4aa4-a4d0-63a98c15284b\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T09:37:57.065Z"} {"level":"info","message":"Session found: 5fd3fedf-9942-4aa4-a4d0-63a98c15284b, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:37:57.066Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:37:57.067Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:37:57.067Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:37:57.067Z"} {"level":"info","message":"Received camera:switch from p68jLd4hi_QZK44KAAAN: {\"sessionId\":\"5fd3fedf-9942-4aa4-a4d0-63a98c15284b\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T09:37:58.530Z"} {"level":"info","message":"Session found: 5fd3fedf-9942-4aa4-a4d0-63a98c15284b, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:37:58.530Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:37:58.530Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:37:58.530Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:37:58.530Z"} {"level":"info","message":"Received camera:switch from p68jLd4hi_QZK44KAAAN: {\"sessionId\":\"5fd3fedf-9942-4aa4-a4d0-63a98c15284b\",\"cameraType\":\"telephoto\"}","timestamp":"2025-10-05T09:37:59.017Z"} {"level":"info","message":"Session found: 5fd3fedf-9942-4aa4-a4d0-63a98c15284b, device: demo-device-001, operator: 171bb08e-e920-45de-b490-482b5a365376","timestamp":"2025-10-05T09:37:59.018Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T09:37:59.018Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T09:37:59.018Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T09:37:59.018Z"} {"level":"info","message":"Client disconnected: p68jLd4hi_QZK44KAAAN, reason: client namespace disconnect","timestamp":"2025-10-05T09:38:06.817Z"} {"level":"info","message":"Client disconnected: n58J9twMc2HgKRUyAAAR, reason: transport close","timestamp":"2025-10-05T09:38:12.115Z"} {"level":"info","message":"New connection: IN7OYRP0tXgmI20aAAAT","timestamp":"2025-10-05T09:38:18.668Z"} {"level":"info","message":"Operator registered: f3a8a420-bbc2-43da-84a9-f275e2f317ba","timestamp":"2025-10-05T09:38:18.671Z"} {"level":"info","message":"Client disconnected: 8TcJ-jz4XXV7iuARAAAD, reason: client namespace disconnect","timestamp":"2025-10-05T09:49:05.312Z"} {"level":"info","message":"Client disconnected: Q8QtQPfSHNj0K2QbAAAP, reason: transport close","timestamp":"2025-10-05T09:49:41.712Z"} {"level":"info","message":"Client disconnected: xYMJTc0LnUrdPKPEAAAL, reason: transport close","timestamp":"2025-10-05T09:49:41.715Z"} {"level":"info","message":"Client disconnected: IN7OYRP0tXgmI20aAAAT, reason: transport close","timestamp":"2025-10-05T09:55:01.167Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T10:16:31.966Z"} {"level":"info","message":"New connection: Gq3ocr0YenZLQsBLAAAB","timestamp":"2025-10-05T10:16:42.452Z"} {"level":"info","message":"Operator registered: 271743e2-3eb5-42b8-830d-acdd533117ce","timestamp":"2025-10-05T10:16:42.454Z"} {"level":"info","message":"New connection: oAwBRVaZEBqYG5ndAAAE","timestamp":"2025-10-05T10:27:22.124Z"} {"level":"info","message":"New connection: S3P-MRYxHoAw7y9-AAAF","timestamp":"2025-10-05T10:27:22.261Z"} {"level":"info","message":"New connection: e89lIwydsAMVJtGNAAAH","timestamp":"2025-10-05T10:27:26.787Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:27:29.327Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:27:29.575Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:27:29.952Z"} {"level":"info","message":"Client disconnected: Gq3ocr0YenZLQsBLAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T10:27:34.924Z"} {"level":"info","message":"New connection: 6lYIUVeZ2yyOilUNAAAJ","timestamp":"2025-10-05T10:27:39.663Z"} {"level":"info","message":"Operator registered: 271743e2-3eb5-42b8-830d-acdd533117ce","timestamp":"2025-10-05T10:27:39.664Z"} {"level":"info","message":"Client disconnected: 6lYIUVeZ2yyOilUNAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T10:27:45.772Z"} {"level":"info","message":"Client disconnected: S3P-MRYxHoAw7y9-AAAF, reason: client namespace disconnect","timestamp":"2025-10-05T10:27:47.418Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-05T10:27:52.005Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-05T10:27:52.460Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T10:28:04.624Z"} {"level":"info","message":"New connection: yWPfQ47TC8rCTfAlAAAC","timestamp":"2025-10-05T10:28:05.239Z"} {"level":"info","message":"New connection: pOWDcbNm6k_F5vBKAAAD","timestamp":"2025-10-05T10:28:05.294Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:28:06.229Z"} {"level":"info","message":"New connection: bYUboBqw5Qf-Tl24AAAF","timestamp":"2025-10-05T10:28:10.619Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:28:10.901Z"} {"level":"info","message":"New connection: UGDuPHTlWCgXmDydAAAH","timestamp":"2025-10-05T10:28:18.088Z"} {"level":"info","message":"Operator registered: 271743e2-3eb5-42b8-830d-acdd533117ce","timestamp":"2025-10-05T10:28:18.089Z"} {"level":"info","message":"Client disconnected: UGDuPHTlWCgXmDydAAAH, reason: client namespace disconnect","timestamp":"2025-10-05T10:28:20.373Z"} {"level":"info","message":"New connection: 801cWEjwDd0_No-0AAAJ","timestamp":"2025-10-05T10:28:49.696Z"} {"level":"info","message":"Operator registered: 271743e2-3eb5-42b8-830d-acdd533117ce","timestamp":"2025-10-05T10:28:49.697Z"} {"level":"info","message":"Camera request: operator 271743e2-3eb5-42b8-830d-acdd533117ce -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:28:54.814Z"} {"level":"info","message":"Client disconnected: bYUboBqw5Qf-Tl24AAAF, reason: client namespace disconnect","timestamp":"2025-10-05T10:29:34.007Z"} {"level":"info","message":"Client disconnected: 801cWEjwDd0_No-0AAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T10:29:41.309Z"} {"level":"info","message":"New connection: WHcl1M7n9m6Z6aU5AAAL","timestamp":"2025-10-05T10:29:43.137Z"} {"level":"info","message":"Operator registered: 271743e2-3eb5-42b8-830d-acdd533117ce","timestamp":"2025-10-05T10:29:43.139Z"} {"level":"info","message":"New connection: huZgNKL6h0yZfE-AAAAN","timestamp":"2025-10-05T10:29:49.913Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:29:50.142Z"} {"level":"info","message":"Client disconnected: WHcl1M7n9m6Z6aU5AAAL, reason: client namespace disconnect","timestamp":"2025-10-05T10:29:52.845Z"} {"level":"info","message":"New connection: bTlTGIhl3QlaVkVJAAAP","timestamp":"2025-10-05T10:29:54.424Z"} {"level":"info","message":"Operator registered: 271743e2-3eb5-42b8-830d-acdd533117ce","timestamp":"2025-10-05T10:29:54.425Z"} {"level":"info","message":"Camera request: operator 271743e2-3eb5-42b8-830d-acdd533117ce -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:29:57.319Z"} {"level":"info","message":"Client disconnected: huZgNKL6h0yZfE-AAAAN, reason: transport close","timestamp":"2025-10-05T10:33:26.682Z"} {"level":"info","message":"Client disconnected: yWPfQ47TC8rCTfAlAAAC, reason: transport close","timestamp":"2025-10-05T10:33:26.683Z"} {"level":"info","message":"Client disconnected: pOWDcbNm6k_F5vBKAAAD, reason: transport close","timestamp":"2025-10-05T10:33:26.683Z"} {"level":"info","message":"Client disconnected: bTlTGIhl3QlaVkVJAAAP, reason: client namespace disconnect","timestamp":"2025-10-05T10:33:51.474Z"} {"level":"info","message":"New connection: A4TZI7vMf9BzAFUwAAAS","timestamp":"2025-10-05T10:33:53.315Z"} {"level":"info","message":"New connection: 806belFJEKcW8a3TAAAT","timestamp":"2025-10-05T10:33:53.416Z"} {"level":"info","message":"New connection: 5lQ5k3RFmNwoCq7cAAAV","timestamp":"2025-10-05T10:33:57.613Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:33:59.097Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:33:59.195Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:33:59.564Z"} {"level":"info","message":"New connection: zt46OCkj0_09QUI3AAAX","timestamp":"2025-10-05T10:34:02.998Z"} {"level":"info","message":"Operator registered: 708e61ba-eaff-4411-8ec7-8d21dd1eb479","timestamp":"2025-10-05T10:34:03.000Z"} {"level":"info","message":"Camera request: operator 708e61ba-eaff-4411-8ec7-8d21dd1eb479 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:34:16.922Z"} {"level":"info","message":"Client disconnected: A4TZI7vMf9BzAFUwAAAS, reason: client namespace disconnect","timestamp":"2025-10-05T10:34:28.012Z"} {"level":"info","message":"New connection: 7VrV9oNCxm7H_bLUAAAZ","timestamp":"2025-10-05T10:34:30.927Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:34:31.562Z"} {"level":"info","message":"Client disconnected: zt46OCkj0_09QUI3AAAX, reason: client namespace disconnect","timestamp":"2025-10-05T10:34:33.346Z"} {"level":"info","message":"New connection: tumaecVMqBrUi4_XAAAb","timestamp":"2025-10-05T10:34:34.997Z"} {"level":"info","message":"Operator registered: 708e61ba-eaff-4411-8ec7-8d21dd1eb479","timestamp":"2025-10-05T10:34:34.998Z"} {"level":"info","message":"Camera request: operator 708e61ba-eaff-4411-8ec7-8d21dd1eb479 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:34:38.562Z"} {"level":"info","message":"New connection: wL7LfdBZrIquMfnZAAAd","timestamp":"2025-10-05T10:35:10.384Z"} {"level":"info","message":"Client disconnected: 7VrV9oNCxm7H_bLUAAAZ, reason: transport close","timestamp":"2025-10-05T10:37:56.041Z"} {"level":"info","message":"Client disconnected: 806belFJEKcW8a3TAAAT, reason: transport close","timestamp":"2025-10-05T10:37:56.041Z"} {"level":"info","message":"Client disconnected: 5lQ5k3RFmNwoCq7cAAAV, reason: transport close","timestamp":"2025-10-05T10:37:56.045Z"} {"level":"info","message":"Client disconnected: tumaecVMqBrUi4_XAAAb, reason: client namespace disconnect","timestamp":"2025-10-05T10:41:49.272Z"} {"level":"info","message":"New connection: t2mATjU6u3UL9xgNAAAg","timestamp":"2025-10-05T10:41:49.905Z"} {"level":"info","message":"New connection: STHqzMCNGLWQShhKAAAh","timestamp":"2025-10-05T10:41:49.988Z"} {"level":"info","message":"New connection: RhWLEf0aZSDNxG2uAAAj","timestamp":"2025-10-05T10:41:52.346Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:41:53.478Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:41:53.598Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:41:53.618Z"} {"level":"info","message":"New connection: tj2S35JtG1oqLtjcAAAl","timestamp":"2025-10-05T10:41:57.535Z"} {"level":"info","message":"Operator registered: f4191238-d4cd-4c7f-9542-16b7b2156ede","timestamp":"2025-10-05T10:41:57.537Z"} {"level":"info","message":"Camera request: operator f4191238-d4cd-4c7f-9542-16b7b2156ede -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:42:02.497Z"} {"level":"info","message":"Client disconnected: STHqzMCNGLWQShhKAAAh, reason: client namespace disconnect","timestamp":"2025-10-05T10:42:10.988Z"} {"level":"info","message":"New connection: ez2hWuGSIDmdCKCNAAAn","timestamp":"2025-10-05T10:42:12.606Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:42:12.973Z"} {"level":"info","message":"Client disconnected: tj2S35JtG1oqLtjcAAAl, reason: client namespace disconnect","timestamp":"2025-10-05T10:42:15.008Z"} {"level":"info","message":"New connection: N4PosZSChz5MSMvLAAAp","timestamp":"2025-10-05T10:42:17.411Z"} {"level":"info","message":"Operator registered: f4191238-d4cd-4c7f-9542-16b7b2156ede","timestamp":"2025-10-05T10:42:17.412Z"} {"level":"info","message":"Camera request: operator f4191238-d4cd-4c7f-9542-16b7b2156ede -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:42:20.176Z"} {"level":"info","message":"Client disconnected: wL7LfdBZrIquMfnZAAAd, reason: transport close","timestamp":"2025-10-05T10:43:14.011Z"} {"level":"info","message":"New connection: 5xU31-X6egHqV3vIAAAr","timestamp":"2025-10-05T10:43:14.071Z"} {"level":"info","message":"Client disconnected: 5xU31-X6egHqV3vIAAAr, reason: transport close","timestamp":"2025-10-05T10:43:19.027Z"} {"level":"info","message":"New connection: PzrudnhKf7WWmZJaAAAt","timestamp":"2025-10-05T10:43:19.083Z"} {"level":"info","message":"Client disconnected: PzrudnhKf7WWmZJaAAAt, reason: transport close","timestamp":"2025-10-05T10:43:20.326Z"} {"level":"info","message":"New connection: m6lHj3_ycyrERXMQAAAv","timestamp":"2025-10-05T10:43:20.380Z"} {"level":"info","message":"New connection: TFL1lgLe2dceqJjvAAAx","timestamp":"2025-10-05T10:43:22.645Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T10:43:22.649Z"} {"level":"info","message":"Client disconnected: N4PosZSChz5MSMvLAAAp, reason: client namespace disconnect","timestamp":"2025-10-05T10:43:30.680Z"} {"level":"info","message":"New connection: VVSVbFubIQUzAIKYAAAz","timestamp":"2025-10-05T10:43:32.204Z"} {"level":"info","message":"Operator registered: f4191238-d4cd-4c7f-9542-16b7b2156ede","timestamp":"2025-10-05T10:43:32.207Z"} {"level":"info","message":"Camera request: operator f4191238-d4cd-4c7f-9542-16b7b2156ede -> device demo-device-001","timestamp":"2025-10-05T10:43:35.840Z"} {"level":"info","message":"Camera stream started: session 0d3d5f2c-9b60-414f-a234-1e0d91f4d3e9","timestamp":"2025-10-05T10:43:36.843Z"} {"level":"info","message":"Received camera:switch from VVSVbFubIQUzAIKYAAAz: {\"sessionId\":\"0d3d5f2c-9b60-414f-a234-1e0d91f4d3e9\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T10:43:43.296Z"} {"level":"info","message":"Session found: 0d3d5f2c-9b60-414f-a234-1e0d91f4d3e9, device: demo-device-001, operator: f4191238-d4cd-4c7f-9542-16b7b2156ede","timestamp":"2025-10-05T10:43:43.296Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T10:43:43.296Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T10:43:43.296Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T10:43:43.296Z"} {"level":"info","message":"Received camera:switch from VVSVbFubIQUzAIKYAAAz: {\"sessionId\":\"0d3d5f2c-9b60-414f-a234-1e0d91f4d3e9\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T10:43:44.096Z"} {"level":"info","message":"Session found: 0d3d5f2c-9b60-414f-a234-1e0d91f4d3e9, device: demo-device-001, operator: f4191238-d4cd-4c7f-9542-16b7b2156ede","timestamp":"2025-10-05T10:43:44.097Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T10:43:44.097Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T10:43:44.097Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T10:43:44.097Z"} {"level":"info","message":"Received camera:switch from VVSVbFubIQUzAIKYAAAz: {\"sessionId\":\"0d3d5f2c-9b60-414f-a234-1e0d91f4d3e9\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T10:43:45.353Z"} {"level":"info","message":"Session found: 0d3d5f2c-9b60-414f-a234-1e0d91f4d3e9, device: demo-device-001, operator: f4191238-d4cd-4c7f-9542-16b7b2156ede","timestamp":"2025-10-05T10:43:45.353Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T10:43:45.353Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T10:43:45.354Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T10:43:45.354Z"} {"level":"info","message":"Client disconnected: t2mATjU6u3UL9xgNAAAg, reason: transport close","timestamp":"2025-10-05T10:47:41.221Z"} {"level":"info","message":"Client disconnected: ez2hWuGSIDmdCKCNAAAn, reason: transport close","timestamp":"2025-10-05T10:47:41.221Z"} {"level":"info","message":"Client disconnected: RhWLEf0aZSDNxG2uAAAj, reason: transport close","timestamp":"2025-10-05T10:47:41.224Z"} {"level":"info","message":"Client disconnected: VVSVbFubIQUzAIKYAAAz, reason: client namespace disconnect","timestamp":"2025-10-05T10:47:47.712Z"} {"level":"info","message":"New connection: ISxHEEmSgom6gsgDAAA2","timestamp":"2025-10-05T10:47:55.059Z"} {"level":"info","message":"New connection: XEdWt-wpDZeIG7MEAAA3","timestamp":"2025-10-05T10:47:55.191Z"} {"level":"info","message":"New connection: ORGukx3C3uLAGSFLAAA5","timestamp":"2025-10-05T10:47:58.660Z"} {"level":"info","message":"New connection: OkcKOVcOIyQ9Z8tCAAA7","timestamp":"2025-10-05T10:47:59.069Z"} {"level":"info","message":"Operator registered: ce45d175-66c9-4b4a-95dd-15ee5c904cd1","timestamp":"2025-10-05T10:47:59.071Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:00.257Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:00.382Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:00.397Z"} {"level":"info","message":"Client disconnected: XEdWt-wpDZeIG7MEAAA3, reason: transport close","timestamp":"2025-10-05T10:48:03.429Z"} {"level":"info","message":"Client disconnected: ISxHEEmSgom6gsgDAAA2, reason: transport close","timestamp":"2025-10-05T10:48:03.429Z"} {"level":"info","message":"Client disconnected: ORGukx3C3uLAGSFLAAA5, reason: transport close","timestamp":"2025-10-05T10:48:03.430Z"} {"level":"info","message":"Client disconnected: OkcKOVcOIyQ9Z8tCAAA7, reason: client namespace disconnect","timestamp":"2025-10-05T10:48:10.119Z"} {"level":"info","message":"New connection: mfaNogNgzGhahMovAAA-","timestamp":"2025-10-05T10:48:16.214Z"} {"level":"info","message":"New connection: REs79PxAJRL5MviwAAA_","timestamp":"2025-10-05T10:48:16.414Z"} {"level":"info","message":"New connection: wtVPD0HN__BIhbuxAABB","timestamp":"2025-10-05T10:48:20.349Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:22.305Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:22.514Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:22.764Z"} {"level":"info","message":"New connection: tivA32thLK-2sejBAABD","timestamp":"2025-10-05T10:48:28.932Z"} {"level":"info","message":"Operator registered: ce45d175-66c9-4b4a-95dd-15ee5c904cd1","timestamp":"2025-10-05T10:48:28.933Z"} {"level":"info","message":"Camera request: operator ce45d175-66c9-4b4a-95dd-15ee5c904cd1 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:32.576Z"} {"level":"info","message":"Client disconnected: tivA32thLK-2sejBAABD, reason: client namespace disconnect","timestamp":"2025-10-05T10:48:49.319Z"} {"level":"info","message":"Client disconnected: REs79PxAJRL5MviwAAA_, reason: client namespace disconnect","timestamp":"2025-10-05T10:48:50.798Z"} {"level":"info","message":"New connection: AoQRm3MJAjuzlTj9AABF","timestamp":"2025-10-05T10:48:51.860Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:52.666Z"} {"level":"info","message":"Client disconnected: AoQRm3MJAjuzlTj9AABF, reason: client namespace disconnect","timestamp":"2025-10-05T10:48:53.724Z"} {"level":"info","message":"New connection: ENgWCR7GOVFKhyRAAABH","timestamp":"2025-10-05T10:48:58.445Z"} {"level":"info","message":"New connection: LYCd9m5E7-TrkDQLAABJ","timestamp":"2025-10-05T10:48:59.077Z"} {"level":"info","message":"Operator registered: ce45d175-66c9-4b4a-95dd-15ee5c904cd1","timestamp":"2025-10-05T10:48:59.078Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:48:59.126Z"} {"level":"info","message":"Client disconnected: LYCd9m5E7-TrkDQLAABJ, reason: client namespace disconnect","timestamp":"2025-10-05T10:49:04.217Z"} {"level":"info","message":"New connection: O8OvvAToABtPBQ1DAABL","timestamp":"2025-10-05T10:49:05.826Z"} {"level":"info","message":"Operator registered: ce45d175-66c9-4b4a-95dd-15ee5c904cd1","timestamp":"2025-10-05T10:49:05.827Z"} {"level":"info","message":"Camera request: operator ce45d175-66c9-4b4a-95dd-15ee5c904cd1 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:49:08.944Z"} {"level":"info","message":"Client disconnected: ENgWCR7GOVFKhyRAAABH, reason: transport close","timestamp":"2025-10-05T10:53:04.626Z"} {"level":"info","message":"Client disconnected: mfaNogNgzGhahMovAAA-, reason: transport close","timestamp":"2025-10-05T10:53:04.629Z"} {"level":"info","message":"Client disconnected: wtVPD0HN__BIhbuxAABB, reason: transport close","timestamp":"2025-10-05T10:53:04.630Z"} {"level":"info","message":"Client disconnected: O8OvvAToABtPBQ1DAABL, reason: transport close","timestamp":"2025-10-05T10:53:07.045Z"} {"level":"info","message":"New connection: dJzUbtpWij7nxPICAABN","timestamp":"2025-10-05T10:53:11.940Z"} {"level":"info","message":"Operator registered: b682a8c5-6cfa-40b7-9ba1-51048070aede","timestamp":"2025-10-05T10:53:11.943Z"} {"level":"info","message":"Client disconnected: dJzUbtpWij7nxPICAABN, reason: client namespace disconnect","timestamp":"2025-10-05T10:53:27.487Z"} {"level":"info","message":"New connection: T-kfNC1CWa94oSngAABQ","timestamp":"2025-10-05T10:53:49.617Z"} {"level":"info","message":"New connection: NivGN7sjULMeQrSuAABR","timestamp":"2025-10-05T10:53:49.754Z"} {"level":"info","message":"New connection: xRK8Vp9JphymnSfzAABT","timestamp":"2025-10-05T10:53:53.942Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:53:56.151Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:53:56.266Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:53:56.333Z"} {"level":"info","message":"New connection: SeXIK39e1d27BdIZAABV","timestamp":"2025-10-05T10:53:58.848Z"} {"level":"info","message":"Operator registered: b682a8c5-6cfa-40b7-9ba1-51048070aede","timestamp":"2025-10-05T10:53:58.849Z"} {"level":"info","message":"Camera request: operator b682a8c5-6cfa-40b7-9ba1-51048070aede -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:54:02.032Z"} {"level":"info","message":"Client disconnected: SeXIK39e1d27BdIZAABV, reason: client namespace disconnect","timestamp":"2025-10-05T10:54:09.720Z"} {"level":"info","message":"Client disconnected: NivGN7sjULMeQrSuAABR, reason: client namespace disconnect","timestamp":"2025-10-05T10:54:18.433Z"} {"level":"info","message":"New connection: 1wnwMM4lca-gqoMwAABX","timestamp":"2025-10-05T10:54:20.343Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:54:20.753Z"} {"level":"info","message":"New connection: CkpfsyUIKhNEGwz0AABZ","timestamp":"2025-10-05T10:54:24.182Z"} {"level":"info","message":"Operator registered: b682a8c5-6cfa-40b7-9ba1-51048070aede","timestamp":"2025-10-05T10:54:24.183Z"} {"level":"info","message":"Camera request: operator b682a8c5-6cfa-40b7-9ba1-51048070aede -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:54:28.169Z"} {"level":"info","message":"Client disconnected: 1wnwMM4lca-gqoMwAABX, reason: transport close","timestamp":"2025-10-05T10:58:18.397Z"} {"level":"info","message":"Client disconnected: T-kfNC1CWa94oSngAABQ, reason: transport close","timestamp":"2025-10-05T10:58:18.398Z"} {"level":"info","message":"Client disconnected: xRK8Vp9JphymnSfzAABT, reason: transport close","timestamp":"2025-10-05T10:58:18.398Z"} {"level":"info","message":"Client disconnected: CkpfsyUIKhNEGwz0AABZ, reason: client namespace disconnect","timestamp":"2025-10-05T10:58:45.928Z"} {"level":"info","message":"New connection: ne3HqseuXIkeinZQAABc","timestamp":"2025-10-05T10:58:50.950Z"} {"level":"info","message":"New connection: tHcyz5uSdAP0KaG2AABd","timestamp":"2025-10-05T10:58:51.079Z"} {"level":"info","message":"New connection: 5c5M1iNJlYJ_1Vp-AABf","timestamp":"2025-10-05T10:58:54.949Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:58:56.854Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:58:57.050Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:58:57.070Z"} {"level":"info","message":"New connection: 4cJF8R6Fy45v3_aBAABh","timestamp":"2025-10-05T10:58:59.547Z"} {"level":"info","message":"Operator registered: b682a8c5-6cfa-40b7-9ba1-51048070aede","timestamp":"2025-10-05T10:58:59.549Z"} {"level":"info","message":"Camera request: operator b682a8c5-6cfa-40b7-9ba1-51048070aede -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T10:59:03.002Z"} {"level":"info","message":"Client disconnected: ne3HqseuXIkeinZQAABc, reason: transport close","timestamp":"2025-10-05T11:02:28.668Z"} {"level":"info","message":"Client disconnected: 5c5M1iNJlYJ_1Vp-AABf, reason: transport close","timestamp":"2025-10-05T11:02:28.668Z"} {"level":"info","message":"Client disconnected: tHcyz5uSdAP0KaG2AABd, reason: transport close","timestamp":"2025-10-05T11:02:28.668Z"} {"level":"info","message":"Client disconnected: 4cJF8R6Fy45v3_aBAABh, reason: transport close","timestamp":"2025-10-05T11:02:33.942Z"} {"level":"info","message":"New connection: j9Je49B4HV0XvWCjAABj","timestamp":"2025-10-05T11:02:39.023Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T11:02:39.026Z"} {"level":"info","message":"New connection: a9EMk8N4aPl5TatSAABm","timestamp":"2025-10-05T11:02:57.677Z"} {"level":"info","message":"New connection: wGmJOUCxkP6vmSKnAABn","timestamp":"2025-10-05T11:02:57.705Z"} {"level":"info","message":"New connection: 54QR7uPQ_fOvVNYwAABp","timestamp":"2025-10-05T11:03:02.032Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:03:03.860Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:03:04.244Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:03:04.249Z"} {"level":"info","message":"Client disconnected: j9Je49B4HV0XvWCjAABj, reason: client namespace disconnect","timestamp":"2025-10-05T11:03:10.545Z"} {"level":"info","message":"New connection: mbUASckqRyjb95qRAABr","timestamp":"2025-10-05T11:03:12.572Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T11:03:12.574Z"} {"level":"info","message":"Camera request: operator 938e432e-e145-4cc6-9eda-c102d2a0aa4a -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:03:16.457Z"} {"level":"info","message":"Client disconnected: wGmJOUCxkP6vmSKnAABn, reason: client namespace disconnect","timestamp":"2025-10-05T11:03:41.096Z"} {"level":"info","message":"Client disconnected: mbUASckqRyjb95qRAABr, reason: client namespace disconnect","timestamp":"2025-10-05T11:03:41.937Z"} {"level":"info","message":"New connection: J9zVSz07ocTb3oBkAABt","timestamp":"2025-10-05T11:03:43.678Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:03:44.184Z"} {"level":"info","message":"New connection: xUDpYC-jSWGBxDR4AABv","timestamp":"2025-10-05T11:03:47.149Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T11:03:47.150Z"} {"level":"info","message":"Camera request: operator 938e432e-e145-4cc6-9eda-c102d2a0aa4a -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:03:51.090Z"} {"level":"info","message":"Client disconnected: J9zVSz07ocTb3oBkAABt, reason: transport close","timestamp":"2025-10-05T11:04:40.660Z"} {"level":"info","message":"Client disconnected: a9EMk8N4aPl5TatSAABm, reason: transport close","timestamp":"2025-10-05T11:04:40.660Z"} {"level":"info","message":"Client disconnected: 54QR7uPQ_fOvVNYwAABp, reason: transport close","timestamp":"2025-10-05T11:04:40.660Z"} {"level":"info","message":"New connection: jzYIYq-ZfShQ-T-rAABy","timestamp":"2025-10-05T11:05:25.644Z"} {"level":"info","message":"New connection: RP0yFLmaFlnV2S1WAABz","timestamp":"2025-10-05T11:05:25.754Z"} {"level":"info","message":"New connection: x2TsHIk7jusfjQvjAAB1","timestamp":"2025-10-05T11:05:30.724Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:05:32.505Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:05:32.676Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:05:32.885Z"} {"level":"info","message":"Client disconnected: xUDpYC-jSWGBxDR4AABv, reason: client namespace disconnect","timestamp":"2025-10-05T11:05:42.185Z"} {"level":"info","message":"New connection: -WHH7wUU3XOXpMbXAAB3","timestamp":"2025-10-05T11:05:43.903Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T11:05:43.904Z"} {"level":"info","message":"Camera request: operator 938e432e-e145-4cc6-9eda-c102d2a0aa4a -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:05:47.490Z"} {"level":"info","message":"Client disconnected: RP0yFLmaFlnV2S1WAABz, reason: client namespace disconnect","timestamp":"2025-10-05T11:05:58.090Z"} {"level":"info","message":"Client disconnected: -WHH7wUU3XOXpMbXAAB3, reason: client namespace disconnect","timestamp":"2025-10-05T11:05:58.978Z"} {"level":"info","message":"New connection: bxBd3WF7DaeKi1jiAAB5","timestamp":"2025-10-05T11:06:01.536Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T11:06:01.537Z"} {"level":"info","message":"New connection: 2JBF0VPkaFTUICsbAAB7","timestamp":"2025-10-05T11:06:03.291Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:06:03.814Z"} {"level":"info","message":"Client disconnected: bxBd3WF7DaeKi1jiAAB5, reason: client namespace disconnect","timestamp":"2025-10-05T11:06:06.378Z"} {"level":"info","message":"New connection: mA1xxhIXggS8NR7GAAB9","timestamp":"2025-10-05T11:06:07.937Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T11:06:07.938Z"} {"level":"info","message":"Camera request: operator 938e432e-e145-4cc6-9eda-c102d2a0aa4a -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T11:06:10.907Z"} {"level":"info","message":"Client disconnected: TFL1lgLe2dceqJjvAAAx, reason: client namespace disconnect","timestamp":"2025-10-05T12:05:21.379Z"} {"level":"info","message":"Client disconnected: mA1xxhIXggS8NR7GAAB9, reason: client namespace disconnect","timestamp":"2025-10-05T12:05:25.107Z"} {"level":"info","message":"New connection: 6Rkt5d84sHOEH6sQAAB_","timestamp":"2025-10-05T12:05:27.188Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T12:05:27.189Z"} {"level":"info","message":"Client disconnected: 2JBF0VPkaFTUICsbAAB7, reason: transport close","timestamp":"2025-10-05T12:59:18.779Z"} {"level":"info","message":"Client disconnected: jzYIYq-ZfShQ-T-rAABy, reason: transport close","timestamp":"2025-10-05T12:59:18.780Z"} {"level":"info","message":"Client disconnected: x2TsHIk7jusfjQvjAAB1, reason: transport close","timestamp":"2025-10-05T12:59:18.780Z"} {"level":"info","message":"Client disconnected: m6lHj3_ycyrERXMQAAAv, reason: transport close","timestamp":"2025-10-05T12:59:19.172Z"} {"level":"info","message":"Client disconnected: 6Rkt5d84sHOEH6sQAAB_, reason: client namespace disconnect","timestamp":"2025-10-05T12:59:27.201Z"} {"level":"info","message":"New connection: 3GSfChCjk0y8tUzlAACC","timestamp":"2025-10-05T12:59:31.225Z"} {"level":"info","message":"New connection: -4Tv7grF_Mt2qG1_AACD","timestamp":"2025-10-05T12:59:31.282Z"} {"level":"info","message":"New connection: -nB5VvISM4FynCqSAACF","timestamp":"2025-10-05T12:59:34.033Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T12:59:35.306Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T12:59:35.402Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T12:59:35.704Z"} {"level":"info","message":"New connection: A4qlEQSoeGr5-d4qAACH","timestamp":"2025-10-05T12:59:39.369Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T12:59:39.371Z"} {"level":"info","message":"Camera request: operator 938e432e-e145-4cc6-9eda-c102d2a0aa4a -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T12:59:43.393Z"} {"level":"info","message":"Client disconnected: A4qlEQSoeGr5-d4qAACH, reason: client namespace disconnect","timestamp":"2025-10-05T12:59:53.752Z"} {"level":"info","message":"Client disconnected: -4Tv7grF_Mt2qG1_AACD, reason: client namespace disconnect","timestamp":"2025-10-05T12:59:55.856Z"} {"level":"info","message":"New connection: fWylGcbAM9K8jiAtAACJ","timestamp":"2025-10-05T12:59:57.971Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T12:59:58.475Z"} {"level":"info","message":"New connection: GHM2SRfcwNvAiJPSAACL","timestamp":"2025-10-05T13:00:00.923Z"} {"level":"info","message":"Operator registered: 938e432e-e145-4cc6-9eda-c102d2a0aa4a","timestamp":"2025-10-05T13:00:00.925Z"} {"level":"info","message":"Camera request: operator 938e432e-e145-4cc6-9eda-c102d2a0aa4a -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:00:04.368Z"} {"level":"info","message":"New connection: _WyZ4u6DWzidsQs9AACN","timestamp":"2025-10-05T13:03:05.267Z"} {"level":"info","message":"New connection: s1-Gt1pskwmXvPidAACP","timestamp":"2025-10-05T13:03:08.188Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T13:03:08.193Z"} {"level":"info","message":"New connection: KweLzX544On7MpZZAACR","timestamp":"2025-10-05T13:03:10.588Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-05T13:03:10.592Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 44ee6c7f-e754-4ae8-81ff-b607f7e4961d","operatorId":"demo-operator-001","timestamp":"2025-10-05T13:03:11.922Z"} {"level":"info","message":"Camera stream started: session 44ee6c7f-e754-4ae8-81ff-b607f7e4961d","timestamp":"2025-10-05T13:03:12.923Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-05T13:17:03.922Z"} {"level":"info","message":"Client disconnected: _WyZ4u6DWzidsQs9AACN, reason: transport close","timestamp":"2025-10-05T13:17:21.537Z"} {"level":"info","message":"Client disconnected: KweLzX544On7MpZZAACR, reason: transport close","timestamp":"2025-10-05T13:17:21.538Z"} {"level":"info","message":"Client disconnected: s1-Gt1pskwmXvPidAACP, reason: transport close","timestamp":"2025-10-05T13:17:21.538Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T13:17:35.927Z"} {"level":"info","message":"Client disconnected: 3GSfChCjk0y8tUzlAACC, reason: transport close","timestamp":"2025-10-05T13:17:50.468Z"} {"level":"info","message":"Client disconnected: fWylGcbAM9K8jiAtAACJ, reason: transport close","timestamp":"2025-10-05T13:17:50.468Z"} {"level":"info","message":"Client disconnected: -nB5VvISM4FynCqSAACF, reason: transport close","timestamp":"2025-10-05T13:17:50.469Z"} {"level":"info","message":"Client disconnected: GHM2SRfcwNvAiJPSAACL, reason: forced close","timestamp":"2025-10-05T13:18:00.251Z"} {"level":"info","message":"New connection: PPd90D4PFsL6CaAiAAAB","timestamp":"2025-10-05T13:18:22.758Z"} {"level":"info","message":"Operator registered: e1e13b82-da60-4097-9c2d-e01e25fac107","timestamp":"2025-10-05T13:18:22.761Z"} {"level":"info","message":"New connection: hcei4MDLgWKtSaM6AAAF","timestamp":"2025-10-05T13:18:30.687Z"} {"level":"info","message":"New connection: pj2SmzqHVf7z88uzAAAG","timestamp":"2025-10-05T13:18:30.892Z"} {"level":"info","message":"New connection: nmVf-uk121pimOFRAAAH","timestamp":"2025-10-05T13:18:31.037Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:18:36.626Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:18:36.862Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:18:36.975Z"} {"level":"info","message":"Client disconnected: PPd90D4PFsL6CaAiAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T13:18:41.338Z"} {"level":"info","message":"New connection: QWMSxj8H-ziJElDuAAAJ","timestamp":"2025-10-05T13:18:43.172Z"} {"level":"info","message":"Operator registered: e1e13b82-da60-4097-9c2d-e01e25fac107","timestamp":"2025-10-05T13:18:43.173Z"} {"level":"info","message":"Camera request: operator e1e13b82-da60-4097-9c2d-e01e25fac107 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:18:46.147Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T13:24:21.401Z"} {"level":"info","message":"New connection: 26288Q1ubVBMbwLSAAAB","timestamp":"2025-10-05T13:24:35.725Z"} {"level":"info","message":"Operator registered: 2eca7cce-0514-43fd-88db-34e691789e31","timestamp":"2025-10-05T13:24:35.728Z"} {"level":"info","message":"New connection: _lgiUO-CBk9v_qcuAAAE","timestamp":"2025-10-05T13:25:49.676Z"} {"level":"info","message":"New connection: S637OSzUsi7zLHLoAAAF","timestamp":"2025-10-05T13:25:49.818Z"} {"level":"info","message":"New connection: Ova0a3gh6bFSvCIZAAAH","timestamp":"2025-10-05T13:25:53.951Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:25:56.600Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:25:56.968Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:25:57.013Z"} {"level":"info","message":"Client disconnected: 26288Q1ubVBMbwLSAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T13:26:02.867Z"} {"level":"info","message":"New connection: dj_fFEsD2iJlAw_xAAAJ","timestamp":"2025-10-05T13:26:04.989Z"} {"level":"info","message":"Operator registered: 2eca7cce-0514-43fd-88db-34e691789e31","timestamp":"2025-10-05T13:26:04.990Z"} {"level":"info","message":"Camera request: operator 2eca7cce-0514-43fd-88db-34e691789e31 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:26:09.307Z"} {"level":"info","message":"Client disconnected: S637OSzUsi7zLHLoAAAF, reason: client namespace disconnect","timestamp":"2025-10-05T13:26:20.652Z"} {"level":"info","message":"Client disconnected: dj_fFEsD2iJlAw_xAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T13:26:21.625Z"} {"level":"info","message":"New connection: ymKvAi2GJyoOONNdAAAL","timestamp":"2025-10-05T13:26:24.308Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:26:24.954Z"} {"level":"info","message":"New connection: JIyun978fdIBVs4YAAAN","timestamp":"2025-10-05T13:26:27.454Z"} {"level":"info","message":"Operator registered: 2eca7cce-0514-43fd-88db-34e691789e31","timestamp":"2025-10-05T13:26:27.455Z"} {"level":"info","message":"Camera request: operator 2eca7cce-0514-43fd-88db-34e691789e31 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:26:29.547Z"} {"level":"info","message":"Client disconnected: JIyun978fdIBVs4YAAAN, reason: transport close","timestamp":"2025-10-05T13:28:24.517Z"} {"level":"info","message":"Client disconnected: Ova0a3gh6bFSvCIZAAAH, reason: transport close","timestamp":"2025-10-05T13:29:34.042Z"} {"level":"info","message":"Client disconnected: _lgiUO-CBk9v_qcuAAAE, reason: transport close","timestamp":"2025-10-05T13:29:34.075Z"} {"level":"info","message":"Client disconnected: ymKvAi2GJyoOONNdAAAL, reason: transport close","timestamp":"2025-10-05T13:29:34.076Z"} {"level":"info","message":"New connection: VmgSiKV8o3tZQXGzAAAQ","timestamp":"2025-10-05T13:30:13.856Z"} {"level":"info","message":"New connection: sglDjxIu8w63N3EPAAAR","timestamp":"2025-10-05T13:30:14.223Z"} {"level":"info","message":"New connection: E0l1hp_-G0Ltw2f5AAAT","timestamp":"2025-10-05T13:30:20.412Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:30:23.364Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:30:23.689Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:30:24.172Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-05T13:30:39.451Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T13:32:18.582Z"} {"level":"info","message":"New connection: ypbQ88H5Cwo5QhLOAAAB","timestamp":"2025-10-05T13:32:18.916Z"} {"level":"info","message":"Operator registered: 02a0cd0b-98a4-4b97-b263-1f286fa637bd","timestamp":"2025-10-05T13:32:18.919Z"} {"level":"info","message":"New connection: GIyG1CL0BHa7VqMhAAAE","timestamp":"2025-10-05T13:32:19.762Z"} {"level":"info","message":"New connection: vj8NuAmN9wW7YJiMAAAF","timestamp":"2025-10-05T13:32:19.830Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:32:19.994Z"} {"level":"info","message":"New connection: aoSK6TBlRDD-l_KWAAAH","timestamp":"2025-10-05T13:32:20.039Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:32:20.189Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:32:21.450Z"} {"level":"info","message":"Client disconnected: aoSK6TBlRDD-l_KWAAAH, reason: client namespace disconnect","timestamp":"2025-10-05T13:32:26.537Z"} {"level":"info","message":"New connection: 4qW0cxzX1zUYv9FsAAAJ","timestamp":"2025-10-05T13:32:28.125Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:32:28.485Z"} {"level":"info","message":"Client disconnected: ypbQ88H5Cwo5QhLOAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T13:32:32.753Z"} {"level":"info","message":"New connection: BW6yoTg753mIBAatAAAL","timestamp":"2025-10-05T13:32:34.301Z"} {"level":"info","message":"Operator registered: 02a0cd0b-98a4-4b97-b263-1f286fa637bd","timestamp":"2025-10-05T13:32:34.302Z"} {"level":"info","message":"Camera request: operator 02a0cd0b-98a4-4b97-b263-1f286fa637bd -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:32:36.971Z"} {"level":"info","message":"SIGTERM received, shutting down gracefully","timestamp":"2025-10-05T13:36:29.216Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T13:36:40.063Z"} {"level":"info","message":"Client disconnected: BW6yoTg753mIBAatAAAL, reason: transport close","timestamp":"2025-10-05T13:36:53.140Z"} {"level":"info","message":"New connection: lKcbMxTTHn9q5gUwAAAB","timestamp":"2025-10-05T13:36:56.883Z"} {"level":"info","message":"Operator registered: 68485f37-cee6-499a-92cc-c79213390cf9","timestamp":"2025-10-05T13:36:56.886Z"} {"level":"info","message":"Client disconnected: 4qW0cxzX1zUYv9FsAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T13:37:08.118Z"} {"level":"info","message":"Client disconnected: GIyG1CL0BHa7VqMhAAAE, reason: client namespace disconnect","timestamp":"2025-10-05T13:37:08.311Z"} {"level":"info","message":"New connection: oMVCAFW2hzAqurbmAAAE","timestamp":"2025-10-05T13:37:11.107Z"} {"level":"info","message":"New connection: Gi21gkNp5HObqwUWAAAF","timestamp":"2025-10-05T13:37:11.198Z"} {"level":"info","message":"New connection: MiZ4Tkl-2LvKvGPoAAAH","timestamp":"2025-10-05T13:37:11.828Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:37:11.994Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:37:12.137Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:37:12.389Z"} {"level":"info","message":"Client disconnected: lKcbMxTTHn9q5gUwAAAB, reason: client namespace disconnect","timestamp":"2025-10-05T13:37:16.474Z"} {"level":"info","message":"New connection: EC2-hI7LW-ovFmZLAAAJ","timestamp":"2025-10-05T13:37:18.324Z"} {"level":"info","message":"Operator registered: 68485f37-cee6-499a-92cc-c79213390cf9","timestamp":"2025-10-05T13:37:18.325Z"} {"level":"info","message":"Camera request: operator 68485f37-cee6-499a-92cc-c79213390cf9 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:37:21.162Z"} {"level":"info","message":"📱 Camera approved from MiZ4Tkl-2LvKvGPoAAAH: {\"sessionId\":\"d88fd56a-de13-429b-8c6e-ed1608315507\",\"operatorId\":\"68485f37-cee6-499a-92cc-c79213390cf9\",\"timestamp\":1759671440179}","timestamp":"2025-10-05T13:37:21.338Z"} {"level":"info","message":"✅ Camera approved: session d88fd56a-de13-429b-8c6e-ed1608315507","timestamp":"2025-10-05T13:37:21.339Z"} {"level":"info","message":"📱 Camera started from MiZ4Tkl-2LvKvGPoAAAH: {\"sessionId\":\"d88fd56a-de13-429b-8c6e-ed1608315507\",\"timestamp\":1759671440183}","timestamp":"2025-10-05T13:37:21.344Z"} {"level":"info","message":"✅ Camera stream started: session d88fd56a-de13-429b-8c6e-ed1608315507","timestamp":"2025-10-05T13:37:21.345Z"} {"level":"info","message":"Client disconnected: EC2-hI7LW-ovFmZLAAAJ, reason: transport close","timestamp":"2025-10-05T13:39:29.708Z"} {"level":"info","message":"New connection: AL6rWzJakqAbdumOAAAL","timestamp":"2025-10-05T13:39:35.652Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T13:39:35.658Z"} {"level":"info","message":"Client disconnected: oMVCAFW2hzAqurbmAAAE, reason: client namespace disconnect","timestamp":"2025-10-05T13:39:54.228Z"} {"level":"info","message":"Client disconnected: MiZ4Tkl-2LvKvGPoAAAH, reason: client namespace disconnect","timestamp":"2025-10-05T13:39:54.414Z"} {"level":"info","message":"Client disconnected: vj8NuAmN9wW7YJiMAAAF, reason: forced close","timestamp":"2025-10-05T13:40:03.787Z"} {"level":"info","message":"Client disconnected: Gi21gkNp5HObqwUWAAAF, reason: transport close","timestamp":"2025-10-05T13:40:03.787Z"} {"level":"info","message":"Client disconnected: AL6rWzJakqAbdumOAAAL, reason: client namespace disconnect","timestamp":"2025-10-05T13:40:29.577Z"} {"level":"info","message":"New connection: LIqt5IX5RWxZVY-fAAAO","timestamp":"2025-10-05T13:40:36.302Z"} {"level":"info","message":"New connection: vkUVSaWnozSBzRfyAAAP","timestamp":"2025-10-05T13:40:36.477Z"} {"level":"info","message":"New connection: Wuls8EC7MhCno_34AAAR","timestamp":"2025-10-05T13:40:40.962Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:40:42.910Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:40:43.223Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:40:43.287Z"} {"level":"info","message":"New connection: WWNtbIEoXyMlCWimAAAT","timestamp":"2025-10-05T13:40:47.516Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T13:40:47.517Z"} {"level":"info","message":"Camera request: operator 2e7bdf45-8ec2-4060-accf-20ad37cc4e37 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:40:50.913Z"} {"level":"info","message":"Client disconnected: vkUVSaWnozSBzRfyAAAP, reason: client namespace disconnect","timestamp":"2025-10-05T13:41:04.677Z"} {"level":"info","message":"New connection: YMnLsBD4YMqqF-EVAAAV","timestamp":"2025-10-05T13:41:06.098Z"} {"level":"info","message":"Client disconnected: WWNtbIEoXyMlCWimAAAT, reason: client namespace disconnect","timestamp":"2025-10-05T13:41:06.793Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:41:07.795Z"} {"level":"info","message":"Client disconnected: YMnLsBD4YMqqF-EVAAAV, reason: client namespace disconnect","timestamp":"2025-10-05T13:41:09.222Z"} {"level":"info","message":"New connection: x5q8_DfClEL4mohLAAAX","timestamp":"2025-10-05T13:41:14.028Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:41:15.155Z"} {"level":"info","message":"New connection: ZxzQmGsbfqCAPWX6AAAZ","timestamp":"2025-10-05T13:41:17.636Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T13:41:17.637Z"} {"level":"info","message":"Camera request: operator 2e7bdf45-8ec2-4060-accf-20ad37cc4e37 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:41:19.097Z"} {"level":"info","message":"Client disconnected: x5q8_DfClEL4mohLAAAX, reason: client namespace disconnect","timestamp":"2025-10-05T13:44:20.776Z"} {"level":"info","message":"New connection: rBQDo1MNzlHPl5hdAAAb","timestamp":"2025-10-05T13:59:10.951Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T13:59:12.723Z"} {"level":"info","message":"Client disconnected: rBQDo1MNzlHPl5hdAAAb, reason: transport close","timestamp":"2025-10-05T13:59:34.557Z"} {"level":"info","message":"Client disconnected: LIqt5IX5RWxZVY-fAAAO, reason: transport close","timestamp":"2025-10-05T13:59:34.558Z"} {"level":"info","message":"Client disconnected: Wuls8EC7MhCno_34AAAR, reason: transport close","timestamp":"2025-10-05T13:59:34.596Z"} {"level":"info","message":"New connection: F9UhCoewc8iQDbCWAAAd","timestamp":"2025-10-05T20:06:40.657Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T20:07:00.419Z"} {"level":"info","message":"New connection: Z9U56KzGAqYzSPhPAAAC","timestamp":"2025-10-05T20:07:03.406Z"} {"level":"info","message":"New connection: _1UukWtl6npfQG1_AAAD","timestamp":"2025-10-05T20:07:03.407Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:07:03.409Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:07:03.411Z"} {"level":"info","message":"Client disconnected: _1UukWtl6npfQG1_AAAD, reason: client namespace disconnect","timestamp":"2025-10-05T20:07:09.278Z"} {"level":"info","message":"New connection: oUPInd80NxeFESaHAAAF","timestamp":"2025-10-05T20:07:18.594Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:07:18.595Z"} {"level":"info","message":"Client disconnected: oUPInd80NxeFESaHAAAF, reason: client namespace disconnect","timestamp":"2025-10-05T20:07:24.632Z"} {"level":"info","message":"New connection: dyFzAgDPCCjUuteFAAAH","timestamp":"2025-10-05T20:07:27.131Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:07:27.136Z"} {"level":"info","message":"New connection: HB60gRsVAoEQ5QAlAAAK","timestamp":"2025-10-05T20:08:26.303Z"} {"level":"info","message":"New connection: XVN1z_5btJI-Vo29AAAL","timestamp":"2025-10-05T20:08:26.307Z"} {"level":"info","message":"New connection: Ngi7hwvCP79JWGKJAAAN","timestamp":"2025-10-05T20:08:26.599Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:08:26.635Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:08:26.645Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:08:26.653Z"} {"level":"info","message":"📱 Camera response from HB60gRsVAoEQ5QAlAAAK: {\"sessionId\":\"c355d6a9-1513-47ae-92b3-b9792bb8eeb8\",\"accepted\":true,\"streamUrl\":\"webrtc://c355d6a9-1513-47ae-92b3-b9792bb8eeb8\",\"timestamp\":1759694901122}","timestamp":"2025-10-05T20:08:32.753Z"} {"level":"warn","message":"❌ Session not found for camera:response: c355d6a9-1513-47ae-92b3-b9792bb8eeb8","timestamp":"2025-10-05T20:08:32.753Z"} {"level":"info","message":"New connection: 3ShF58Ug3HJdB8RKAAAP","timestamp":"2025-10-05T20:08:47.402Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:08:47.520Z"} {"level":"info","message":"Client disconnected: 3ShF58Ug3HJdB8RKAAAP, reason: client namespace disconnect","timestamp":"2025-10-05T20:08:51.838Z"} {"level":"info","message":"Client disconnected: Ngi7hwvCP79JWGKJAAAN, reason: transport close","timestamp":"2025-10-05T20:08:52.013Z"} {"level":"info","message":"Client disconnected: XVN1z_5btJI-Vo29AAAL, reason: transport close","timestamp":"2025-10-05T20:08:52.014Z"} {"level":"info","message":"Client disconnected: HB60gRsVAoEQ5QAlAAAK, reason: transport close","timestamp":"2025-10-05T20:08:52.015Z"} {"level":"info","message":"New connection: CU7-IjibKuTM3-QCAAAS","timestamp":"2025-10-05T20:08:56.276Z"} {"level":"info","message":"New connection: 5qkV-Er76lZ8HkBHAAAT","timestamp":"2025-10-05T20:08:56.281Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:08:56.733Z"} {"level":"info","message":"New connection: 7Uhkv-xdXq8-eAToAAAV","timestamp":"2025-10-05T20:08:56.742Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:08:56.747Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:08:57.041Z"} {"level":"info","message":"Client disconnected: dyFzAgDPCCjUuteFAAAH, reason: client namespace disconnect","timestamp":"2025-10-05T20:08:59.188Z"} {"level":"info","message":"New connection: iTK2Hw8PFwQDjloGAAAX","timestamp":"2025-10-05T20:09:01.023Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:09:01.024Z"} {"level":"info","message":"Camera request: operator 2e7bdf45-8ec2-4060-accf-20ad37cc4e37 -> device 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:09:05.638Z"} {"level":"info","message":"📱 Camera response from 7Uhkv-xdXq8-eAToAAAV: {\"sessionId\":\"35f088a7-5bc8-476a-bf26-b41fac62bf5a\",\"accepted\":true,\"streamUrl\":\"webrtc://35f088a7-5bc8-476a-bf26-b41fac62bf5a\",\"timestamp\":1759694934015}","timestamp":"2025-10-05T20:09:05.646Z"} {"level":"info","message":"✅ Camera stream accepted: session 35f088a7-5bc8-476a-bf26-b41fac62bf5a","timestamp":"2025-10-05T20:09:05.646Z"} {"level":"info","message":"Client disconnected: 5qkV-Er76lZ8HkBHAAAT, reason: client namespace disconnect","timestamp":"2025-10-05T20:09:16.015Z"} {"level":"info","message":"New connection: E31NHPWrEWJFOsxgAAAZ","timestamp":"2025-10-05T20:09:16.703Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:09:16.732Z"} {"level":"info","message":"Client disconnected: iTK2Hw8PFwQDjloGAAAX, reason: client namespace disconnect","timestamp":"2025-10-05T20:09:19.789Z"} {"level":"info","message":"New connection: 1GFLmNPBYgdCLyPyAAAb","timestamp":"2025-10-05T20:09:20.792Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:09:20.793Z"} {"level":"info","message":"Camera request: operator 2e7bdf45-8ec2-4060-accf-20ad37cc4e37 -> device 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:09:24.621Z"} {"level":"info","message":"📱 Camera response from E31NHPWrEWJFOsxgAAAZ: {\"sessionId\":\"a5c8435f-c6e4-4991-93fd-6b1521255013\",\"accepted\":true,\"streamUrl\":\"webrtc://a5c8435f-c6e4-4991-93fd-6b1521255013\",\"timestamp\":1759694952994}","timestamp":"2025-10-05T20:09:24.624Z"} {"level":"info","message":"✅ Camera stream accepted: session a5c8435f-c6e4-4991-93fd-6b1521255013","timestamp":"2025-10-05T20:09:24.624Z"} {"level":"info","message":"New connection: iGRpVbNMlB2kYcDgAAAd","timestamp":"2025-10-05T20:11:01.853Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:11:01.962Z"} {"level":"info","message":"New connection: R11nnFlUJsngQon4AAAg","timestamp":"2025-10-05T20:15:36.425Z"} {"level":"info","message":"New connection: 7jpq7nOOVEg-MjOFAAAh","timestamp":"2025-10-05T20:15:37.094Z"} {"level":"info","message":"New connection: ha8T3D5XH8dnywMdAAAj","timestamp":"2025-10-05T20:15:40.233Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:15:42.237Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:15:42.317Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:15:43.286Z"} {"level":"info","message":"Client disconnected: 1GFLmNPBYgdCLyPyAAAb, reason: client namespace disconnect","timestamp":"2025-10-05T20:15:53.292Z"} {"level":"info","message":"New connection: FdnvYImM7QUcd1F2AAAl","timestamp":"2025-10-05T20:15:54.127Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:15:54.128Z"} {"level":"info","message":"Camera request: operator 2e7bdf45-8ec2-4060-accf-20ad37cc4e37 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:16:00.836Z"} {"level":"info","message":"📱 Camera response from ha8T3D5XH8dnywMdAAAj: {\"sessionId\":\"582e8944-31a9-459e-87c5-ebc82d453586\",\"accepted\":true,\"streamUrl\":\"webrtc://582e8944-31a9-459e-87c5-ebc82d453586\",\"timestamp\":1759695360427}","timestamp":"2025-10-05T20:16:00.967Z"} {"level":"info","message":"✅ Camera stream accepted: session 582e8944-31a9-459e-87c5-ebc82d453586","timestamp":"2025-10-05T20:16:00.967Z"} {"level":"info","message":"Client disconnected: R11nnFlUJsngQon4AAAg, reason: client namespace disconnect","timestamp":"2025-10-05T20:16:11.818Z"} {"level":"info","message":"Client disconnected: FdnvYImM7QUcd1F2AAAl, reason: client namespace disconnect","timestamp":"2025-10-05T20:16:13.587Z"} {"level":"info","message":"New connection: B4phP80zpgNXK-mYAAAn","timestamp":"2025-10-05T20:16:14.255Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:16:14.256Z"} {"level":"info","message":"New connection: RlYeToQW9yoF5BNxAAAp","timestamp":"2025-10-05T20:16:21.690Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:16:22.165Z"} {"level":"info","message":"Client disconnected: B4phP80zpgNXK-mYAAAn, reason: client namespace disconnect","timestamp":"2025-10-05T20:16:23.115Z"} {"level":"info","message":"New connection: GoIn0w-E8nrOM_AoAAAr","timestamp":"2025-10-05T20:16:25.702Z"} {"level":"info","message":"Operator registered: 2e7bdf45-8ec2-4060-accf-20ad37cc4e37","timestamp":"2025-10-05T20:16:25.703Z"} {"level":"info","message":"Client disconnected: GoIn0w-E8nrOM_AoAAAr, reason: client namespace disconnect","timestamp":"2025-10-05T20:16:26.404Z"} {"level":"info","message":"Client disconnected: Z9U56KzGAqYzSPhPAAAC, reason: transport close","timestamp":"2025-10-05T20:18:46.422Z"} {"level":"info","message":"GodEye Backend Server running on port 3002","timestamp":"2025-10-05T20:34:40.532Z"} {"level":"info","message":"New connection: PVyBHsTLvHDf9w21AAAB","timestamp":"2025-10-05T20:35:31.757Z"} {"level":"info","message":"Operator registered: 6d92e01a-9098-4e76-a601-d116f7b84998","timestamp":"2025-10-05T20:35:31.759Z"} {"level":"info","message":"New connection: DeYXWZZiMobszHP3AAAD","timestamp":"2025-10-05T20:35:33.846Z"} {"level":"info","message":"New connection: Gnzp6zqDYN2S9RAEAAAF","timestamp":"2025-10-05T20:36:16.458Z"} {"level":"info","message":"Operator registered: 6d92e01a-9098-4e76-a601-d116f7b84998","timestamp":"2025-10-05T20:36:16.459Z"} {"level":"info","message":"New connection: akJchXnXFtSLRyDBAAAH","timestamp":"2025-10-05T20:36:39.147Z"} {"level":"info","message":"New connection: rEyvlOQpkkuPmwaSAAAJ","timestamp":"2025-10-05T20:36:44.048Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T20:36:44.052Z"} {"level":"info","message":"New connection: pMMh1n5hymWSFQRCAAAL","timestamp":"2025-10-05T20:36:46.514Z"} {"level":"info","message":"Operator registered: demo-operator-001","timestamp":"2025-10-05T20:36:46.519Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 132ff457-a24c-4bb8-b03c-61184eb0f8f8","operatorId":"demo-operator-001","timestamp":"2025-10-05T20:36:48.095Z"} {"level":"info","message":"📱 Camera response from rEyvlOQpkkuPmwaSAAAJ: {\"sessionId\":\"132ff457-a24c-4bb8-b03c-61184eb0f8f8\",\"accepted\":true,\"streamUrl\":\"webrtc\"}","timestamp":"2025-10-05T20:36:49.097Z"} {"level":"info","message":"✅ Camera stream accepted: session 132ff457-a24c-4bb8-b03c-61184eb0f8f8","timestamp":"2025-10-05T20:36:49.097Z"} {"level":"info","message":"Camera session ended: 132ff457-a24c-4bb8-b03c-61184eb0f8f8","timestamp":"2025-10-05T20:37:02.073Z"} {"level":"info","message":"Client disconnected: rEyvlOQpkkuPmwaSAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T20:37:02.905Z"} {"level":"info","message":"New connection: b7rtQ_uVRd4KTC6TAAAN","timestamp":"2025-10-05T20:37:03.415Z"} {"androidVersion":"12","availableCameras":"back,front","level":"info","manufacturer":"Samsung","message":"Android client registered: demo-device-001","model":"Samsung Galaxy S21","timestamp":"2025-10-05T20:37:03.418Z"} {"cameraType":"back","deviceId":"demo-device-001","level":"info","message":"Camera request created: 174ffe37-ab77-40ad-8849-9f7b6db003b3","operatorId":"demo-operator-001","timestamp":"2025-10-05T20:37:06.826Z"} {"level":"info","message":"📱 Camera response from b7rtQ_uVRd4KTC6TAAAN: {\"sessionId\":\"174ffe37-ab77-40ad-8849-9f7b6db003b3\",\"accepted\":true,\"streamUrl\":\"webrtc\"}","timestamp":"2025-10-05T20:37:07.829Z"} {"level":"info","message":"✅ Camera stream accepted: session 174ffe37-ab77-40ad-8849-9f7b6db003b3","timestamp":"2025-10-05T20:37:07.829Z"} {"level":"info","message":"Client disconnected: Gnzp6zqDYN2S9RAEAAAF, reason: transport close","timestamp":"2025-10-05T20:37:22.194Z"} {"level":"info","message":"Client disconnected: PVyBHsTLvHDf9w21AAAB, reason: transport close","timestamp":"2025-10-05T20:37:22.196Z"} {"level":"info","message":"GodEye Backend Server running on port 3001","timestamp":"2025-10-05T20:38:23.253Z"} {"level":"info","message":"New connection: l8qzV8IqcUxKQXPrAAAB","timestamp":"2025-10-05T20:38:28.404Z"} {"level":"info","message":"New connection: FUdZx76-7tsXma1RAAAD","timestamp":"2025-10-05T20:39:41.842Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:39:41.950Z"} {"level":"info","message":"New connection: NXv6Vsl4zmXbgaV0AAAF","timestamp":"2025-10-05T20:39:51.260Z"} {"level":"info","message":"Operator registered: e435e85c-fb24-4230-81b6-5ac51ebc3e22","timestamp":"2025-10-05T20:39:51.262Z"} {"level":"info","message":"Camera request: operator e435e85c-fb24-4230-81b6-5ac51ebc3e22 -> device 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:39:54.618Z"} {"level":"info","message":"📱 Camera response from FUdZx76-7tsXma1RAAAD: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"accepted\":true,\"streamUrl\":\"webrtc://97799612-9f02-4142-9766-4771bf03f7eb\",\"timestamp\":1759696783001}","timestamp":"2025-10-05T20:39:54.623Z"} {"level":"info","message":"✅ Camera stream accepted: session 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:39:54.624Z"} {"level":"info","message":"Received camera:switch from NXv6Vsl4zmXbgaV0AAAF: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T20:40:15.113Z"} {"level":"info","message":"Session found: 97799612-9f02-4142-9766-4771bf03f7eb, device: 7dffe9c0-7726-47b7-8047-e83fbb7c080e, operator: e435e85c-fb24-4230-81b6-5ac51ebc3e22","timestamp":"2025-10-05T20:40:15.114Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T20:40:15.114Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T20:40:15.114Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T20:40:15.114Z"} {"level":"info","message":"Received camera:switch from NXv6Vsl4zmXbgaV0AAAF: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T20:40:17.049Z"} {"level":"info","message":"Session found: 97799612-9f02-4142-9766-4771bf03f7eb, device: 7dffe9c0-7726-47b7-8047-e83fbb7c080e, operator: e435e85c-fb24-4230-81b6-5ac51ebc3e22","timestamp":"2025-10-05T20:40:17.049Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T20:40:17.049Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T20:40:17.049Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T20:40:17.049Z"} {"level":"info","message":"Received camera:switch from NXv6Vsl4zmXbgaV0AAAF: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T20:40:18.377Z"} {"level":"info","message":"Session found: 97799612-9f02-4142-9766-4771bf03f7eb, device: 7dffe9c0-7726-47b7-8047-e83fbb7c080e, operator: e435e85c-fb24-4230-81b6-5ac51ebc3e22","timestamp":"2025-10-05T20:40:18.377Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T20:40:18.377Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T20:40:18.377Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T20:40:18.377Z"} {"level":"info","message":"Received camera:switch from NXv6Vsl4zmXbgaV0AAAF: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"telephoto\"}","timestamp":"2025-10-05T20:40:18.857Z"} {"level":"info","message":"Session found: 97799612-9f02-4142-9766-4771bf03f7eb, device: 7dffe9c0-7726-47b7-8047-e83fbb7c080e, operator: e435e85c-fb24-4230-81b6-5ac51ebc3e22","timestamp":"2025-10-05T20:40:18.857Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T20:40:18.857Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T20:40:18.857Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T20:40:18.857Z"} {"level":"info","message":"New connection: fTF8QeU0dBF_jAZmAAAH","timestamp":"2025-10-05T20:40:31.904Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:40:32.092Z"} {"level":"info","message":"Client disconnected: NXv6Vsl4zmXbgaV0AAAF, reason: client namespace disconnect","timestamp":"2025-10-05T20:40:47.322Z"} {"level":"info","message":"New connection: egmmnivNR4HZlHfHAAAJ","timestamp":"2025-10-05T20:40:48.068Z"} {"level":"info","message":"Operator registered: e435e85c-fb24-4230-81b6-5ac51ebc3e22","timestamp":"2025-10-05T20:40:48.069Z"} {"level":"info","message":"Camera request: operator e435e85c-fb24-4230-81b6-5ac51ebc3e22 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:40:51.433Z"} {"level":"info","message":"📱 Camera response from fTF8QeU0dBF_jAZmAAAH: {\"sessionId\":\"ad673cfe-1eb6-4dfc-b56d-40354474235a\",\"accepted\":true,\"streamUrl\":\"webrtc://ad673cfe-1eb6-4dfc-b56d-40354474235a\",\"timestamp\":1759696851094}","timestamp":"2025-10-05T20:40:51.565Z"} {"level":"info","message":"✅ Camera stream accepted: session ad673cfe-1eb6-4dfc-b56d-40354474235a","timestamp":"2025-10-05T20:40:51.565Z"} {"level":"info","message":"Received camera:switch from egmmnivNR4HZlHfHAAAJ: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T20:41:08.649Z"} {"level":"warn","message":"Session not found for camera switch: 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:41:08.649Z"} {"level":"info","message":"Received camera:switch from egmmnivNR4HZlHfHAAAJ: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T20:41:09.561Z"} {"level":"warn","message":"Session not found for camera switch: 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:41:09.561Z"} {"level":"info","message":"Received camera:switch from egmmnivNR4HZlHfHAAAJ: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T20:41:10.289Z"} {"level":"warn","message":"Session not found for camera switch: 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:41:10.289Z"} {"level":"info","message":"Received camera:switch from egmmnivNR4HZlHfHAAAJ: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"telephoto\"}","timestamp":"2025-10-05T20:41:10.809Z"} {"level":"warn","message":"Session not found for camera switch: 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:41:10.809Z"} {"level":"info","message":"Received camera:switch from egmmnivNR4HZlHfHAAAJ: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T20:41:11.520Z"} {"level":"warn","message":"Session not found for camera switch: 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:41:11.521Z"} {"level":"info","message":"Received camera:switch from egmmnivNR4HZlHfHAAAJ: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T20:41:12.302Z"} {"level":"warn","message":"Session not found for camera switch: 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:41:12.304Z"} {"level":"info","message":"Received camera:switch from egmmnivNR4HZlHfHAAAJ: {\"sessionId\":\"97799612-9f02-4142-9766-4771bf03f7eb\",\"cameraType\":\"telephoto\"}","timestamp":"2025-10-05T20:41:12.673Z"} {"level":"warn","message":"Session not found for camera switch: 97799612-9f02-4142-9766-4771bf03f7eb","timestamp":"2025-10-05T20:41:12.673Z"} {"level":"info","message":"Client disconnected: fTF8QeU0dBF_jAZmAAAH, reason: transport close","timestamp":"2025-10-05T20:59:06.535Z"} {"level":"info","message":"New connection: ydiLspyalp7C7sT_AAAM","timestamp":"2025-10-05T20:59:28.363Z"} {"level":"info","message":"New connection: oQUWvsKLu-pldzbiAAAN","timestamp":"2025-10-05T20:59:28.399Z"} {"level":"info","message":"New connection: TprFFnMzHqD9FIUYAAAP","timestamp":"2025-10-05T20:59:30.131Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:59:30.807Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:59:30.888Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:59:30.964Z"} {"level":"info","message":"Client disconnected: ydiLspyalp7C7sT_AAAM, reason: transport close","timestamp":"2025-10-05T20:59:36.667Z"} {"level":"info","message":"Client disconnected: TprFFnMzHqD9FIUYAAAP, reason: transport close","timestamp":"2025-10-05T20:59:36.681Z"} {"level":"info","message":"Client disconnected: oQUWvsKLu-pldzbiAAAN, reason: transport close","timestamp":"2025-10-05T20:59:36.682Z"} {"level":"info","message":"New connection: enGFuLfsr1o9LJZ-AAAS","timestamp":"2025-10-05T20:59:40.709Z"} {"level":"info","message":"New connection: DRFvqxUzFSe8U1ShAAAT","timestamp":"2025-10-05T20:59:40.811Z"} {"level":"info","message":"New connection: npwVeLzw4KFxaehOAAAV","timestamp":"2025-10-05T20:59:42.372Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:59:42.818Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:59:42.861Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T20:59:42.875Z"} {"level":"info","message":"Client disconnected: FUdZx76-7tsXma1RAAAD, reason: transport close","timestamp":"2025-10-05T20:59:43.569Z"} {"level":"info","message":"New connection: gHtLSJeuHYU8Nyw6AAAY","timestamp":"2025-10-05T20:59:45.851Z"} {"level":"info","message":"New connection: R9_yPf6rHB7TpcU0AAAZ","timestamp":"2025-10-05T20:59:45.912Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:59:46.341Z"} {"level":"info","message":"New connection: rmd4XzVQgECm4j3JAAAb","timestamp":"2025-10-05T20:59:46.348Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:59:46.616Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T20:59:46.630Z"} {"level":"info","message":"Client disconnected: egmmnivNR4HZlHfHAAAJ, reason: client namespace disconnect","timestamp":"2025-10-05T20:59:56.851Z"} {"level":"info","message":"New connection: CLzjHxME2LTVIitcAAAd","timestamp":"2025-10-05T20:59:57.652Z"} {"level":"info","message":"Operator registered: e435e85c-fb24-4230-81b6-5ac51ebc3e22","timestamp":"2025-10-05T20:59:57.653Z"} {"level":"info","message":"Client disconnected: CLzjHxME2LTVIitcAAAd, reason: transport close","timestamp":"2025-10-05T21:00:05.019Z"} {"level":"info","message":"New connection: -aH2NsyeKvqN3o7MAAAf","timestamp":"2025-10-05T21:00:13.776Z"} {"level":"info","message":"Operator registered: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:00:13.779Z"} {"level":"info","message":"Camera request: operator bfd90982-037d-40c9-b577-ac9fd5997655 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T21:00:19.109Z"} {"level":"info","message":"📱 Camera response from npwVeLzw4KFxaehOAAAV: {\"sessionId\":\"2fc62241-5fb4-4636-973a-93cfcdfec705\",\"accepted\":true,\"timestamp\":1759698018678,\"operatorId\":\"bfd90982-037d-40c9-b577-ac9fd5997655\",\"deviceId\":\"381068ea-78a3-45c9-a960-8f5b5896c814\",\"deviceName\":\"LGM-G600S\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:00:19.158Z"} {"level":"info","message":"✅ Camera stream accepted: session 2fc62241-5fb4-4636-973a-93cfcdfec705","timestamp":"2025-10-05T21:00:19.158Z"} {"level":"info","message":"Camera request: operator bfd90982-037d-40c9-b577-ac9fd5997655 -> device 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:00:29.484Z"} {"level":"info","message":"📱 Camera response from rmd4XzVQgECm4j3JAAAb: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"accepted\":true,\"timestamp\":1759698017866,\"operatorId\":\"bfd90982-037d-40c9-b577-ac9fd5997655\",\"deviceId\":\"7dffe9c0-7726-47b7-8047-e83fbb7c080e\",\"deviceName\":\"sdk_gphone16k_x86_64\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:00:29.488Z"} {"level":"info","message":"✅ Camera stream accepted: session 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:00:29.489Z"} {"level":"info","message":"📱 Camera response from R9_yPf6rHB7TpcU0AAAZ: {\"sessionId\":\"104ac87e-5d0c-4e21-b6da-9c69e380413d\",\"accepted\":true,\"timestamp\":1759698022882,\"operatorId\":\"6afbc576-0a9c-4a68-afad-9e0351728d43\",\"deviceId\":\"7dffe9c0-7726-47b7-8047-e83fbb7c080e\",\"deviceName\":\"sdk_gphone16k_x86_64\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:00:34.505Z"} {"level":"warn","message":"❌ Session not found for camera:response: 104ac87e-5d0c-4e21-b6da-9c69e380413d","timestamp":"2025-10-05T21:00:34.505Z"} {"level":"info","message":"Received camera:switch from -aH2NsyeKvqN3o7MAAAf: {\"sessionId\":\"2fc62241-5fb4-4636-973a-93cfcdfec705\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T21:00:57.644Z"} {"level":"info","message":"Session found: 2fc62241-5fb4-4636-973a-93cfcdfec705, device: 381068ea-78a3-45c9-a960-8f5b5896c814, operator: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:00:57.644Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T21:00:57.644Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T21:00:57.644Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T21:00:57.644Z"} {"level":"info","message":"Received camera:switch from -aH2NsyeKvqN3o7MAAAf: {\"sessionId\":\"2fc62241-5fb4-4636-973a-93cfcdfec705\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T21:00:58.564Z"} {"level":"info","message":"Session found: 2fc62241-5fb4-4636-973a-93cfcdfec705, device: 381068ea-78a3-45c9-a960-8f5b5896c814, operator: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:00:58.564Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T21:00:58.564Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T21:00:58.565Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T21:00:58.565Z"} {"level":"info","message":"Received camera:switch from -aH2NsyeKvqN3o7MAAAf: {\"sessionId\":\"2fc62241-5fb4-4636-973a-93cfcdfec705\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T21:00:59.500Z"} {"level":"info","message":"Session found: 2fc62241-5fb4-4636-973a-93cfcdfec705, device: 381068ea-78a3-45c9-a960-8f5b5896c814, operator: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:00:59.500Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T21:00:59.500Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T21:00:59.500Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T21:00:59.500Z"} {"level":"info","message":"Received camera:switch from -aH2NsyeKvqN3o7MAAAf: {\"sessionId\":\"2fc62241-5fb4-4636-973a-93cfcdfec705\",\"cameraType\":\"telephoto\"}","timestamp":"2025-10-05T21:00:59.900Z"} {"level":"info","message":"Session found: 2fc62241-5fb4-4636-973a-93cfcdfec705, device: 381068ea-78a3-45c9-a960-8f5b5896c814, operator: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:00:59.900Z"} {"level":"info","message":"Device connected: false","timestamp":"2025-10-05T21:00:59.900Z"} {"level":"info","message":"Operator socket matches: true","timestamp":"2025-10-05T21:00:59.900Z"} {"level":"warn","message":"Camera switch denied: operator=true, device=true, connected=false","timestamp":"2025-10-05T21:00:59.900Z"} {"level":"info","message":"Client disconnected: gHtLSJeuHYU8Nyw6AAAY, reason: transport close","timestamp":"2025-10-05T21:02:09.649Z"} {"level":"info","message":"Client disconnected: rmd4XzVQgECm4j3JAAAb, reason: transport close","timestamp":"2025-10-05T21:02:09.651Z"} {"level":"info","message":"Client disconnected: R9_yPf6rHB7TpcU0AAAZ, reason: transport close","timestamp":"2025-10-05T21:02:09.651Z"} {"level":"info","message":"New connection: ttJZwryI91dS166VAAAi","timestamp":"2025-10-05T21:02:12.160Z"} {"level":"info","message":"New connection: Djc7rY6YCY5n4zzCAAAj","timestamp":"2025-10-05T21:02:12.170Z"} {"level":"info","message":"New connection: -7ZQ-FVgsAh88FjWAAAl","timestamp":"2025-10-05T21:02:12.224Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:02:12.562Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:02:12.570Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:02:12.573Z"} {"level":"info","message":"Camera request: operator bfd90982-037d-40c9-b577-ac9fd5997655 -> device 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:02:26.058Z"} {"level":"info","message":"📱 Camera response from -7ZQ-FVgsAh88FjWAAAl: {\"sessionId\":\"164b7eb4-e66a-46f4-9ba0-424c6fb54e00\",\"accepted\":true,\"timestamp\":1759698134449,\"operatorId\":\"bfd90982-037d-40c9-b577-ac9fd5997655\",\"deviceId\":\"7dffe9c0-7726-47b7-8047-e83fbb7c080e\",\"deviceName\":\"sdk_gphone16k_x86_64\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:02:26.072Z"} {"level":"info","message":"✅ Camera stream accepted: session 164b7eb4-e66a-46f4-9ba0-424c6fb54e00","timestamp":"2025-10-05T21:02:26.072Z"} {"level":"info","message":"Client disconnected: ttJZwryI91dS166VAAAi, reason: client namespace disconnect","timestamp":"2025-10-05T21:02:40.072Z"} {"level":"info","message":"New connection: WD52eeMeiL7woRksAAAn","timestamp":"2025-10-05T21:02:41.677Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:02:41.813Z"} {"level":"info","message":"📱 Camera response from WD52eeMeiL7woRksAAAn: {\"sessionId\":\"2ab7b60f-c595-4329-8536-c40ef5cb7866\",\"accepted\":true,\"timestamp\":1759698151912,\"operatorId\":\"6b96dc49-4215-4440-a60f-a58a9d1045c9\",\"deviceId\":\"7dffe9c0-7726-47b7-8047-e83fbb7c080e\",\"deviceName\":\"sdk_gphone16k_x86_64\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:02:43.540Z"} {"level":"warn","message":"❌ Session not found for camera:response: 2ab7b60f-c595-4329-8536-c40ef5cb7866","timestamp":"2025-10-05T21:02:43.540Z"} {"level":"info","message":"Client disconnected: WD52eeMeiL7woRksAAAn, reason: client namespace disconnect","timestamp":"2025-10-05T21:03:46.657Z"} {"level":"info","message":"Client disconnected: -aH2NsyeKvqN3o7MAAAf, reason: client namespace disconnect","timestamp":"2025-10-05T21:03:58.931Z"} {"level":"info","message":"New connection: IiG_YVAfwlbumbL5AAAp","timestamp":"2025-10-05T21:04:00.514Z"} {"level":"info","message":"Operator registered: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:04:00.516Z"} {"level":"info","message":"New connection: cDIDa8fFzV9ZR8nQAAAr","timestamp":"2025-10-05T21:04:09.589Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:04:09.810Z"} {"level":"info","message":"Client disconnected: IiG_YVAfwlbumbL5AAAp, reason: client namespace disconnect","timestamp":"2025-10-05T21:04:15.028Z"} {"level":"info","message":"New connection: gGW_agZKEbyEz4WmAAAt","timestamp":"2025-10-05T21:04:15.490Z"} {"level":"info","message":"Operator registered: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:04:15.491Z"} {"level":"info","message":"Camera request: operator bfd90982-037d-40c9-b577-ac9fd5997655 -> device 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:04:20.397Z"} {"level":"info","message":"📱 Camera response from cDIDa8fFzV9ZR8nQAAAr: {\"sessionId\":\"570cd9c6-1a8d-4277-8043-54a03615b98b\",\"accepted\":true,\"timestamp\":1759698248783,\"operatorId\":\"bfd90982-037d-40c9-b577-ac9fd5997655\",\"deviceId\":\"7dffe9c0-7726-47b7-8047-e83fbb7c080e\",\"deviceName\":\"sdk_gphone16k_x86_64\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:04:20.408Z"} {"level":"info","message":"✅ Camera stream accepted: session 570cd9c6-1a8d-4277-8043-54a03615b98b","timestamp":"2025-10-05T21:04:20.408Z"} {"level":"info","message":"Client disconnected: -7ZQ-FVgsAh88FjWAAAl, reason: transport close","timestamp":"2025-10-05T21:04:21.404Z"} {"level":"info","message":"Client disconnected: cDIDa8fFzV9ZR8nQAAAr, reason: transport close","timestamp":"2025-10-05T21:04:21.404Z"} {"level":"info","message":"Client disconnected: Djc7rY6YCY5n4zzCAAAj, reason: transport close","timestamp":"2025-10-05T21:04:21.405Z"} {"level":"info","message":"New connection: BjZq8BX9TA1529XHAAAx","timestamp":"2025-10-05T21:04:28.469Z"} {"level":"info","message":"New connection: Q_X5GBqzrLOKYnxuAAAy","timestamp":"2025-10-05T21:04:28.503Z"} {"level":"info","message":"New connection: ckRrLuHt0OgkbYmkAAAz","timestamp":"2025-10-05T21:04:28.524Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:04:29.003Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:04:29.008Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:04:29.010Z"} {"level":"info","message":"Client disconnected: Q_X5GBqzrLOKYnxuAAAy, reason: transport close","timestamp":"2025-10-05T21:06:47.328Z"} {"level":"info","message":"Client disconnected: BjZq8BX9TA1529XHAAAx, reason: transport close","timestamp":"2025-10-05T21:06:47.329Z"} {"level":"info","message":"Client disconnected: ckRrLuHt0OgkbYmkAAAz, reason: transport close","timestamp":"2025-10-05T21:06:47.329Z"} {"level":"info","message":"New connection: 9UIvo0669FeeI5imAAA2","timestamp":"2025-10-05T21:06:50.116Z"} {"level":"info","message":"New connection: CF6zQmgQGpa7JVBWAAA3","timestamp":"2025-10-05T21:06:50.125Z"} {"level":"info","message":"New connection: NFtshB2alUDuSww5AAA5","timestamp":"2025-10-05T21:06:50.242Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:06:50.646Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:06:50.651Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:06:50.655Z"} {"level":"info","message":"Client disconnected: CF6zQmgQGpa7JVBWAAA3, reason: client namespace disconnect","timestamp":"2025-10-05T21:06:53.517Z"} {"level":"info","message":"New connection: -ArzxFDHmDW8RWh8AAA7","timestamp":"2025-10-05T21:06:55.160Z"} {"level":"info","message":"Android client registered: 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:06:55.268Z"} {"level":"info","message":"Client disconnected: gGW_agZKEbyEz4WmAAAt, reason: client namespace disconnect","timestamp":"2025-10-05T21:06:57.275Z"} {"level":"info","message":"New connection: ryiu9vy7jXCkCLh_AAA9","timestamp":"2025-10-05T21:06:57.866Z"} {"level":"info","message":"Operator registered: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:06:57.867Z"} {"level":"info","message":"Camera request: operator bfd90982-037d-40c9-b577-ac9fd5997655 -> device 7dffe9c0-7726-47b7-8047-e83fbb7c080e","timestamp":"2025-10-05T21:07:02.588Z"} {"level":"info","message":"📱 Camera response from -ArzxFDHmDW8RWh8AAA7: {\"sessionId\":\"ebb7e518-0b03-4bd5-a55f-a867636e540e\",\"accepted\":true,\"timestamp\":1759698410972,\"operatorId\":\"bfd90982-037d-40c9-b577-ac9fd5997655\",\"deviceId\":\"7dffe9c0-7726-47b7-8047-e83fbb7c080e\",\"deviceName\":\"sdk_gphone16k_x86_64\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:07:02.593Z"} {"level":"info","message":"✅ Camera stream accepted: session ebb7e518-0b03-4bd5-a55f-a867636e540e","timestamp":"2025-10-05T21:07:02.594Z"} {"level":"info","message":"Received camera:switch from ryiu9vy7jXCkCLh_AAA9: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T21:08:00.785Z"} {"level":"warn","message":"Session not found for camera switch: 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:08:00.785Z"} {"level":"info","message":"Received camera:switch from ryiu9vy7jXCkCLh_AAA9: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T21:08:02.317Z"} {"level":"warn","message":"Session not found for camera switch: 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:08:02.317Z"} {"level":"info","message":"Received camera:switch from ryiu9vy7jXCkCLh_AAA9: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"cameraType\":\"telephoto\"}","timestamp":"2025-10-05T21:08:03.165Z"} {"level":"warn","message":"Session not found for camera switch: 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:08:03.165Z"} {"level":"info","message":"Received camera:switch from ryiu9vy7jXCkCLh_AAA9: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T21:08:03.861Z"} {"level":"warn","message":"Session not found for camera switch: 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:08:03.861Z"} {"level":"info","message":"Received camera:switch from ryiu9vy7jXCkCLh_AAA9: {\"sessionId\":\"2fc62241-5fb4-4636-973a-93cfcdfec705\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T21:08:07.127Z"} {"level":"warn","message":"Session not found for camera switch: 2fc62241-5fb4-4636-973a-93cfcdfec705","timestamp":"2025-10-05T21:08:07.127Z"} {"level":"info","message":"Client disconnected: enGFuLfsr1o9LJZ-AAAS, reason: transport close","timestamp":"2025-10-05T21:09:45.031Z"} {"level":"info","message":"Client disconnected: DRFvqxUzFSe8U1ShAAAT, reason: transport close","timestamp":"2025-10-05T21:09:45.033Z"} {"level":"info","message":"Client disconnected: npwVeLzw4KFxaehOAAAV, reason: transport close","timestamp":"2025-10-05T21:09:45.034Z"} {"level":"info","message":"New connection: FMOACrwdIXeZL1JjAABA","timestamp":"2025-10-05T21:10:05.726Z"} {"level":"info","message":"New connection: TKAMkogO1dyg52FvAABB","timestamp":"2025-10-05T21:10:05.766Z"} {"level":"info","message":"New connection: 7ZrgTxeqdhqY4B_BAABD","timestamp":"2025-10-05T21:10:07.431Z"} {"level":"info","message":"Client disconnected: ryiu9vy7jXCkCLh_AAA9, reason: client namespace disconnect","timestamp":"2025-10-05T21:10:07.629Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T21:10:08.191Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T21:10:08.319Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T21:10:08.403Z"} {"level":"info","message":"New connection: W8Z9UDs7_aci8KSVAABF","timestamp":"2025-10-05T21:10:09.119Z"} {"level":"info","message":"Operator registered: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:10:09.120Z"} {"level":"info","message":"Camera request: operator bfd90982-037d-40c9-b577-ac9fd5997655 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T21:10:15.060Z"} {"level":"info","message":"📱 Camera response from 7ZrgTxeqdhqY4B_BAABD: {\"sessionId\":\"122c7ca1-7d56-420d-99a7-02349ea198d3\",\"accepted\":true,\"timestamp\":1759698614637,\"operatorId\":\"bfd90982-037d-40c9-b577-ac9fd5997655\",\"deviceId\":\"381068ea-78a3-45c9-a960-8f5b5896c814\",\"deviceName\":\"LGM-G600S\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:10:15.123Z"} {"level":"info","message":"✅ Camera stream accepted: session 122c7ca1-7d56-420d-99a7-02349ea198d3","timestamp":"2025-10-05T21:10:15.123Z"} {"level":"info","message":"Client disconnected: TKAMkogO1dyg52FvAABB, reason: client namespace disconnect","timestamp":"2025-10-05T21:10:19.750Z"} {"level":"info","message":"Client disconnected: W8Z9UDs7_aci8KSVAABF, reason: client namespace disconnect","timestamp":"2025-10-05T21:10:20.827Z"} {"level":"info","message":"New connection: 31ZMEiVsOmREQ_2GAABH","timestamp":"2025-10-05T21:10:22.369Z"} {"level":"info","message":"Android client registered: 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T21:10:22.510Z"} {"level":"info","message":"New connection: DlCJ45_H_znArpBUAABJ","timestamp":"2025-10-05T21:10:23.784Z"} {"level":"info","message":"Operator registered: bfd90982-037d-40c9-b577-ac9fd5997655","timestamp":"2025-10-05T21:10:23.785Z"} {"level":"info","message":"Camera request: operator bfd90982-037d-40c9-b577-ac9fd5997655 -> device 381068ea-78a3-45c9-a960-8f5b5896c814","timestamp":"2025-10-05T21:10:26.524Z"} {"level":"info","message":"📱 Camera response from 31ZMEiVsOmREQ_2GAABH: {\"sessionId\":\"f2ac59ec-878d-41ca-974d-4b355f02768e\",\"accepted\":true,\"timestamp\":1759698626092,\"operatorId\":\"bfd90982-037d-40c9-b577-ac9fd5997655\",\"deviceId\":\"381068ea-78a3-45c9-a960-8f5b5896c814\",\"deviceName\":\"LGM-G600S\",\"availableCameras\":[\"back\",\"front\"]}","timestamp":"2025-10-05T21:10:26.584Z"} {"level":"info","message":"✅ Camera stream accepted: session f2ac59ec-878d-41ca-974d-4b355f02768e","timestamp":"2025-10-05T21:10:26.584Z"} {"level":"info","message":"Received camera:switch from DlCJ45_H_znArpBUAABJ: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"cameraType\":\"front\"}","timestamp":"2025-10-05T21:10:34.068Z"} {"level":"warn","message":"Session not found for camera switch: 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:10:34.068Z"} {"level":"info","message":"Received camera:switch from DlCJ45_H_znArpBUAABJ: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"cameraType\":\"wide\"}","timestamp":"2025-10-05T21:10:34.684Z"} {"level":"warn","message":"Session not found for camera switch: 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:10:34.684Z"} {"level":"info","message":"Received camera:switch from DlCJ45_H_znArpBUAABJ: {\"sessionId\":\"98a86a76-909d-42ba-a4cd-6a7e7154703b\",\"cameraType\":\"back\"}","timestamp":"2025-10-05T21:10:35.229Z"} {"level":"warn","message":"Session not found for camera switch: 98a86a76-909d-42ba-a4cd-6a7e7154703b","timestamp":"2025-10-05T21:10:35.229Z"} {"level":"info","message":"Client disconnected: NFtshB2alUDuSww5AAA5, reason: transport close","timestamp":"2025-10-05T23:56:41.851Z"} {"level":"info","message":"Client disconnected: -ArzxFDHmDW8RWh8AAA7, reason: transport close","timestamp":"2025-10-05T23:56:41.852Z"} {"level":"info","message":"Client disconnected: 9UIvo0669FeeI5imAAA2, reason: transport close","timestamp":"2025-10-05T23:56:41.852Z"} {"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2025-10-06T00:18:21.022Z"} {"level":"info","message":"Client disconnected: 7ZrgTxeqdhqY4B_BAABD, reason: client namespace disconnect","timestamp":"2025-10-06T00:39:43.638Z"} {"level":"info","message":"Client disconnected: FMOACrwdIXeZL1JjAABA, reason: transport close","timestamp":"2025-10-06T00:40:03.325Z"} {"level":"info","message":"Client disconnected: 31ZMEiVsOmREQ_2GAABH, reason: transport close","timestamp":"2025-10-06T00:40:03.325Z"}