Files
god_eye/backend/god-eye.log
2025-10-06 09:41:23 +09:00

16289 lines
3.2 MiB

{"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.<anonymous> (/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.<anonymous> (/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.<anonymous> (/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.<anonymous> (/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.<anonymous> (/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 (<anonymous>)\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket.<anonymous> (/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 (<anonymous>)\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket.<anonymous> (/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 (<anonymous>)\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket.<anonymous> (/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 (<anonymous>)\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket.<anonymous> (/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 (<anonymous>)\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket.<anonymous> (/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 (<anonymous>)\n at normalizeWebRTCOffer (/home/data/god_eye/backend/src/server.js:577:29)\n at Socket.<anonymous> (/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"}