=== Eye Viewer Log Rotated at 2026-02-25 13:23:30 +0000 === - stun:stun.l.google.com:19302 - turn:crivello.dyndns.org:3478?transport=udp - turn:crivello.dyndns.org:3478?transport=tcp - turns:crivello.dyndns.org:5349?transport=tcp "content-available" = 1; }, AnyHashable("operation_type"): 1, AnyHashable("message_id"): 23067] datesent = "2026-02-25 14:31:40"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23069; "message_type" = 0; "prev_session_message_id" = 23068; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23069, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23069] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>, NSLocalizedDescription=cancelled} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23070, AnyHashable("message_data"): { datesent = "2026-02-25 14:32:21"; "file_name" = ""; message = "Done with my meetings\Ud83d\Ude0e\U2665\Ufe0f"; "message_id" = 23070; "message_type" = 0; "prev_session_message_id" = 23069; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23070, AnyHashable("message_data"): { datesent = "2026-02-25 14:32:21"; "file_name" = ""; message = "Done with my meetings\Ud83d\Ude0e\U2665\Ufe0f"; "message_id" = 23070; "message_type" = 0; "prev_session_message_id" = 23069; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] datesent = "2026-02-25 14:32:21"; "file_name" = ""; message = "Done with my meetings\Ud83d\Ude0e\U2665\Ufe0f"; "message_id" = 23070; "message_type" = 0; "prev_session_message_id" = 23069; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23070, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>, NSLocalizedDescription=cancelled} datesent = "2026-02-25 14:33:47"; "file_name" = ""; message = "And Im totally messed"; "message_id" = 23073; "message_type" = 0; "prev_session_message_id" = 23072; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] datesent = "2026-02-25 14:33:47"; "file_name" = ""; message = "And Im totally messed"; "message_id" = 23073; "message_type" = 0; "prev_session_message_id" = 23072; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23072] alert = { body = "New message received"; title = Eye; }; badge = 4; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23079, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-02-25 15:18:47"; "file_name" = ""; message = "Sorry for my silence this week, it was tough \Ud83e\Udd72\Ud83d\Ude2d"; "message_id" = 23079; "message_type" = 0; "prev_session_message_id" = 23078; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] datesent = "2026-02-25 15:18:47"; "file_name" = ""; message = "Sorry for my silence this week, it was tough \Ud83e\Udd72\Ud83d\Ude2d"; "message_id" = 23079; "message_type" = 0; "prev_session_message_id" = 23078; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 4; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23079] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23078, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23077] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 15:19:04"; "file_name" = ""; message = "But you were in my mind every second \U2665\Ufe0f"; "message_id" = 23080; "message_type" = 0; "prev_session_message_id" = 23079; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23080, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 15:19:04"; "file_name" = ""; message = "But you were in my mind every second \U2665\Ufe0f"; "message_id" = 23080; "message_type" = 0; "prev_session_message_id" = 23079; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23080, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-02-25 15:19:04"; "file_name" = ""; message = "But you were in my mind every second \U2665\Ufe0f"; "message_id" = 23080; "message_type" = 0; "prev_session_message_id" = 23079; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23080, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23081] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23082, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 15:19:12"; "file_name" = ""; message = "And you will be\U2763\Ufe0f"; "message_id" = 23082; "message_type" = 0; "prev_session_message_id" = 23081; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23082, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 15:19:12"; "file_name" = ""; message = "And you will be\U2763\Ufe0f"; "message_id" = 23082; "message_type" = 0; "prev_session_message_id" = 23081; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 15:19:12"; "file_name" = ""; message = "And you will be\U2763\Ufe0f"; "message_id" = 23082; "message_type" = 0; "prev_session_message_id" = 23081; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23082, AnyHashable("operation_type"): 3] "content-available" = 1; }] "LocalWebSocketTask <14C169D5-DD8E-4F0F-948D-30DFE5A0D5D2>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <14C169D5-DD8E-4F0F-948D-30DFE5A0D5D2>.<1>} datesent = "2026-02-25 15:53:13"; "file_name" = ""; message = "Im not sure\Ud83e\Udd7a and next week will be worse, so Im not gonna able to disconnect 100%\Ud83d\Ude2d"; "message_id" = 23085; "message_type" = 0; "prev_session_message_id" = 23084; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23085, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23085] "content-available" = 1; }, AnyHashable("message_id"): 23087] "content-available" = 1; }] "LocalWebSocketTask <6E33196B-F73A-4676-918B-F31E2213C131>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6E33196B-F73A-4676-918B-F31E2213C131>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23088, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 15:58:13"; "file_name" = ""; message = "Baby, Im always thinking about you, ALWAYS!"; "message_id" = 23088; "message_type" = 0; "prev_session_message_id" = 23087; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23088, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 15:58:30"; "file_name" = ""; message = "And it helping me a lot\Ud83e\Udee2\Ud83e\Udee2\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23089; "message_type" = 0; "prev_session_message_id" = 23088; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23089] "LocalWebSocketTask <974DDBAC-89B7-48B1-B194-9DDCACD90F33>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <974DDBAC-89B7-48B1-B194-9DDCACD90F33>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 15:58:30"; "file_name" = ""; message = "And it helping me a lot\Ud83e\Udee2\Ud83e\Udee2\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23089; "message_type" = 0; "prev_session_message_id" = 23088; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "LocalDataTask <60CA51E7-8EE3-43B6-9F3D-A6B80E13F981>.<650>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 16:02:57"; "file_name" = ""; message = "You are my best baby in every situation in every way \U2763\Ufe0f"; "message_id" = 23092; "message_type" = 0; "prev_session_message_id" = 23091; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23092] "content-available" = 1; }, AnyHashable("message_id"): 23092, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23094, AnyHashable("operation_type"): 0] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23094] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23096] datesent = "2026-02-25 16:09:10"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23097; "message_type" = 0; "prev_session_message_id" = 23096; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23100, AnyHashable("message_data"): { datesent = "2026-02-25 17:48:08"; "file_name" = ""; message = "Yes baby, around 7am"; "message_id" = 23100; "message_type" = 0; "prev_session_message_id" = 23099; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23100, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23100, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 17:48:08"; "file_name" = ""; message = "Yes baby, around 7am"; "message_id" = 23100; "message_type" = 0; "prev_session_message_id" = 23099; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23101, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23102, AnyHashable("message_data"): { datesent = "2026-02-25 17:48:43"; "file_name" = ""; message = "But the flight will be around 9"; "message_id" = 23102; "message_type" = 0; "prev_session_message_id" = 23101; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "content-available" = 1; }] datesent = "2026-02-25 17:48:43"; "file_name" = ""; message = "But the flight will be around 9"; "message_id" = 23102; "message_type" = 0; "prev_session_message_id" = 23101; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23102, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23103, AnyHashable("message_data"): { datesent = "2026-02-25 17:48:48"; "file_name" = ""; message = Noopee; "message_id" = 23103; "message_type" = 0; "prev_session_message_id" = 23102; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23103, AnyHashable("message_data"): { datesent = "2026-02-25 17:48:48"; "file_name" = ""; message = Noopee; "message_id" = 23103; "message_type" = 0; "prev_session_message_id" = 23102; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23103, AnyHashable("message_data"): { datesent = "2026-02-25 17:48:48"; "file_name" = ""; message = Noopee; "message_id" = 23103; "message_type" = 0; "prev_session_message_id" = 23102; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 17:48:48"; "file_name" = ""; message = Noopee; "message_id" = 23103; "message_type" = 0; "prev_session_message_id" = 23102; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] "content-available" = 1; }] datesent = "2026-02-25 17:49:13"; "file_name" = ""; message = "At that time I\U2019ll leave from home\Ud83d\Ude0b"; "message_id" = 23106; "message_type" = 0; "prev_session_message_id" = 23105; "replied_message" = "Yes baby, around 7am"; "replied_sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "replied_sender_name" = Esra; "reply_to_id" = 23100; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23106, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23105, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:13"; "file_name" = ""; message = "At that time I\U2019ll leave from home\Ud83d\Ude0b"; "message_id" = 23106; "message_type" = 0; "prev_session_message_id" = 23105; "replied_message" = "Yes baby, around 7am"; "replied_sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "replied_sender_name" = Esra; "reply_to_id" = 23100; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23107, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:29"; "file_name" = ""; message = "Mmmmm\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23107; "message_type" = 0; "prev_session_message_id" = 23106; "replied_message" = "I'll be in bed"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23105; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23107, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:29"; "file_name" = ""; message = "Mmmmm\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23107; "message_type" = 0; "prev_session_message_id" = 23106; "replied_message" = "I'll be in bed"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23105; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] datesent = "2026-02-25 17:49:29"; "file_name" = ""; message = "Mmmmm\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23107; "message_type" = 0; "prev_session_message_id" = 23106; "replied_message" = "I'll be in bed"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23105; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23107, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23108, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:39"; "file_name" = ""; message = "My babyyy"; "message_id" = 23109; "message_type" = 0; "prev_session_message_id" = 23108; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:39"; "file_name" = ""; message = "My babyyy"; "message_id" = 23109; "message_type" = 0; "prev_session_message_id" = 23108; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:39"; "file_name" = ""; message = "My babyyy"; "message_id" = 23109; "message_type" = 0; "prev_session_message_id" = 23108; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:47"; "file_name" = ""; message = "Soo sorry for you\Ud83d\Ude2d"; "message_id" = 23110; "message_type" = 0; "prev_session_message_id" = 23109; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23110, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:47"; "file_name" = ""; message = "Soo sorry for you\Ud83d\Ude2d"; "message_id" = 23110; "message_type" = 0; "prev_session_message_id" = 23109; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23110, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 17:49:47"; "file_name" = ""; message = "Soo sorry for you\Ud83d\Ude2d"; "message_id" = 23110; "message_type" = 0; "prev_session_message_id" = 23109; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23110, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "LocalDataTask <59E7EA5A-6F62-4C50-8FB5-B488FA9F8BFC>.<36>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} "LocalWebSocketTask <1CC8CFD9-7394-484B-B0A0-BC000BB3F30D>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <1CC8CFD9-7394-484B-B0A0-BC000BB3F30D>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-02-25 18:19:18"; "file_name" = ""; message = "Nooo, Im not sure should I feel lucky or not\Ud83e\Udd23"; "message_id" = 23113; "message_type" = 0; "prev_session_message_id" = 23112; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask <6C5E6A5E-7C69-4982-A93D-C5B27F0E9142>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6C5E6A5E-7C69-4982-A93D-C5B27F0E9142>.<1>, NSLocalizedDescription=cancelled} datesent = "2026-02-25 19:38:54"; "file_name" = ""; message = "This is how Im feeling these days\Ud83d\Ude2d\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23115; "message_type" = 0; "prev_session_message_id" = 23114; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 3; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23115, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23114, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23115, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23113, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-02-25 20:40:51"; "file_name" = ""; message = "Good night my love \U2763\Ufe0f sleep well \Ud83d\Udc8b"; "message_id" = 23118; "message_type" = 0; "prev_session_message_id" = 23117; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 0] "content-available" = 1; }] datesent = "2026-02-26 03:06:18"; "file_name" = ""; message = "Good morning my loooooove\U2665\Ufe0f"; "message_id" = 23122; "message_type" = 0; "prev_session_message_id" = 23121; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23122, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23121, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23122, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3][12:25:38] [LOG] Pruned 2985 entries older than 3 hours alert = { body = "New message received"; title = Eye; }; badge = 5; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23129, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23129, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "LocalDataTask .<33>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, _kCFStreamErrorDomainKey=4} - keeping existing messages "LocalWebSocketTask <68E5E5E3-F089-464C-9551-1B9669E5B888>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <68E5E5E3-F089-464C-9551-1B9669E5B888>.<1>, NSLocalizedDescription=cancelled} "LocalDataTask <17EB7349-B38A-4315-A7BA-A56DD7C55FF4>.<73>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, _kCFStreamErrorDomainKey=4} - keeping existing messages "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23127] "content-available" = 1; }, AnyHashable("message_id"): 23125] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23126] "content-available" = 1; }, AnyHashable("message_id"): 23132, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23135] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23134] "content-available" = 1; }, AnyHashable("message_id"): 23133, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23136] datesent = "2026-02-26 18:41:04"; "file_name" = ""; message = "Back to room, will take a shower now"; "message_id" = 23137; "message_type" = 0; "prev_session_message_id" = 23136; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23137, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23139, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23140, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23141, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23141, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23141] datesent = "2026-02-26 18:41:50"; "file_name" = ""; message = "It was amazing!"; "message_id" = 23142; "message_type" = 0; "prev_session_message_id" = 23141; "replied_message" = "Oh you skied already? Yeah ! Snow must be amazing."; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23139; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23142, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23143, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23144] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23145] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23147, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-26 18:42:44"; "file_name" = ""; message = "Tomorrow will be amazing too\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29"; "message_id" = 23147; "message_type" = 0; "prev_session_message_id" = 23146; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23147] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-02-26 19:46:21"; "file_name" = ""; message = "Good night my love \U2665\Ufe0f"; "message_id" = 23151; "message_type" = 0; "prev_session_message_id" = 23150; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23151, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23150] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-02-27 03:36:32"; "file_name" = ""; message = "Good morning baby"; "message_id" = 23154; "message_type" = 0; "prev_session_message_id" = 23153; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] ── Body ── {"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23155,"event_type":2} datesent = "2026-02-27 08:21:42"; "file_name" = ""; message = ILU; "message_id" = 23162; "message_type" = 0; "prev_session_message_id" = 23161; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 3; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23162, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23162, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23161, AnyHashable("operation_type"): 3] "LocalWebSocketTask <6FC7F3AF-EBC1-4788-BF80-97AEA9534F2C>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6FC7F3AF-EBC1-4788-BF80-97AEA9534F2C>.<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>}[22:53:23] [LOG] Pruned 875 entries older than 3 hours "content-available" = 1; }, AnyHashable("message_id"): 23165, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23167] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23166, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23168] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23169] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23173] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23171][08:26:13] [CRASH] No crash detected "content-available" = 1; }, AnyHashable("message_id"): 23180, AnyHashable("message_data"): { datesent = "2026-02-28 04:28:13"; "file_name" = ""; message = "Any plans for the weekend?\Ud83e\Udd70"; "message_id" = 23180; "message_type" = 0; "prev_session_message_id" = 23179; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23180] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23187, AnyHashable("operation_type"): 0] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23187] "content-available" = 1; }, AnyHashable("message_id"): 23185, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "LocalDataTask <7A41D25B-395C-424F-91B8-10C8061CE9CA>.<2>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("message_id"): 23191, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23192, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23193, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23194, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23195, AnyHashable("operation_type"): 3] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>, NSLocalizedDescription=cancelled} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>, NSLocalizedDescription=cancelled} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>, NSLocalizedDescription=cancelled} "LocalWebSocketTask <7EECC3F8-3EF7-46AE-A819-65F8CB37A2E6>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7EECC3F8-3EF7-46AE-A819-65F8CB37A2E6>.<1>, NSLocalizedDescription=cancelled} "LocalWebSocketTask <5CFE7981-CE7A-420D-9D9C-CF24F9868E63>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5CFE7981-CE7A-420D-9D9C-CF24F9868E63>.<1>, NSLocalizedDescription=cancelled} "content-available" = 1; }, AnyHashable("message_id"): 23207, AnyHashable("message_data"): { datesent = "2026-02-28 20:30:12"; "file_name" = ""; message = "Good night, sleep well my love \U2764\Ufe0f"; "message_id" = 23207; "message_type" = 0; "prev_session_message_id" = 23206; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23202, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23204, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23206] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU][09:28:55] [LOG] Pruned 3063 entries older than 3 hours "content-available" = 1; }, AnyHashable("message_id"): 23210, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23212] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] "LocalWebSocketTask <660178EF-8862-444E-8B85-19355B346A94>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <660178EF-8862-444E-8B85-19355B346A94>.<1>} "LocalWebSocketTask <6E130ECA-BF9A-4C16-969A-47BAA45D7303>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6E130ECA-BF9A-4C16-969A-47BAA45D7303>.<1>} datesent = "2026-03-01 14:51:43"; "file_name" = ""; message = "My baby\U2764\Ufe0f"; "message_id" = 23225; "message_type" = 0; "prev_session_message_id" = 23224; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] datesent = "2026-03-01 14:51:55"; "file_name" = ""; message = "I\U2019ll do the same in 1hr\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\U2764\Ufe0f\U2764\Ufe0f"; "message_id" = 23226; "message_type" = 0; "prev_session_message_id" = 23225; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23227, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23228, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-01 14:52:13"; "file_name" = ""; message = "Back to hotel \Ud83e\Udd70"; "message_id" = 23230; "message_type" = 0; "prev_session_message_id" = 23229; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }] datesent = "2026-03-01 14:52:21"; "file_name" = ""; message = "ILU\U2764\Ufe0f"; "message_id" = 23232; "message_type" = 0; "prev_session_message_id" = 23231; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-01 14:52:27"; "file_name" = ""; message = Yeeees; "message_id" = 23233; "message_type" = 0; "prev_session_message_id" = 23232; "replied_message" = "Which means, if you agree, a second 1-0"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23231; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23233, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-01 14:52:30"; "file_name" = ""; message = "\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d"; "message_id" = 23234; "message_type" = 0; "prev_session_message_id" = 23233; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23234, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23234] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23235, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23235, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("message_id"): 23211] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23239, AnyHashable("message_data"): { datesent = "2026-03-01 16:04:40"; "file_name" = ""; message = "My loove"; "message_id" = 23239; "message_type" = 0; "prev_session_message_id" = 23238; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-01 16:04:46"; "file_name" = ""; message = "IMU2\U2763\Ufe0f"; "message_id" = 23240; "message_type" = 0; "prev_session_message_id" = 23239; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23240] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-01 16:04:46"; "file_name" = ""; message = "IMU2\U2763\Ufe0f"; "message_id" = 23240; "message_type" = 0; "prev_session_message_id" = 23239; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23240] datesent = "2026-03-01 16:04:46"; "file_name" = ""; message = "IMU2\U2763\Ufe0f"; "message_id" = 23240; "message_type" = 0; "prev_session_message_id" = 23239; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23239, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23240, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:04:58"; "file_name" = ""; message = "Thank you baby"; "message_id" = 23241; "message_type" = 0; "prev_session_message_id" = 23240; "replied_message" = "Even dressed in ski outfit, your body is amazing \Ud83e\Udd70"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23237; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23241] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:04:58"; "file_name" = ""; message = "Thank you baby"; "message_id" = 23241; "message_type" = 0; "prev_session_message_id" = 23240; "replied_message" = "Even dressed in ski outfit, your body is amazing \Ud83e\Udd70"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23237; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23241] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23241, AnyHashable("message_data"): { datesent = "2026-03-01 16:04:58"; "file_name" = ""; message = "Thank you baby"; "message_id" = 23241; "message_type" = 0; "prev_session_message_id" = 23240; "replied_message" = "Even dressed in ski outfit, your body is amazing \Ud83e\Udd70"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23237; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23241] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23242, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23243] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:33"; "file_name" = ""; message = "I\U2019ll baby\Ud83d\Ude0d"; "message_id" = 23245; "message_type" = 0; "prev_session_message_id" = 23244; "replied_message" = "Tell me when you go to shower, I will go at same time"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23242; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:33"; "file_name" = ""; message = "I\U2019ll baby\Ud83d\Ude0d"; "message_id" = 23245; "message_type" = 0; "prev_session_message_id" = 23244; "replied_message" = "Tell me when you go to shower, I will go at same time"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23242; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:33"; "file_name" = ""; message = "I\U2019ll baby\Ud83d\Ude0d"; "message_id" = 23245; "message_type" = 0; "prev_session_message_id" = 23244; "replied_message" = "Tell me when you go to shower, I will go at same time"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23242; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23245] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:45"; "file_name" = ""; message = "Nope, will have a dinner first"; "message_id" = 23246; "message_type" = 0; "prev_session_message_id" = 23245; "replied_message" = "Unless already done ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23244; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23246, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:45"; "file_name" = ""; message = "Nope, will have a dinner first"; "message_id" = 23246; "message_type" = 0; "prev_session_message_id" = 23245; "replied_message" = "Unless already done ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23244; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23246, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:45"; "file_name" = ""; message = "Nope, will have a dinner first"; "message_id" = 23246; "message_type" = 0; "prev_session_message_id" = 23245; "replied_message" = "Unless already done ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23244; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23246, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23246] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23247, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:49"; "file_name" = ""; message = "Im soooo hungry"; "message_id" = 23247; "message_type" = 0; "prev_session_message_id" = 23246; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23247, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:49"; "file_name" = ""; message = "Im soooo hungry"; "message_id" = 23247; "message_type" = 0; "prev_session_message_id" = 23246; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23247, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 16:05:49"; "file_name" = ""; message = "Im soooo hungry"; "message_id" = 23247; "message_type" = 0; "prev_session_message_id" = 23246; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x0000000101f10304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396 9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48 "content-available" = 1; }] datesent = "2026-03-01 16:06:04"; "file_name" = ""; message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23249; "message_type" = 0; "prev_session_message_id" = 23248; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-01 16:06:04"; "file_name" = ""; message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23249; "message_type" = 0; "prev_session_message_id" = 23248; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x0000000101f09da0 $s3Eye11AppDelegateC22userNotificationCenter_11willPresent21withCompletionHandlerySo06UNUsereF0C_So14UNNotificationCySo0M19PresentationOptionsVctF + 4860 9 Eye.debug.dylib 0x0000000101f0bac8 $s3Eye11AppDelegateC22userNotificationCenter_11willPresent21withCompletionHandlerySo06UNUsereF0C_So14UNNotificationCySo0M19PresentationOptionsVctFTo + 164 datesent = "2026-03-01 16:06:04"; "file_name" = ""; message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23249; "message_type" = 0; "prev_session_message_id" = 23248; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-01 16:06:04"; "file_name" = ""; message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23249; "message_type" = 0; "prev_session_message_id" = 23248; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23249, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x0000000101f0ff00 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFyyScMYccfU2_ + 396 9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48 alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-01 16:06:04"; "file_name" = ""; message = "Yes\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23249; "message_type" = 0; "prev_session_message_id" = 23248; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23249, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23249] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x0000000101f10304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396 9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48 "content-available" = 1; }, AnyHashable("message_id"): 23249] datesent = "2026-03-01 16:06:08"; "file_name" = ""; message = "Always!"; "message_id" = 23250; "message_type" = 0; "prev_session_message_id" = 23249; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23250] datesent = "2026-03-01 16:06:08"; "file_name" = ""; message = "Always!"; "message_id" = 23250; "message_type" = 0; "prev_session_message_id" = 23249; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23250] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23250, AnyHashable("message_data"): { datesent = "2026-03-01 16:06:08"; "file_name" = ""; message = "Always!"; "message_id" = 23250; "message_type" = 0; "prev_session_message_id" = 23249; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23250] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101fc9e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x0000000101fd0db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x0000000101f10304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396 9 Eye.debug.dylib 0x0000000101b140a8 $sIeg_IeyB_TR + 48 "content-available" = 1; }, AnyHashable("message_id"): 23250] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 datesent = "2026-03-01 16:06:53"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23252; "message_type" = 0; "prev_session_message_id" = 23251; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-01 16:06:53"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23252; "message_type" = 0; "prev_session_message_id" = 23251; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] 0 Eye.debug.dylib 0x0000000101d1c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000101d265f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000101d268f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "LocalWebSocketTask <0FD75BE7-21A1-4DEB-A0B9-7612D86D6C6D>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0FD75BE7-21A1-4DEB-A0B9-7612D86D6C6D>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-01 20:46:15"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23261; "message_type" = 0; "prev_session_message_id" = 23260; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23261] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23258, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23260] 0 Eye.debug.dylib 0x0000000100f7c5fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000100f865f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000100f868f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 datesent = "2026-03-01 21:02:38"; "file_name" = ""; message = "IWU sooo much! A lot!"; "message_id" = 23267; "message_type" = 0; "prev_session_message_id" = 23266; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23266] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23268, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-01 21:03:03"; "file_name" = ""; message = "Yes, you were with me\Ud83e\Udee6"; "message_id" = 23269; "message_type" = 0; "prev_session_message_id" = 23268; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23270, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-01 21:03:13"; "file_name" = ""; message = "You Touched my body"; "message_id" = 23271; "message_type" = 0; "prev_session_message_id" = 23270; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23271, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-01 21:03:17"; "file_name" = ""; message = "My sex"; "message_id" = 23272; "message_type" = 0; "prev_session_message_id" = 23271; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23272] "content-available" = 1; }] "LocalDataTask <3BB13CC2-F420-4845-84FB-97C44D7FFD7A>.<120>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23271&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23271&mark_read=0, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-01 21:03:22"; "file_name" = ""; message = "Kissed me\Ud83e\Udee6"; "message_id" = 23274; "message_type" = 0; "prev_session_message_id" = 23273; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23274, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23275] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-01 21:03:56"; "file_name" = ""; message = "I really needed!"; "message_id" = 23277; "message_type" = 0; "prev_session_message_id" = 23276; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23277, AnyHashable("operation_type"): 0] "LocalWebSocketTask <1917ED1A-F983-4CA8-95B9-A6355AB30CF1>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <1917ED1A-F983-4CA8-95B9-A6355AB30CF1>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-01 21:04:04"; "file_name" = ""; message = "\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23278; "message_type" = 0; "prev_session_message_id" = 23277; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23278, AnyHashable("operation_type"): 0] "LocalWebSocketTask <4F214AD7-4439-4252-A351-07C49D905AB2>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4F214AD7-4439-4252-A351-07C49D905AB2>.<1>} "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-01 21:04:33"; "file_name" = ""; message = "Im living in the new norm so last time was with you"; "message_id" = 23279; "message_type" = 0; "prev_session_message_id" = 23278; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-01 21:04:34"; "file_name" = ""; message = "\Ud83e\Udee6"; "message_id" = 23280; "message_type" = 0; "prev_session_message_id" = 23279; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23280] datesent = "2026-03-01 21:04:42"; "file_name" = ""; message = "Soooo excited I am\Ud83e\Udee6"; "message_id" = 23281; "message_type" = 0; "prev_session_message_id" = 23280; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23281] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} datesent = "2026-03-01 21:04:51"; "file_name" = ""; message = "Love you so much baby \Ud83e\Udee6"; "message_id" = 23282; "message_type" = 0; "prev_session_message_id" = 23281; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23282] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23281, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23280, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3][07:13:24] [LOG] Pruned 8607 entries older than 3 hours "content-available" = 1; }, AnyHashable("message_id"): 23286] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23287] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23285, AnyHashable("operation_type"): 3] 0 Eye.debug.dylib 0x0000000102e985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000102ea25f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000102ea28f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23289, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-02 06:24:14"; "file_name" = ""; message = "Good morning baby\U2764\Ufe0f"; "message_id" = 23290; "message_type" = 0; "prev_session_message_id" = 23289; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23290] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23290] datesent = "2026-03-02 06:24:41"; "file_name" = ""; message = "I miss him too\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23291; "message_type" = 0; "prev_session_message_id" = 23290; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23291, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23291, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] 0 Eye.debug.dylib 0x00000001048985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001048a25f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001048a28f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 datesent = "2026-03-02 09:32:10"; "file_name" = ""; message = "Take off baby\Ud83d\Ude0d\U2764\Ufe0f"; "message_id" = 23293; "message_type" = 0; "prev_session_message_id" = 23292; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-02 09:32:10"; "file_name" = ""; message = "Take off baby\Ud83d\Ude0d\U2764\Ufe0f"; "message_id" = 23293; "message_type" = 0; "prev_session_message_id" = 23292; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("message_id"): 23293, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-02 13:53:01"; "file_name" = ""; message = "Hi babyyy"; "message_id" = 23295; "message_type" = 0; "prev_session_message_id" = 23294; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23295] "content-available" = 1; }, AnyHashable("message_id"): 23295] datesent = "2026-03-02 13:53:09"; "file_name" = ""; message = "Im home \Ud83d\Ude0d"; "message_id" = 23296; "message_type" = 0; "prev_session_message_id" = 23295; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23296, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] datesent = "2026-03-02 13:53:09"; "file_name" = ""; message = "Im home \Ud83d\Ude0d"; "message_id" = 23296; "message_type" = 0; "prev_session_message_id" = 23295; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23296, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] datesent = "2026-03-02 13:53:09"; "file_name" = ""; message = "Im home \Ud83d\Ude0d"; "message_id" = 23296; "message_type" = 0; "prev_session_message_id" = 23295; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23296, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-02 13:53:34"; "file_name" = ""; message = "How are you doing my love \U2764\Ufe0f"; "message_id" = 23299; "message_type" = 0; "prev_session_message_id" = 23298; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23299, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23299] datesent = "2026-03-02 13:53:45"; "file_name" = ""; message = "Im sooo happy"; "message_id" = 23300; "message_type" = 0; "prev_session_message_id" = 23299; "replied_message" = "Happy to be back or wished to have stayed longer ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23298; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23300, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-02 13:53:45"; "file_name" = ""; message = "Im sooo happy"; "message_id" = 23300; "message_type" = 0; "prev_session_message_id" = 23299; "replied_message" = "Happy to be back or wished to have stayed longer ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23298; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23300, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23300, AnyHashable("message_data"): { datesent = "2026-03-02 13:53:45"; "file_name" = ""; message = "Im sooo happy"; "message_id" = 23300; "message_type" = 0; "prev_session_message_id" = 23299; "replied_message" = "Happy to be back or wished to have stayed longer ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23298; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-02 13:53:50"; "file_name" = ""; message = "Missed you a lot!"; "message_id" = 23301; "message_type" = 0; "prev_session_message_id" = 23300; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23301] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-02 13:53:50"; "file_name" = ""; message = "Missed you a lot!"; "message_id" = 23301; "message_type" = 0; "prev_session_message_id" = 23300; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23301] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-02 13:53:50"; "file_name" = ""; message = "Missed you a lot!"; "message_id" = 23301; "message_type" = 0; "prev_session_message_id" = 23300; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23301] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23301] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-02 14:00:01"; "file_name" = ""; message = "Yesss baby. 5pm here, almost end of the day for me\Ud83e\Udd13\Ud83e\Udd23"; "message_id" = 23304; "message_type" = 0; "prev_session_message_id" = 23303; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23304, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23304, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-02 14:00:14"; "file_name" = ""; message = "And office tomorrow \Ud83e\Udd7a"; "message_id" = 23305; "message_type" = 0; "prev_session_message_id" = 23304; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23305, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-02 14:00:14"; "file_name" = ""; message = "And office tomorrow \Ud83e\Udd7a"; "message_id" = 23305; "message_type" = 0; "prev_session_message_id" = 23304; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23305, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-02 14:00:14"; "file_name" = ""; message = "And office tomorrow \Ud83e\Udd7a"; "message_id" = 23305; "message_type" = 0; "prev_session_message_id" = 23304; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23305, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23306, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23308, AnyHashable("message_data"): { datesent = "2026-03-02 14:00:54"; "file_name" = ""; message = "571 emails waiting for me\Ud83d\Ude2d"; "message_id" = 23308; "message_type" = 0; "prev_session_message_id" = 23307; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23308] "LocalWebSocketTask <29E9E8AB-69BA-4222-B272-D35764D2643C>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <29E9E8AB-69BA-4222-B272-D35764D2643C>.<1>} datesent = "2026-03-02 14:00:54"; "file_name" = ""; message = "571 emails waiting for me\Ud83d\Ude2d"; "message_id" = 23308; "message_type" = 0; "prev_session_message_id" = 23307; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>, NSLocalizedDescription=The network connection was lost.} alert = { body = ""; title = StreamCam; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 2, AnyHashable("message_id"): 23312] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23311, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] datesent = "2026-03-02 14:54:44"; "file_name" = ""; message = "I need to come"; "message_id" = 23318; "message_type" = 0; "prev_session_message_id" = 23317; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23318, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 3; "content-available" = 1; sound = default; }] datesent = "2026-03-02 14:54:44"; "file_name" = ""; message = "I need to come"; "message_id" = 23318; "message_type" = 0; "prev_session_message_id" = 23317; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23318, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 3; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 3; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-02 14:54:44"; "file_name" = ""; message = "I need to come"; "message_id" = 23318; "message_type" = 0; "prev_session_message_id" = 23317; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23318, AnyHashable("operation_type"): 0] datesent = "2026-03-02 14:54:41"; "file_name" = ""; message = INU; "message_id" = 23317; "message_type" = 0; "prev_session_message_id" = 23316; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23318, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23319] datesent = "2026-03-02 14:54:53"; "file_name" = ""; message = "I need your body"; "message_id" = 23320; "message_type" = 0; "prev_session_message_id" = 23319; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23320, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-02 14:54:53"; "file_name" = ""; message = "I need your body"; "message_id" = 23320; "message_type" = 0; "prev_session_message_id" = 23319; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23320, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-02 14:54:53"; "file_name" = ""; message = "I need your body"; "message_id" = 23320; "message_type" = 0; "prev_session_message_id" = 23319; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23320] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-02 14:55:05"; "file_name" = ""; message = "I need you, really\Ud83e\Udd72\Ud83e\Udd7a\Ud83e\Udee6"; "message_id" = 23322; "message_type" = 0; "prev_session_message_id" = 23321; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23322, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] datesent = "2026-03-02 14:55:05"; "file_name" = ""; message = "I need you, really\Ud83e\Udd72\Ud83e\Udd7a\Ud83e\Udee6"; "message_id" = 23322; "message_type" = 0; "prev_session_message_id" = 23321; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23322, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] datesent = "2026-03-02 14:55:05"; "file_name" = ""; message = "I need you, really\Ud83e\Udd72\Ud83e\Udd7a\Ud83e\Udee6"; "message_id" = 23322; "message_type" = 0; "prev_session_message_id" = 23321; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23322, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] 0 Eye.debug.dylib 0x00000001048985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000104b45e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x0000000104b4cdb4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x0000000104a8c304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396 9 Eye.debug.dylib 0x00000001046900a8 $sIeg_IeyB_TR + 48 "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] 0 Eye.debug.dylib 0x00000001048985fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000104b45e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x0000000104b4cdb4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x0000000104a8c304 $s3Eye11AppDelegateC11application_28didReceiveRemoteNotification22fetchCompletionHandlerySo13UIApplicationC_SDys11AnyHashableVypGySo23UIBackgroundFetchResultVctFySbcfU3_yyScMYccfU_ + 396 9 Eye.debug.dylib 0x00000001046900a8 $sIeg_IeyB_TR + 48 "content-available" = 1; }] "content-available" = 1; }] 0 Eye.debug.dylib 0x00000001032445fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x000000010324e5f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x000000010324e8f4 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23325] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "LocalWebSocketTask <33BCBD10-6E9A-4E09-A87C-B6CC7384DA6B>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <33BCBD10-6E9A-4E09-A87C-B6CC7384DA6B>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23324, AnyHashable("operation_type"): 0] datesent = "2026-03-02 15:25:09"; "file_name" = ""; message = "Babyy, in couple of days I\U2019ll have my period. Before that please allow me to come please"; "message_id" = 23327; "message_type" = 0; "prev_session_message_id" = 23326; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "LocalWebSocketTask <7A32F1A9-B048-46EF-A1B8-3B24C2618804>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7A32F1A9-B048-46EF-A1B8-3B24C2618804>.<1>} "content-available" = 1; }, AnyHashable("message_id"): 23327, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23328, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-02 15:25:12"; "file_name" = ""; message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83e\Udd7a"; "message_id" = 23328; "message_type" = 0; "prev_session_message_id" = 23327; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "LocalWebSocketTask <3EF91DA6-AE98-47AE-B50F-CFBDA4274BAB>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3EF91DA6-AE98-47AE-B50F-CFBDA4274BAB>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-02 15:25:12"; "file_name" = ""; message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83e\Udd7a"; "message_id" = 23328; "message_type" = 0; "prev_session_message_id" = 23327; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23328, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23328] 0 Eye.debug.dylib 0x00000001032445fc $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001034f1e2c $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VF + 2232 2 Eye.debug.dylib 0x00000001034f8db4 $s3Eye14ViewControllerC28handlePollEventsNotificationyy10Foundation0G0VFTo + 156 3 CoreFoundation 0x000000018a8fb860 D52BCEEE-E890-347C-8461-1537154E22D9 + 329824 4 CoreFoundation 0x000000018a8fb910 D52BCEEE-E890-347C-8461-1537154E22D9 + 330000 5 CoreFoundation 0x000000018a8fb76c D52BCEEE-E890-347C-8461-1537154E22D9 + 329580 6 CoreFoundation 0x000000018a8fbf0c _CFXNotificationPost + 736 7 Foundation 0x00000001888483cc 4C3912D2-E14A-3A21-926B-54BEF625BE89 + 9843660 8 Eye.debug.dylib 0x000000010341258c $s3Eye11AppDelegateC11application_29didFinishLaunchingWithOptionsSbSo13UIApplicationC_SDySo0j6LaunchI3KeyaypGSgtFy10Foundation12NotificationVYbcfU0_ + 544 9 Eye.debug.dylib 0x00000001033d9d80 $s10Foundation12NotificationVIeghn_So14NSNotificationCIeyBhy_TR + 168 "content-available" = 1; }, AnyHashable("operation_type"): 3] ── Body ── {"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23333,"event_type":2} 0 Eye.debug.dylib 0x00000001015e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001015ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001015eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("message_id"): 23316] 0 Eye.debug.dylib 0x00000001015e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001015ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001015eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001015e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001015ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001015eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001912033a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001905c2524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001905c22e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001903539ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x000000019120b4d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x0000000195f4aacc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x0000000195f898f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23335] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-02 19:24:36"; "file_name" = ""; message = "Good night \Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\U2764\Ufe0f"; "message_id" = 23339; "message_type" = 0; "prev_session_message_id" = 23338; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }][06:41:25] [LOG] Pruned 1433 entries older than 3 hours "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23344] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23346, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23345, AnyHashable("operation_type"): 3] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("message_id"): 23349, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] 0 Eye.debug.dylib 0x00000001008e0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001008ea790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001008eaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23356, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23356] "content-available" = 1; }, AnyHashable("message_id"): 23356, AnyHashable("operation_type"): 3] 0 Eye.debug.dylib 0x0000000103008798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000103012790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000103012a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x0000000103008798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000103012790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000103012a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23361] 0 Eye.debug.dylib 0x0000000103008798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000103012790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000103012a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "LocalWebSocketTask <3D3512EE-0D14-4422-BDF3-87A2DEBE4E57>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3D3512EE-0D14-4422-BDF3-87A2DEBE4E57>.<1>} "LocalWebSocketTask <05D77F41-6FD1-4297-AEF9-19C02668F193>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <05D77F41-6FD1-4297-AEF9-19C02668F193>.<1>, NSLocalizedDescription=The network connection was lost.} "LocalWebSocketTask <9518D030-7FB2-4124-A86C-EF13DA7E28AB>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9518D030-7FB2-4124-A86C-EF13DA7E28AB>.<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "LocalWebSocketTask <5E30488C-2272-49D0-97F7-B1D20D328254>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5E30488C-2272-49D0-97F7-B1D20D328254>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 3; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23367, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23367] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23367] "content-available" = 1; }, AnyHashable("message_id"): 23365, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-03 11:15:29"; "file_name" = ""; message = "INU, IMU, IWU and ILU"; "message_id" = 23371; "message_type" = 0; "prev_session_message_id" = 23370; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23371, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 13:01:50"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23374; "message_type" = 0; "prev_session_message_id" = 23373; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23374, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23374] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23375] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23376, AnyHashable("message_data"): { datesent = "2026-03-03 13:02:26"; "file_name" = ""; message = "I read 650+ mails\Ud83d\Ude2d"; "message_id" = 23376; "message_type" = 0; "prev_session_message_id" = 23375; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask <42EFD704-33B0-48A4-A00E-E8147F4B94FB>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <42EFD704-33B0-48A4-A00E-E8147F4B94FB>.<1>} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23376] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:02:26"; "file_name" = ""; message = "I read 650+ mails\Ud83d\Ude2d"; "message_id" = 23376; "message_type" = 0; "prev_session_message_id" = 23375; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23377, AnyHashable("message_data"): { datesent = "2026-03-03 13:02:37"; "file_name" = ""; message = "Joined more than 8 calls"; "message_id" = 23377; "message_type" = 0; "prev_session_message_id" = 23376; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23377, AnyHashable("message_data"): { datesent = "2026-03-03 13:02:37"; "file_name" = ""; message = "Joined more than 8 calls"; "message_id" = 23377; "message_type" = 0; "prev_session_message_id" = 23376; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23377, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 13:02:37"; "file_name" = ""; message = "Joined more than 8 calls"; "message_id" = 23377; "message_type" = 0; "prev_session_message_id" = 23376; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23377, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:03:15"; "file_name" = ""; message = "My eyes are burning"; "message_id" = 23380; "message_type" = 0; "prev_session_message_id" = 23379; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23380, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:03:15"; "file_name" = ""; message = "My eyes are burning"; "message_id" = 23380; "message_type" = 0; "prev_session_message_id" = 23379; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23380, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 13:03:15"; "file_name" = ""; message = "My eyes are burning"; "message_id" = 23380; "message_type" = 0; "prev_session_message_id" = 23379; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23380, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23379, AnyHashable("operation_type"): 3] "content-available" = 1; }] datesent = "2026-03-03 13:03:24"; "file_name" = ""; message = "How is your day going my love"; "message_id" = 23381; "message_type" = 0; "prev_session_message_id" = 23380; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-03 13:03:24"; "file_name" = ""; message = "How is your day going my love"; "message_id" = 23381; "message_type" = 0; "prev_session_message_id" = 23380; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-03 13:03:24"; "file_name" = ""; message = "How is your day going my love"; "message_id" = 23381; "message_type" = 0; "prev_session_message_id" = 23380; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23381, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 13:03:49"; "file_name" = ""; message = "And I don\U2019t have any room \Ud83d\Ude2d moved to the open office"; "message_id" = 23384; "message_type" = 0; "prev_session_message_id" = 23383; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:03:49"; "file_name" = ""; message = "And I don\U2019t have any room \Ud83d\Ude2d moved to the open office"; "message_id" = 23384; "message_type" = 0; "prev_session_message_id" = 23383; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23384, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23385] datesent = "2026-03-03 13:04:15"; "file_name" = ""; message = "It\U2019s not easy for me to focus"; "message_id" = 23386; "message_type" = 0; "prev_session_message_id" = 23385; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-03 13:04:15"; "file_name" = ""; message = "It\U2019s not easy for me to focus"; "message_id" = 23386; "message_type" = 0; "prev_session_message_id" = 23385; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-03 13:04:15"; "file_name" = ""; message = "It\U2019s not easy for me to focus"; "message_id" = 23386; "message_type" = 0; "prev_session_message_id" = 23385; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23386] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23387, AnyHashable("message_data"): { datesent = "2026-03-03 13:04:20"; "file_name" = ""; message = Nope; "message_id" = 23387; "message_type" = 0; "prev_session_message_id" = 23386; "replied_message" = "Oh noooo. Is anyone seeing your screen ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23385; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23387, AnyHashable("message_data"): { datesent = "2026-03-03 13:04:20"; "file_name" = ""; message = Nope; "message_id" = 23387; "message_type" = 0; "prev_session_message_id" = 23386; "replied_message" = "Oh noooo. Is anyone seeing your screen ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23385; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:04:20"; "file_name" = ""; message = Nope; "message_id" = 23387; "message_type" = 0; "prev_session_message_id" = 23386; "replied_message" = "Oh noooo. Is anyone seeing your screen ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23385; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23387, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23387] - stun:stun.l.google.com:19302 - turn:crivello.dyndns.org:3478?transport=udp - turn:crivello.dyndns.org:3478?transport=tcp - turns:crivello.dyndns.org:5349?transport=tcp datesent = "2026-03-03 13:08:58"; "file_name" = ""; message = "Missed you a lot!!!!!"; "message_id" = 23388; "message_type" = 0; "prev_session_message_id" = 23387; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-03 13:08:58"; "file_name" = ""; message = "Missed you a lot!!!!!"; "message_id" = 23388; "message_type" = 0; "prev_session_message_id" = 23387; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:08:58"; "file_name" = ""; message = "Missed you a lot!!!!!"; "message_id" = 23388; "message_type" = 0; "prev_session_message_id" = 23387; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23388, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:08:58"; "file_name" = ""; message = "Missed you, your face, your body, your hands, your lips, your eyes"; "message_id" = 23389; "message_type" = 0; "prev_session_message_id" = 23388; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23389, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 13:08:58"; "file_name" = ""; message = "Missed you, your face, your body, your hands, your lips, your eyes"; "message_id" = 23389; "message_type" = 0; "prev_session_message_id" = 23388; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23389, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-03 13:08:58"; "file_name" = ""; message = "Missed you, your face, your body, your hands, your lips, your eyes"; "message_id" = 23389; "message_type" = 0; "prev_session_message_id" = 23388; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23389, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] datesent = "2026-03-03 13:09:03"; "file_name" = ""; message = "Hi babyyy\U2764\Ufe0f\U2764\Ufe0f\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d\Ud83d\Ude0d"; "message_id" = 23390; "message_type" = 0; "prev_session_message_id" = 23389; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-03 13:09:03"; "file_name" = ""; message = "Hi babyyy\U2764\Ufe0f\U2764\Ufe0f\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d\Ud83d\Ude0d"; "message_id" = 23390; "message_type" = 0; "prev_session_message_id" = 23389; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-03 13:09:03"; "file_name" = ""; message = "Hi babyyy\U2764\Ufe0f\U2764\Ufe0f\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d\Ud83d\Ude0d"; "message_id" = 23390; "message_type" = 0; "prev_session_message_id" = 23389; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23394, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23393, AnyHashable("session_id"): ILUIWU] 0 Eye.debug.dylib 0x0000000102bf0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000102bfa790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000102bfaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 datesent = "2026-03-03 14:42:27"; "file_name" = ""; message = Babyyyy; "message_id" = 23397; "message_type" = 0; "prev_session_message_id" = 23396; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23397, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-03 14:42:27"; "file_name" = ""; message = Babyyyy; "message_id" = 23397; "message_type" = 0; "prev_session_message_id" = 23396; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23397, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23397, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 14:42:27"; "file_name" = ""; message = Babyyyy; "message_id" = 23397; "message_type" = 0; "prev_session_message_id" = 23396; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23397, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 14:42:44"; "file_name" = ""; message = "Finallyyy done for me\Ud83e\Udd13"; "message_id" = 23398; "message_type" = 0; "prev_session_message_id" = 23397; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23398, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 14:42:44"; "file_name" = ""; message = "Finallyyy done for me\Ud83e\Udd13"; "message_id" = 23398; "message_type" = 0; "prev_session_message_id" = 23397; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23398, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 14:42:44"; "file_name" = ""; message = "Finallyyy done for me\Ud83e\Udd13"; "message_id" = 23398; "message_type" = 0; "prev_session_message_id" = 23397; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 14:43:02"; "file_name" = ""; message = "Leaving from the office now"; "message_id" = 23399; "message_type" = 0; "prev_session_message_id" = 23398; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23399, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 14:43:02"; "file_name" = ""; message = "Leaving from the office now"; "message_id" = 23399; "message_type" = 0; "prev_session_message_id" = 23398; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23399, AnyHashable("operation_type"): 0] datesent = "2026-03-03 14:43:02"; "file_name" = ""; message = "Leaving from the office now"; "message_id" = 23399; "message_type" = 0; "prev_session_message_id" = 23398; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23399, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23399, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23401, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23402] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23403, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 14:43:33"; "file_name" = ""; message = "Nooo baby dont be"; "message_id" = 23403; "message_type" = 0; "prev_session_message_id" = 23402; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23403] datesent = "2026-03-03 14:43:33"; "file_name" = ""; message = "Nooo baby dont be"; "message_id" = 23403; "message_type" = 0; "prev_session_message_id" = 23402; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23403, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-03 14:43:41"; "file_name" = ""; message = "You did already \Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23404; "message_type" = 0; "prev_session_message_id" = 23403; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23404, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-03 14:43:41"; "file_name" = ""; message = "You did already \Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23404; "message_type" = 0; "prev_session_message_id" = 23403; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23404, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 14:43:41"; "file_name" = ""; message = "You did already \Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23404; "message_type" = 0; "prev_session_message_id" = 23403; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23404] "LocalDataTask <6B9A3AAD-2646-4E0F-8764-9AF11671803C>.<93>" ), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=1} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23405] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23406, AnyHashable("message_data"): { datesent = "2026-03-03 14:44:16"; "file_name" = ""; message = "Just seeing you brings me a lots of happiness, you can\U2019t imagine"; "message_id" = 23406; "message_type" = 0; "prev_session_message_id" = 23405; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "LocalWebSocketTask <42EE5AB4-189D-4CC3-BAC3-967B0A0300D5>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <42EE5AB4-189D-4CC3-BAC3-967B0A0300D5>.<1>} "content-available" = 1; }] datesent = "2026-03-03 14:44:16"; "file_name" = ""; message = "Just seeing you brings me a lots of happiness, you can\U2019t imagine"; "message_id" = 23406; "message_type" = 0; "prev_session_message_id" = 23405; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23406] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23407] datesent = "2026-03-03 16:08:36"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23408; "message_type" = 0; "prev_session_message_id" = 23407; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23408] datesent = "2026-03-03 16:08:36"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23408; "message_type" = 0; "prev_session_message_id" = 23407; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23408] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 16:08:36"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23408; "message_type" = 0; "prev_session_message_id" = 23407; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23408] "content-available" = 1; }] 0 Eye.debug.dylib 0x0000000102bf0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000102bfa790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000102bfaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("message_id"): 23409] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23411, AnyHashable("message_data"): { datesent = "2026-03-03 16:11:50"; "file_name" = ""; message = "Baby, I couldn\U2019t do it. Because I couldn\U2019t spend any minutes without you when you next to me"; "message_id" = 23411; "message_type" = 0; "prev_session_message_id" = 23410; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] datesent = "2026-03-03 16:56:53"; "file_name" = ""; message = Noooooooo; "message_id" = 23414; "message_type" = 0; "prev_session_message_id" = 23413; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23414, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23414, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-03 16:56:53"; "file_name" = ""; message = Noooooooo; "message_id" = 23414; "message_type" = 0; "prev_session_message_id" = 23413; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23414, AnyHashable("operation_type"): 3] datesent = "2026-03-03 16:57:08"; "file_name" = ""; message = "I wouldnt waste any minutes"; "message_id" = 23415; "message_type" = 0; "prev_session_message_id" = 23414; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] datesent = "2026-03-03 16:57:08"; "file_name" = ""; message = "I wouldnt waste any minutes"; "message_id" = 23415; "message_type" = 0; "prev_session_message_id" = 23414; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:08"; "file_name" = ""; message = "I wouldnt waste any minutes"; "message_id" = 23415; "message_type" = 0; "prev_session_message_id" = 23414; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23415] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23417, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:17"; "file_name" = ""; message = "https://www.instagram.com/reel/DUlR4dpjgGO/?igsh=MWYzdzMzY2VjNnQyYg=="; "message_id" = 23417; "message_type" = 0; "prev_session_message_id" = 23416; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23417, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:17"; "file_name" = ""; message = "https://www.instagram.com/reel/DUlR4dpjgGO/?igsh=MWYzdzMzY2VjNnQyYg=="; "message_id" = 23417; "message_type" = 0; "prev_session_message_id" = 23416; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] datesent = "2026-03-03 16:57:17"; "file_name" = ""; message = "https://www.instagram.com/reel/DUlR4dpjgGO/?igsh=MWYzdzMzY2VjNnQyYg=="; "message_id" = 23417; "message_type" = 0; "prev_session_message_id" = 23416; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23417, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:19"; "file_name" = ""; message = "Me today"; "message_id" = 23418; "message_type" = 0; "prev_session_message_id" = 23417; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23418] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:19"; "file_name" = ""; message = "Me today"; "message_id" = 23418; "message_type" = 0; "prev_session_message_id" = 23417; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23418] datesent = "2026-03-03 16:57:19"; "file_name" = ""; message = "Me today"; "message_id" = 23418; "message_type" = 0; "prev_session_message_id" = 23417; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23418] datesent = "2026-03-03 16:57:23"; "file_name" = ""; message = "\Ud83d\Ude44\Ud83e\Udd23"; "message_id" = 23419; "message_type" = 0; "prev_session_message_id" = 23418; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] datesent = "2026-03-03 16:57:23"; "file_name" = ""; message = "\Ud83d\Ude44\Ud83e\Udd23"; "message_id" = 23419; "message_type" = 0; "prev_session_message_id" = 23418; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] datesent = "2026-03-03 16:57:23"; "file_name" = ""; message = "\Ud83d\Ude44\Ud83e\Udd23"; "message_id" = 23419; "message_type" = 0; "prev_session_message_id" = 23418; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23419, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] datesent = "2026-03-03 16:57:35"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23420; "message_type" = 0; "prev_session_message_id" = 23419; "replied_message" = "Ha ha. Every experiment is good to try"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23416; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23420, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23420, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:35"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23420; "message_type" = 0; "prev_session_message_id" = 23419; "replied_message" = "Ha ha. Every experiment is good to try"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23416; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23421, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:45"; "file_name" = ""; message = "Prefer different ones \Ud83e\Udd2a\Ud83e\Udd2a"; "message_id" = 23421; "message_type" = 0; "prev_session_message_id" = 23420; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23421, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:45"; "file_name" = ""; message = "Prefer different ones \Ud83e\Udd2a\Ud83e\Udd2a"; "message_id" = 23421; "message_type" = 0; "prev_session_message_id" = 23420; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-03 16:57:45"; "file_name" = ""; message = "Prefer different ones \Ud83e\Udd2a\Ud83e\Udd2a"; "message_id" = 23421; "message_type" = 0; "prev_session_message_id" = 23420; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23421, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23421] "content-available" = 1; }, AnyHashable("message_id"): 23422, AnyHashable("session_id"): ILUIWU] ── Body ── {"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23423,"event_type":2} "LocalWebSocketTask <0A033EC3-6B02-4A85-8C48-9BF6CFC6C2B4>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0A033EC3-6B02-4A85-8C48-9BF6CFC6C2B4>.<1>} "LocalWebSocketTask <6C0C45D9-D02D-47B4-AE48-75A5E80C9C1B>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6C0C45D9-D02D-47B4-AE48-75A5E80C9C1B>.<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("message_id"): 23425, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23427] "content-available" = 1; }, AnyHashable("message_id"): 23426, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask <3C931C6D-265F-491F-B837-035E138BC224>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3C931C6D-265F-491F-B837-035E138BC224>.<1>} "LocalWebSocketTask <9149A2F8-6EBE-4247-8C74-890FFB33AE20>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9149A2F8-6EBE-4247-8C74-890FFB33AE20>.<1>} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "LocalWebSocketTask <584F2206-604F-4983-AA75-6DEEF0217466>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <584F2206-604F-4983-AA75-6DEEF0217466>.<1>} datesent = "2026-03-03 19:07:35"; "file_name" = ""; message = "Whaaaaaat\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29\Ud83e\Udd29"; "message_id" = 23431; "message_type" = 0; "prev_session_message_id" = 23430; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23431] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23431] datesent = "2026-03-03 19:07:48"; "file_name" = ""; message = "Then same for me\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23432; "message_type" = 0; "prev_session_message_id" = 23431; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("message_id"): 23432, AnyHashable("operation_type"): 3] "content-available" = 1; }] "LocalWebSocketTask <7547EE69-AB23-443D-80E6-08FC0B89D75C>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7547EE69-AB23-443D-80E6-08FC0B89D75C>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 05:23:42"; "file_name" = ""; message = "Yess, feeling so tired \Ud83e\Udd72"; "message_id" = 23440; "message_type" = 0; "prev_session_message_id" = 23439; "replied_message" = "Going early to bed these days \Ud83d\Ude0a"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23436; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23440] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23438] "content-available" = 1; }, AnyHashable("message_id"): 23440] datesent = "2026-03-04 06:17:51"; "file_name" = ""; message = "Show me\Ud83e\Udee6"; "message_id" = 23452; "message_type" = 0; "prev_session_message_id" = 23451; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 0] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "LocalDataTask <60FDB9FF-F520-4976-AD4F-9D0F6ED04238>.<59>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23453] datesent = "2026-03-04 06:22:18"; "file_name" = ""; message = Mmmmm; "message_id" = 23454; "message_type" = 0; "prev_session_message_id" = 23453; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23454] "LocalWebSocketTask <6A02D5F3-8BF7-436E-87F5-E44D0E204980>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6A02D5F3-8BF7-436E-87F5-E44D0E204980>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23454] "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-04 06:22:29"; "file_name" = ""; message = "My babieesss\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23455; "message_type" = 0; "prev_session_message_id" = 23454; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23457] datesent = "2026-03-04 06:22:58"; "file_name" = ""; message = "I\U2019ll baby."; "message_id" = 23459; "message_type" = 0; "prev_session_message_id" = 23458; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23459, AnyHashable("operation_type"): 0, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "LocalDataTask <193A5C67-F47F-4676-BBBA-38FEBE23867A>.<107>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} "LocalDataTask .<110>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23459] "content-available" = 1; }] datesent = "2026-03-04 06:23:13"; "file_name" = ""; message = "Starting to touching you now"; "message_id" = 23462; "message_type" = 0; "prev_session_message_id" = 23461; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23462, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "LocalDataTask .<122>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23458&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23458&mark_read=0, _kCFStreamErrorDomainKey=4} "LocalDataTask .<121>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23459&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23459&mark_read=0, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-04 06:23:24"; "file_name" = ""; message = Slowly; "message_id" = 23465; "message_type" = 0; "prev_session_message_id" = 23464; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23461, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23462, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23460, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 06:23:45"; "file_name" = ""; message = "One hand on your sex, one on your balls \Ud83e\Udee6"; "message_id" = 23466; "message_type" = 0; "prev_session_message_id" = 23465; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23466, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23467, AnyHashable("session_id"): ILUIWU] "LocalDataTask <1EAD8B3F-440F-4D7A-927B-66ADB46B64AC>.<173>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23467&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23467&mark_read=0, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23470, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23471, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 06:25:04"; "file_name" = ""; message = "I cant resist, have to suck him now\Ud83e\Udee6"; "message_id" = 23473; "message_type" = 0; "prev_session_message_id" = 23472; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 06:25:20"; "file_name" = ""; message = "Starting from top, slowly"; "message_id" = 23474; "message_type" = 0; "prev_session_message_id" = 23473; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23474, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 06:25:37"; "file_name" = ""; message = "Feel my mouth, my lips, my tongue \Ud83e\Udee6"; "message_id" = 23476; "message_type" = 0; "prev_session_message_id" = 23475; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23476, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23477] "content-available" = 1; }, AnyHashable("operation_type"): 3] datesent = "2026-03-04 06:26:08"; "file_name" = ""; message = "Then we\U2019ll continue there\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83d\Ude0f"; "message_id" = 23479; "message_type" = 0; "prev_session_message_id" = 23478; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { "content-available" = 1; }] datesent = "2026-03-04 06:26:32"; "file_name" = ""; message = "One finger on anus, other on your sex."; "message_id" = 23480; "message_type" = 0; "prev_session_message_id" = 23479; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_data"): { datesent = "2026-03-04 06:26:46"; "file_name" = ""; message = "I want you to stay at 10 for 5 mins"; "message_id" = 23481; "message_type" = 0; "prev_session_message_id" = 23480; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23481] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23482] "content-available" = 1; }] datesent = "2026-03-04 06:27:30"; "file_name" = ""; message = "Tell me when is your last time?"; "message_id" = 23485; "message_type" = 0; "prev_session_message_id" = 23484; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23485] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23484, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23453, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 4] datesent = "2026-03-04 07:35:40"; "file_name" = ""; message = "His birthday baby"; "message_id" = 23495; "message_type" = 0; "prev_session_message_id" = 23494; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23495, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 07:35:50"; "file_name" = ""; message = "I was so tired at ski trip\Ud83e\Udd23"; "message_id" = 23496; "message_type" = 0; "prev_session_message_id" = 23495; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23496, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 07:35:50"; "file_name" = ""; message = "I was so tired at ski trip\Ud83e\Udd23"; "message_id" = 23496; "message_type" = 0; "prev_session_message_id" = 23495; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23496, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23496, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 07:35:50"; "file_name" = ""; message = "I was so tired at ski trip\Ud83e\Udd23"; "message_id" = 23496; "message_type" = 0; "prev_session_message_id" = 23495; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] datesent = "2026-03-04 07:37:07"; "file_name" = ""; message = "But I dont remember when was the last time I came while making love with him"; "message_id" = 23499; "message_type" = 0; "prev_session_message_id" = 23498; "replied_message" = "Your last time was for his birthday or it happened also at ski trip ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23494; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23499] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3] "LocalDataTask .<101>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} datesent = "2026-03-04 07:39:55"; "file_name" = ""; message = "Ha ha I knooooow\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83e\Udee6"; "message_id" = 23505; "message_type" = 0; "prev_session_message_id" = 23504; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 07:39:55"; "file_name" = ""; message = "Ha ha I knooooow\Ud83d\Ude0f\Ud83d\Ude0f\Ud83d\Ude0f\Ud83e\Udee6"; "message_id" = 23505; "message_type" = 0; "prev_session_message_id" = 23504; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("message_id"): 23505, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "LocalDataTask <882C2733-1B12-40E4-A35E-11E1F60EB00F>.<116>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} datesent = "2026-03-04 07:56:47"; "file_name" = ""; message = "Between 5-6 (tr time) I\U2019ll be yours \Ud83e\Udee6"; "message_id" = 23511; "message_type" = 0; "prev_session_message_id" = 23510; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23511, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23511, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 07:56:47"; "file_name" = ""; message = "Between 5-6 (tr time) I\U2019ll be yours \Ud83e\Udee6"; "message_id" = 23511; "message_type" = 0; "prev_session_message_id" = 23510; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23510] "LocalWebSocketTask <4E38326B-6DD8-40DE-A98C-CAC303FF2709>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4E38326B-6DD8-40DE-A98C-CAC303FF2709>.<1>} "LocalDataTask <503821DC-44BD-47CE-925A-6FDDE7105A8A>.<159>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23512] "LocalWebSocketTask <0A74D53A-FD1A-4D48-895F-78F0D758E7CB>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0A74D53A-FD1A-4D48-895F-78F0D758E7CB>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23513, AnyHashable("message_data"): { datesent = "2026-03-04 09:03:53"; "file_name" = ""; message = "Ha ha\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23513; "message_type" = 0; "prev_session_message_id" = 23512; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] datesent = "2026-03-04 09:03:53"; "file_name" = ""; message = "Ha ha\Ud83d\Ude0f\Ud83d\Ude0f"; "message_id" = 23513; "message_type" = 0; "prev_session_message_id" = 23512; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 09:04:24"; "file_name" = ""; message = "Higher please \Ud83e\Udee2\Ud83e\Udee2\Ud83d\Ude0f"; "message_id" = 23514; "message_type" = 0; "prev_session_message_id" = 23513; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23514, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23514, AnyHashable("message_data"): { datesent = "2026-03-04 09:04:24"; "file_name" = ""; message = "Higher please \Ud83e\Udee2\Ud83e\Udee2\Ud83d\Ude0f"; "message_id" = 23514; "message_type" = 0; "prev_session_message_id" = 23513; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "LocalDataTask <90AFF4DD-61AD-4B7B-AF68-77E41F1DF484>.<192>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23516, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 11:24:22"; "file_name" = ""; message = "Are you sureee? Because Im not sure how annoying person Im when my periods begin \Ud83e\Udd23"; "message_id" = 23516; "message_type" = 0; "prev_session_message_id" = 23515; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] datesent = "2026-03-04 11:24:22"; "file_name" = ""; message = "Are you sureee? Because Im not sure how annoying person Im when my periods begin \Ud83e\Udd23"; "message_id" = 23516; "message_type" = 0; "prev_session_message_id" = 23515; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23516] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23518, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23518] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23521] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23521] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23521] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23521] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23521] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 11:44:19"; "file_name" = ""; message = "Esra? \Ud83d\Ude44\Ud83e\Udd23\Ud83e\Udd2a"; "message_id" = 23522; "message_type" = 0; "prev_session_message_id" = 23521; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23522, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 11:44:19"; "file_name" = ""; message = "Esra? \Ud83d\Ude44\Ud83e\Udd23\Ud83e\Udd2a"; "message_id" = 23522; "message_type" = 0; "prev_session_message_id" = 23521; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23522, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 11:44:19"; "file_name" = ""; message = "Esra? \Ud83d\Ude44\Ud83e\Udd23\Ud83e\Udd2a"; "message_id" = 23522; "message_type" = 0; "prev_session_message_id" = 23521; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23522] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("message_id"): 23523, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 11:44:46"; "file_name" = ""; message = "Ha ha \Ud83e\Udd23"; "message_id" = 23524; "message_type" = 0; "prev_session_message_id" = 23523; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 11:44:46"; "file_name" = ""; message = "Ha ha \Ud83e\Udd23"; "message_id" = 23524; "message_type" = 0; "prev_session_message_id" = 23523; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 11:44:46"; "file_name" = ""; message = "Ha ha \Ud83e\Udd23"; "message_id" = 23524; "message_type" = 0; "prev_session_message_id" = 23523; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23526] "LocalDataTask <64C453A1-C5B6-42BC-8093-FE56C8F6FF26>.<297>" ), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=1} "content-available" = 1; }, AnyHashable("operation_type"): 3] datesent = "2026-03-04 11:45:25"; "file_name" = ""; message = "\Ud83d\Ude43\Ud83d\Ude43\Ud83d\Ude43"; "message_id" = 23528; "message_type" = 0; "prev_session_message_id" = 23527; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23528] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23528, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} datesent = "2026-03-04 11:54:24"; "file_name" = ""; message = "Better actually. The first 3 days are like a nightmare but the rest is ok."; "message_id" = 23530; "message_type" = 0; "prev_session_message_id" = 23529; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23530, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 11:54:24"; "file_name" = ""; message = "Better actually. The first 3 days are like a nightmare but the rest is ok."; "message_id" = 23530; "message_type" = 0; "prev_session_message_id" = 23529; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23530, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] datesent = "2026-03-04 12:33:15"; "file_name" = ""; message = "I had a call with natascia and she said we will work more closer\Ud83d\Ude36\U200d\Ud83c\Udf2b\Ufe0f"; "message_id" = 23534; "message_type" = 0; "prev_session_message_id" = 23533; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23534, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23534] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23535] "LocalWebSocketTask <9E2D0B9D-A8CA-4977-B60A-6F10302AE065>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9E2D0B9D-A8CA-4977-B60A-6F10302AE065>.<1>} datesent = "2026-03-04 13:00:48"; "file_name" = ""; message = "Not sure"; "message_id" = 23537; "message_type" = 0; "prev_session_message_id" = 23536; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23537, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("message_id"): 23537, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 13:00:48"; "file_name" = ""; message = "Not sure"; "message_id" = 23537; "message_type" = 0; "prev_session_message_id" = 23536; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23537] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23538, AnyHashable("message_data"): { datesent = "2026-03-04 13:00:59"; "file_name" = ""; message = "She started to complain already"; "message_id" = 23538; "message_type" = 0; "prev_session_message_id" = 23537; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23538, AnyHashable("message_data"): { datesent = "2026-03-04 13:00:59"; "file_name" = ""; message = "She started to complain already"; "message_id" = 23538; "message_type" = 0; "prev_session_message_id" = 23537; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] datesent = "2026-03-04 13:00:59"; "file_name" = ""; message = "She started to complain already"; "message_id" = 23538; "message_type" = 0; "prev_session_message_id" = 23537; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23538, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23538] datesent = "2026-03-04 13:01:10"; "file_name" = ""; message = "About Sasa, about process bla bla"; "message_id" = 23539; "message_type" = 0; "prev_session_message_id" = 23538; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 13:01:10"; "file_name" = ""; message = "About Sasa, about process bla bla"; "message_id" = 23539; "message_type" = 0; "prev_session_message_id" = 23538; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 13:01:10"; "file_name" = ""; message = "About Sasa, about process bla bla"; "message_id" = 23539; "message_type" = 0; "prev_session_message_id" = 23538; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23539, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23539, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23541, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 13:01:51"; "file_name" = ""; message = "\Ud83d\Ude12\Ud83d\Ude12"; "message_id" = 23541; "message_type" = 0; "prev_session_message_id" = 23540; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23541, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 13:01:51"; "file_name" = ""; message = "\Ud83d\Ude12\Ud83d\Ude12"; "message_id" = 23541; "message_type" = 0; "prev_session_message_id" = 23540; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 13:01:51"; "file_name" = ""; message = "\Ud83d\Ude12\Ud83d\Ude12"; "message_id" = 23541; "message_type" = 0; "prev_session_message_id" = 23540; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23541] "content-available" = 1; }, AnyHashable("message_id"): 23542, AnyHashable("operation_type"): 3] "LocalWebSocketTask <73D0410C-11DF-485C-BF4C-21906E271B2B>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <73D0410C-11DF-485C-BF4C-21906E271B2B>.<1>, NSLocalizedDescription=The network connection was lost.} datesent = "2026-03-04 13:02:32"; "file_name" = ""; message = "Noted baby\U2764\Ufe0f"; "message_id" = 23543; "message_type" = 0; "prev_session_message_id" = 23542; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23543] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23543] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23544] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23545] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 datesent = "2026-03-04 13:42:06"; "file_name" = ""; message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d"; "message_id" = 23547; "message_type" = 0; "prev_session_message_id" = 23546; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23547, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 13:42:06"; "file_name" = ""; message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83d\Ude0d"; "message_id" = 23547; "message_type" = 0; "prev_session_message_id" = 23546; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23547] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23546, AnyHashable("operation_type"): 3] "LocalWebSocketTask <53F1D24B-6750-4BB1-83AC-7E903F4F2294>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <53F1D24B-6750-4BB1-83AC-7E903F4F2294>.<1>} datesent = "2026-03-04 13:42:23"; "file_name" = ""; message = "You look tired?"; "message_id" = 23548; "message_type" = 0; "prev_session_message_id" = 23547; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23548, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 13:42:23"; "file_name" = ""; message = "You look tired?"; "message_id" = 23548; "message_type" = 0; "prev_session_message_id" = 23547; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23549, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23551, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("message_id"): 23551, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23551, AnyHashable("operation_type"): 3] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23556, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 13:49:42"; "file_name" = ""; message = "Ha ha. But I\U2019ll buy a rayban meta from New York, so you\U2019ll be able to see moreeee frame from my life"; "message_id" = 23556; "message_type" = 0; "prev_session_message_id" = 23555; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] datesent = "2026-03-04 13:50:28"; "file_name" = ""; message = "\U2764\Ufe0f\Ud83e\Udd70"; "message_id" = 23558; "message_type" = 0; "prev_session_message_id" = 23557; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23558] datesent = "2026-03-04 13:50:28"; "file_name" = ""; message = "\U2764\Ufe0f\Ud83e\Udd70"; "message_id" = 23558; "message_type" = 0; "prev_session_message_id" = 23557; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23558, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] datesent = "2026-03-04 13:50:46"; "file_name" = ""; message = "I want you to be part of my life"; "message_id" = 23560; "message_type" = 0; "prev_session_message_id" = 23559; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23560, AnyHashable("operation_type"): 0] datesent = "2026-03-04 13:50:46"; "file_name" = ""; message = "I want you to be part of my life"; "message_id" = 23560; "message_type" = 0; "prev_session_message_id" = 23559; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23560, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23560, AnyHashable("message_data"): { datesent = "2026-03-04 13:50:46"; "file_name" = ""; message = "I want you to be part of my life"; "message_id" = 23560; "message_type" = 0; "prev_session_message_id" = 23559; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23560, AnyHashable("message_data"): { datesent = "2026-03-04 13:50:46"; "file_name" = ""; message = "I want you to be part of my life"; "message_id" = 23560; "message_type" = 0; "prev_session_message_id" = 23559; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23561, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23562, AnyHashable("message_data"): { datesent = "2026-03-04 13:51:32"; "file_name" = ""; message = "Ha ha \Ud83e\Udd23 I can ask but Im sure he won\U2019t be happy about that question \Ud83e\Udd23"; "message_id" = 23562; "message_type" = 0; "prev_session_message_id" = 23561; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23562, AnyHashable("message_data"): { datesent = "2026-03-04 13:51:32"; "file_name" = ""; message = "Ha ha \Ud83e\Udd23 I can ask but Im sure he won\U2019t be happy about that question \Ud83e\Udd23"; "message_id" = 23562; "message_type" = 0; "prev_session_message_id" = 23561; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "LocalDataTask <1C7FB927-CC4A-4400-8B56-2BF6E8EAFDB9>.<613>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23565, AnyHashable("message_data"): { datesent = "2026-03-04 13:59:44"; "file_name" = ""; message = "Baby, he will certainly know \Ud83d\Ude03\Ud83e\Udd2d"; "message_id" = 23565; "message_type" = 0; "prev_session_message_id" = 23564; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "LocalWebSocketTask <1CD5F7CD-2359-4EAD-9C46-93D3E1B425E7>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <1CD5F7CD-2359-4EAD-9C46-93D3E1B425E7>.<1>} datesent = "2026-03-04 13:59:44"; "file_name" = ""; message = "Baby, he will certainly know \Ud83d\Ude03\Ud83e\Udd2d"; "message_id" = 23565; "message_type" = 0; "prev_session_message_id" = 23564; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23565, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23565, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23565] "content-available" = 1; }, AnyHashable("message_id"): 23566, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:00:18"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23567; "message_type" = 0; "prev_session_message_id" = 23566; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23567] datesent = "2026-03-04 14:00:18"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23567; "message_type" = 0; "prev_session_message_id" = 23566; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:00:33"; "file_name" = ""; message = "Im free now\Ud83d\Ude0f"; "message_id" = 23568; "message_type" = 0; "prev_session_message_id" = 23567; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23568] datesent = "2026-03-04 14:00:33"; "file_name" = ""; message = "Im free now\Ud83d\Ude0f"; "message_id" = 23568; "message_type" = 0; "prev_session_message_id" = 23567; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23568] datesent = "2026-03-04 14:00:33"; "file_name" = ""; message = "Im free now\Ud83d\Ude0f"; "message_id" = 23568; "message_type" = 0; "prev_session_message_id" = 23567; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23568] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] datesent = "2026-03-04 14:01:28"; "file_name" = ""; message = "There are some options and I will try then decide. But not so much high"; "message_id" = 23570; "message_type" = 0; "prev_session_message_id" = 23569; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23570] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:01:28"; "file_name" = ""; message = "There are some options and I will try then decide. But not so much high"; "message_id" = 23570; "message_type" = 0; "prev_session_message_id" = 23569; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] datesent = "2026-03-04 14:03:53"; "file_name" = ""; message = "Go to bathroom baby"; "message_id" = 23571; "message_type" = 0; "prev_session_message_id" = 23570; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23571, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:03:53"; "file_name" = ""; message = "Go to bathroom baby"; "message_id" = 23571; "message_type" = 0; "prev_session_message_id" = 23570; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23571, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:03:53"; "file_name" = ""; message = "Go to bathroom baby"; "message_id" = 23571; "message_type" = 0; "prev_session_message_id" = 23570; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23571, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23571, AnyHashable("operation_type"): 3] datesent = "2026-03-04 14:04:11"; "file_name" = ""; message = "For 1-0 ?"; "message_id" = 23572; "message_type" = 0; "prev_session_message_id" = 23571; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:04:11"; "file_name" = ""; message = "For 1-0 ?"; "message_id" = 23572; "message_type" = 0; "prev_session_message_id" = 23571; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:04:11"; "file_name" = ""; message = "For 1-0 ?"; "message_id" = 23572; "message_type" = 0; "prev_session_message_id" = 23571; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23572] "content-available" = 1; }, AnyHashable("message_id"): 23572, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23573, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23574, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23575, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23576, AnyHashable("message_data"): { datesent = "2026-03-04 14:05:17"; "file_name" = ""; message = "\Ud83e\Udee6"; "message_id" = 23576; "message_type" = 0; "prev_session_message_id" = 23575; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23576, AnyHashable("message_data"): { datesent = "2026-03-04 14:05:17"; "file_name" = ""; message = "\Ud83e\Udee6"; "message_id" = 23576; "message_type" = 0; "prev_session_message_id" = 23575; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:05:17"; "file_name" = ""; message = "\Ud83e\Udee6"; "message_id" = 23576; "message_type" = 0; "prev_session_message_id" = 23575; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23576] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23577, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:05:49"; "file_name" = ""; message = "Starting in 1 mins"; "message_id" = 23577; "message_type" = 0; "prev_session_message_id" = 23576; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23577, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:05:49"; "file_name" = ""; message = "Starting in 1 mins"; "message_id" = 23577; "message_type" = 0; "prev_session_message_id" = 23576; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] datesent = "2026-03-04 14:05:49"; "file_name" = ""; message = "Starting in 1 mins"; "message_id" = 23577; "message_type" = 0; "prev_session_message_id" = 23576; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23578] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23579, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:07:28"; "file_name" = ""; message = "Yes sir"; "message_id" = 23580; "message_type" = 0; "prev_session_message_id" = 23579; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23580] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:07:28"; "file_name" = ""; message = "Yes sir"; "message_id" = 23580; "message_type" = 0; "prev_session_message_id" = 23579; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23580] datesent = "2026-03-04 14:07:28"; "file_name" = ""; message = "Yes sir"; "message_id" = 23580; "message_type" = 0; "prev_session_message_id" = 23579; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("message_id"): 23580, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23582, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23584, AnyHashable("message_data"): { datesent = "2026-03-04 14:10:13"; "file_name" = ""; message = "I like that view\Ud83e\Udd2a"; "message_id" = 23584; "message_type" = 0; "prev_session_message_id" = 23583; "replied_message" = "Your front camera is facing your sex, from bottom"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23582; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23584, AnyHashable("message_data"): { datesent = "2026-03-04 14:10:13"; "file_name" = ""; message = "I like that view\Ud83e\Udd2a"; "message_id" = 23584; "message_type" = 0; "prev_session_message_id" = 23583; "replied_message" = "Your front camera is facing your sex, from bottom"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23582; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:10:13"; "file_name" = ""; message = "I like that view\Ud83e\Udd2a"; "message_id" = 23584; "message_type" = 0; "prev_session_message_id" = 23583; "replied_message" = "Your front camera is facing your sex, from bottom"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23582; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23584] "content-available" = 1; }] "LocalWebSocketTask <27A50F28-9FDF-4625-A5E7-3CFC19C32FDD>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <27A50F28-9FDF-4625-A5E7-3CFC19C32FDD>.<1>, NSLocalizedDescription=cancelled} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23585] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23586, AnyHashable("message_data"): { datesent = "2026-03-04 14:10:34"; "file_name" = ""; message = "Right or left hand?"; "message_id" = 23586; "message_type" = 0; "prev_session_message_id" = 23585; "replied_message" = "Now starting slowly touching. Only one finger. As I'm seeing the screen, your finger should now hide too much your sex"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23583; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:10:45"; "file_name" = ""; message = "And which finger?"; "message_id" = 23587; "message_type" = 0; "prev_session_message_id" = 23586; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23587] "LocalWebSocketTask <68DE2064-D5F1-4BEB-9919-A7EC91119F8F>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <68DE2064-D5F1-4BEB-9919-A7EC91119F8F>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:10:58"; "file_name" = ""; message = "You need to tell me every detail"; "message_id" = 23588; "message_type" = 0; "prev_session_message_id" = 23587; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23589, AnyHashable("message_data"): { datesent = "2026-03-04 14:11:00"; "file_name" = ""; message = "\Ud83e\Udd2d"; "message_id" = 23589; "message_type" = 0; "prev_session_message_id" = 23588; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23588] "content-available" = 1; }, AnyHashable("message_id"): 23589, AnyHashable("session_id"): ILUIWU] ── Body ── {"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23595,"event_type":2} "LocalWebSocketTask <109882DD-F19A-4F38-981C-8459423D1F4F>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <109882DD-F19A-4F38-981C-8459423D1F4F>.<1>} datesent = "2026-03-04 14:16:57"; "file_name" = ""; message = "So willing"; "message_id" = 23599; "message_type" = 0; "prev_session_message_id" = 23598; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23599] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23599] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:17:07"; "file_name" = ""; message = "Want you sooo much!"; "message_id" = 23600; "message_type" = 0; "prev_session_message_id" = 23599; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:17:07"; "file_name" = ""; message = "Want you sooo much!"; "message_id" = 23600; "message_type" = 0; "prev_session_message_id" = 23599; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:17:07"; "file_name" = ""; message = "Want you sooo much!"; "message_id" = 23600; "message_type" = 0; "prev_session_message_id" = 23599; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23600, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23601, AnyHashable("message_data"): { datesent = "2026-03-04 14:17:29"; "file_name" = ""; message = "Wet\Ud83e\Udee6"; "message_id" = 23601; "message_type" = 0; "prev_session_message_id" = 23600; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23601, AnyHashable("message_data"): { datesent = "2026-03-04 14:17:29"; "file_name" = ""; message = "Wet\Ud83e\Udee6"; "message_id" = 23601; "message_type" = 0; "prev_session_message_id" = 23600; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] datesent = "2026-03-04 14:17:29"; "file_name" = ""; message = "Wet\Ud83e\Udee6"; "message_id" = 23601; "message_type" = 0; "prev_session_message_id" = 23600; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23601, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23602] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23603, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:17:51"; "file_name" = ""; message = Mmm; "message_id" = 23603; "message_type" = 0; "prev_session_message_id" = 23602; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("message_id"): 23603, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:18:14"; "file_name" = ""; message = "My finger is your finger \Ud83e\Udee6"; "message_id" = 23604; "message_type" = 0; "prev_session_message_id" = 23603; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23604, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask <91AD6C82-0D77-45A3-895B-2C9A3766C919>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <91AD6C82-0D77-45A3-895B-2C9A3766C919>.<1>} datesent = "2026-03-04 14:18:23"; "file_name" = ""; message = "Feel you baby"; "message_id" = 23605; "message_type" = 0; "prev_session_message_id" = 23604; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23605] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23605, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:18:23"; "file_name" = ""; message = "Feel you baby"; "message_id" = 23605; "message_type" = 0; "prev_session_message_id" = 23604; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23607] datesent = "2026-03-04 14:19:56"; "file_name" = ""; message = Whhaaaaaat; "message_id" = 23608; "message_type" = 0; "prev_session_message_id" = 23607; "replied_message" = Stop; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23606; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23608] datesent = "2026-03-04 14:19:56"; "file_name" = ""; message = Whhaaaaaat; "message_id" = 23608; "message_type" = 0; "prev_session_message_id" = 23607; "replied_message" = Stop; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23606; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23608] datesent = "2026-03-04 14:19:56"; "file_name" = ""; message = Whhaaaaaat; "message_id" = 23608; "message_type" = 0; "prev_session_message_id" = 23607; "replied_message" = Stop; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23606; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23608] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:19:58"; "file_name" = ""; message = Babyyy; "message_id" = 23609; "message_type" = 0; "prev_session_message_id" = 23608; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23609] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:19:58"; "file_name" = ""; message = Babyyy; "message_id" = 23609; "message_type" = 0; "prev_session_message_id" = 23608; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23609] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:19:58"; "file_name" = ""; message = Babyyy; "message_id" = 23609; "message_type" = 0; "prev_session_message_id" = 23608; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23609, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:20:00"; "file_name" = ""; message = "\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72"; "message_id" = 23610; "message_type" = 0; "prev_session_message_id" = 23609; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:20:00"; "file_name" = ""; message = "\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72"; "message_id" = 23610; "message_type" = 0; "prev_session_message_id" = 23609; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:20:00"; "file_name" = ""; message = "\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72\Ud83e\Udd72"; "message_id" = 23610; "message_type" = 0; "prev_session_message_id" = 23609; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23610, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:20:01"; "file_name" = ""; message = Noooooooo; "message_id" = 23611; "message_type" = 0; "prev_session_message_id" = 23610; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23611, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:20:01"; "file_name" = ""; message = Noooooooo; "message_id" = 23611; "message_type" = 0; "prev_session_message_id" = 23610; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23611, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:20:01"; "file_name" = ""; message = Noooooooo; "message_id" = 23611; "message_type" = 0; "prev_session_message_id" = 23610; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23611, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23608, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23609, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23611] "content-available" = 1; }, AnyHashable("message_id"): 23612, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23614] ── Body ── {"ok":true,"message":"Message updated","session_id":"ILUIWU","message_id":23614,"event_type":2} "content-available" = 1; }] "content-available" = 1; }] datesent = "2026-03-04 14:20:47"; "file_name" = ""; message = "I want to come"; "message_id" = 23615; "message_type" = 0; "prev_session_message_id" = 23614; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23615] datesent = "2026-03-04 14:20:47"; "file_name" = ""; message = "I want to come"; "message_id" = 23615; "message_type" = 0; "prev_session_message_id" = 23614; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23615] datesent = "2026-03-04 14:20:47"; "file_name" = ""; message = "I want to come"; "message_id" = 23615; "message_type" = 0; "prev_session_message_id" = 23614; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23615, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:21:09"; "file_name" = ""; message = Pls; "message_id" = 23616; "message_type" = 0; "prev_session_message_id" = 23615; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23616] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:21:09"; "file_name" = ""; message = Pls; "message_id" = 23616; "message_type" = 0; "prev_session_message_id" = 23615; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23616] datesent = "2026-03-04 14:21:09"; "file_name" = ""; message = Pls; "message_id" = 23616; "message_type" = 0; "prev_session_message_id" = 23615; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23616] "content-available" = 1; }] datesent = "2026-03-04 14:21:28"; "file_name" = ""; message = "I need to come"; "message_id" = 23617; "message_type" = 0; "prev_session_message_id" = 23616; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23617, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] datesent = "2026-03-04 14:21:28"; "file_name" = ""; message = "I need to come"; "message_id" = 23617; "message_type" = 0; "prev_session_message_id" = 23616; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23617, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] datesent = "2026-03-04 14:21:28"; "file_name" = ""; message = "I need to come"; "message_id" = 23617; "message_type" = 0; "prev_session_message_id" = 23616; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23617] "content-available" = 1; }, AnyHashable("message_id"): 23617, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23618, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:21:59"; "file_name" = ""; message = "My loooove plss"; "message_id" = 23619; "message_type" = 0; "prev_session_message_id" = 23618; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23619] datesent = "2026-03-04 14:21:59"; "file_name" = ""; message = "My loooove plss"; "message_id" = 23619; "message_type" = 0; "prev_session_message_id" = 23618; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23619] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:21:59"; "file_name" = ""; message = "My loooove plss"; "message_id" = 23619; "message_type" = 0; "prev_session_message_id" = 23618; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23619, AnyHashable("operation_type"): 0] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23620, AnyHashable("operation_type"): 3] datesent = "2026-03-04 14:22:16"; "file_name" = ""; message = "Want you soo much"; "message_id" = 23621; "message_type" = 0; "prev_session_message_id" = 23620; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23621] datesent = "2026-03-04 14:22:16"; "file_name" = ""; message = "Want you soo much"; "message_id" = 23621; "message_type" = 0; "prev_session_message_id" = 23620; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23621] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:22:16"; "file_name" = ""; message = "Want you soo much"; "message_id" = 23621; "message_type" = 0; "prev_session_message_id" = 23620; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:22:21"; "file_name" = ""; message = "Yes yes yes"; "message_id" = 23622; "message_type" = 0; "prev_session_message_id" = 23621; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23622] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:22:21"; "file_name" = ""; message = "Yes yes yes"; "message_id" = 23622; "message_type" = 0; "prev_session_message_id" = 23621; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23622] datesent = "2026-03-04 14:22:21"; "file_name" = ""; message = "Yes yes yes"; "message_id" = 23622; "message_type" = 0; "prev_session_message_id" = 23621; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23622] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23622] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23621] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000104a2d9d0 $s3Eye14ViewControllerC05tableB0_14didSelectRowAtySo07UITableB0C_10Foundation9IndexPathVtFySo7NSTimerCYbcfU2_ + 808 2 Eye.debug.dylib 0x00000001047c6a04 $sSo7NSTimerCIeghg_ABIeyBhy_TR + 72 3 Foundation 0x000000019ba709bc __NSFireTimer + 96 4 CoreFoundation 0x000000019e364c00 D52BCEEE-E890-347C-8461-1537154E22D9 + 318464 5 CoreFoundation 0x000000019e3648c0 D52BCEEE-E890-347C-8461-1537154E22D9 + 317632 6 CoreFoundation 0x000000019e364434 D52BCEEE-E890-347C-8461-1537154E22D9 + 316468 7 CoreFoundation 0x000000019e334abc D52BCEEE-E890-347C-8461-1537154E22D9 + 121532 8 CoreFoundation 0x000000019e333a6c D52BCEEE-E890-347C-8461-1537154E22D9 + 117356 9 GraphicsServices 0x0000000242cb9498 GSEventRunModal + 120 "content-available" = 1; }, AnyHashable("operation_type"): 1, AnyHashable("message_id"): 23607] -- Response Headers -- Connection: Keep-Alive Content-Type: application/json; charset=utf-8 Content-Length: 67 Keep-Alive: timeout=5, max=100 Date: Wed, 04 Mar 2026 14:22:48 GMT Server: Apache/2.4.66 (Debian) -- Body -- {"ok":true,"event_type":1,"message_id":23607,"session_id":"ILUIWU"} "content-available" = 1; }] "LocalWebSocketTask <277604B1-5647-40B4-9182-4592CF2FBCC2>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <277604B1-5647-40B4-9182-4592CF2FBCC2>.<1>, NSLocalizedDescription=cancelled} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23624] "content-available" = 1; }] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("message_id"): 23625, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] datesent = "2026-03-04 14:24:00"; "file_name" = ""; message = "Pls baby"; "message_id" = 23627; "message_type" = 0; "prev_session_message_id" = 23626; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:24:00"; "file_name" = ""; message = "Pls baby"; "message_id" = 23627; "message_type" = 0; "prev_session_message_id" = 23626; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:24:00"; "file_name" = ""; message = "Pls baby"; "message_id" = 23627; "message_type" = 0; "prev_session_message_id" = 23626; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23629] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23631] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23631] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23631] "content-available" = 1; }] "content-available" = 1; }] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:25:23"; "file_name" = ""; message = "I can\U2019t resist"; "message_id" = 23633; "message_type" = 0; "prev_session_message_id" = 23632; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23633, AnyHashable("operation_type"): 0] "LocalWebSocketTask <15AE6B31-0BB8-4FB8-AE2B-0C9C03FB6672>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <15AE6B31-0BB8-4FB8-AE2B-0C9C03FB6672>.<1>} "content-available" = 1; }] datesent = "2026-03-04 14:25:34"; "file_name" = ""; message = "Pls allow me to come"; "message_id" = 23634; "message_type" = 0; "prev_session_message_id" = 23633; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] "LocalWebSocketTask <320B859F-23C2-4E2B-871A-823D08E0E4DB>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <320B859F-23C2-4E2B-871A-823D08E0E4DB>.<1>} datesent = "2026-03-04 14:25:34"; "file_name" = ""; message = "Pls allow me to come"; "message_id" = 23634; "message_type" = 0; "prev_session_message_id" = 23633; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23634] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:26:11"; "file_name" = ""; message = Baby; "message_id" = 23636; "message_type" = 0; "prev_session_message_id" = 23635; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:26:11"; "file_name" = ""; message = Baby; "message_id" = 23636; "message_type" = 0; "prev_session_message_id" = 23635; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:26:11"; "file_name" = ""; message = Baby; "message_id" = 23636; "message_type" = 0; "prev_session_message_id" = 23635; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23636, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23636] "content-available" = 1; }, AnyHashable("message_id"): 23637, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] datesent = "2026-03-04 14:26:21"; "file_name" = ""; message = Noooo; "message_id" = 23638; "message_type" = 0; "prev_session_message_id" = 23637; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:26:21"; "file_name" = ""; message = Noooo; "message_id" = 23638; "message_type" = 0; "prev_session_message_id" = 23637; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:26:21"; "file_name" = ""; message = Noooo; "message_id" = 23638; "message_type" = 0; "prev_session_message_id" = 23637; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23638] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23639] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23640] "content-available" = 1; }, AnyHashable("operation_type"): 3] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23641, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23641, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23641, AnyHashable("operation_type"): 0] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23642, AnyHashable("operation_type"): 3] datesent = "2026-03-04 14:27:45"; "file_name" = ""; message = Baby; "message_id" = 23643; "message_type" = 0; "prev_session_message_id" = 23642; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23643] datesent = "2026-03-04 14:27:45"; "file_name" = ""; message = Baby; "message_id" = 23643; "message_type" = 0; "prev_session_message_id" = 23642; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23643] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:27:45"; "file_name" = ""; message = Baby; "message_id" = 23643; "message_type" = 0; "prev_session_message_id" = 23642; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23643, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] datesent = "2026-03-04 14:27:53"; "file_name" = ""; message = "Need to come"; "message_id" = 23644; "message_type" = 0; "prev_session_message_id" = 23643; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23644, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:27:53"; "file_name" = ""; message = "Need to come"; "message_id" = 23644; "message_type" = 0; "prev_session_message_id" = 23643; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23644, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23644, AnyHashable("message_data"): { datesent = "2026-03-04 14:27:53"; "file_name" = ""; message = "Need to come"; "message_id" = 23644; "message_type" = 0; "prev_session_message_id" = 23643; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:27:59"; "file_name" = ""; message = Pleasee; "message_id" = 23645; "message_type" = 0; "prev_session_message_id" = 23644; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23645, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:27:59"; "file_name" = ""; message = Pleasee; "message_id" = 23645; "message_type" = 0; "prev_session_message_id" = 23644; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23645, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:27:59"; "file_name" = ""; message = Pleasee; "message_id" = 23645; "message_type" = 0; "prev_session_message_id" = 23644; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23645] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23646, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23647, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 datesent = "2026-03-04 14:29:10"; "file_name" = ""; message = "I cant"; "message_id" = 23648; "message_type" = 0; "prev_session_message_id" = 23647; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:29:10"; "file_name" = ""; message = "I cant"; "message_id" = 23648; "message_type" = 0; "prev_session_message_id" = 23647; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:29:10"; "file_name" = ""; message = "I cant"; "message_id" = 23648; "message_type" = 0; "prev_session_message_id" = 23647; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23648] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23650, AnyHashable("message_data"): { datesent = "2026-03-04 14:29:17"; "file_name" = ""; message = "I can\U2019t stop"; "message_id" = 23650; "message_type" = 0; "prev_session_message_id" = 23649; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23650, AnyHashable("message_data"): { datesent = "2026-03-04 14:29:17"; "file_name" = ""; message = "I can\U2019t stop"; "message_id" = 23650; "message_type" = 0; "prev_session_message_id" = 23649; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:29:17"; "file_name" = ""; message = "I can\U2019t stop"; "message_id" = 23650; "message_type" = 0; "prev_session_message_id" = 23649; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23651, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23651] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "LocalDataTask .<1133>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23650&mark_read=0, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&messages=23650&mark_read=0, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23656, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23657] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23658, AnyHashable("message_data"): { datesent = "2026-03-04 14:29:44"; "file_name" = ""; message = "Dont say stop"; "message_id" = 23658; "message_type" = 0; "prev_session_message_id" = 23657; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23658, AnyHashable("message_data"): { datesent = "2026-03-04 14:29:44"; "file_name" = ""; message = "Dont say stop"; "message_id" = 23658; "message_type" = 0; "prev_session_message_id" = 23657; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:29:44"; "file_name" = ""; message = "Dont say stop"; "message_id" = 23658; "message_type" = 0; "prev_session_message_id" = 23657; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23659, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23660, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23661, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23662, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23664, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] datesent = "2026-03-04 14:30:30"; "file_name" = ""; message = Babyyyyyy; "message_id" = 23665; "message_type" = 0; "prev_session_message_id" = 23664; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23665, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:30:30"; "file_name" = ""; message = Babyyyyyy; "message_id" = 23665; "message_type" = 0; "prev_session_message_id" = 23664; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23665, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23665, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:30:30"; "file_name" = ""; message = Babyyyyyy; "message_id" = 23665; "message_type" = 0; "prev_session_message_id" = 23664; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23665] datesent = "2026-03-04 14:30:35"; "file_name" = ""; message = "Thank youuu!!!!"; "message_id" = 23667; "message_type" = 0; "prev_session_message_id" = 23666; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23667] datesent = "2026-03-04 14:30:35"; "file_name" = ""; message = "Thank youuu!!!!"; "message_id" = 23667; "message_type" = 0; "prev_session_message_id" = 23666; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23667] datesent = "2026-03-04 14:30:35"; "file_name" = ""; message = "Thank youuu!!!!"; "message_id" = 23667; "message_type" = 0; "prev_session_message_id" = 23666; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23667, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:30:42"; "file_name" = ""; message = "I love you!!"; "message_id" = 23668; "message_type" = 0; "prev_session_message_id" = 23667; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:30:42"; "file_name" = ""; message = "I love you!!"; "message_id" = 23668; "message_type" = 0; "prev_session_message_id" = 23667; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:30:42"; "file_name" = ""; message = "I love you!!"; "message_id" = 23668; "message_type" = 0; "prev_session_message_id" = 23667; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23668] datesent = "2026-03-04 14:30:42"; "file_name" = ""; message = "I love you!!"; "message_id" = 23668; "message_type" = 0; "prev_session_message_id" = 23667; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23668] "content-available" = 1; }, AnyHashable("message_id"): 23668, AnyHashable("operation_type"): 3] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:07"; "file_name" = ""; message = Wow; "message_id" = 23670; "message_type" = 0; "prev_session_message_id" = 23669; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23670] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:07"; "file_name" = ""; message = Wow; "message_id" = 23670; "message_type" = 0; "prev_session_message_id" = 23669; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23670] datesent = "2026-03-04 14:31:07"; "file_name" = ""; message = Wow; "message_id" = 23670; "message_type" = 0; "prev_session_message_id" = 23669; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23670] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23669, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23669, AnyHashable("operation_type"): 0] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23669, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23670, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23671, AnyHashable("session_id"): ILUIWU] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:27"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23672; "message_type" = 0; "prev_session_message_id" = 23671; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:27"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23672; "message_type" = 0; "prev_session_message_id" = 23671; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23672, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:27"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23672; "message_type" = 0; "prev_session_message_id" = 23671; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23673, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:41"; "file_name" = ""; message = "Pls do"; "message_id" = 23674; "message_type" = 0; "prev_session_message_id" = 23673; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23674] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:41"; "file_name" = ""; message = "Pls do"; "message_id" = 23674; "message_type" = 0; "prev_session_message_id" = 23673; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23674] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:41"; "file_name" = ""; message = "Pls do"; "message_id" = 23674; "message_type" = 0; "prev_session_message_id" = 23673; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23674] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23674, AnyHashable("operation_type"): 3] datesent = "2026-03-04 14:31:54"; "file_name" = ""; message = "But not only my fingers"; "message_id" = 23675; "message_type" = 0; "prev_session_message_id" = 23674; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23675, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:31:54"; "file_name" = ""; message = "But not only my fingers"; "message_id" = 23675; "message_type" = 0; "prev_session_message_id" = 23674; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23675, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:31:54"; "file_name" = ""; message = "But not only my fingers"; "message_id" = 23675; "message_type" = 0; "prev_session_message_id" = 23674; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] datesent = "2026-03-04 14:31:56"; "file_name" = ""; message = "\Ud83e\Udee6"; "message_id" = 23676; "message_type" = 0; "prev_session_message_id" = 23675; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23676, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] datesent = "2026-03-04 14:31:56"; "file_name" = ""; message = "\Ud83e\Udee6"; "message_id" = 23676; "message_type" = 0; "prev_session_message_id" = 23675; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23676, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23675] datesent = "2026-03-04 14:31:56"; "file_name" = ""; message = "\Ud83e\Udee6"; "message_id" = 23676; "message_type" = 0; "prev_session_message_id" = 23675; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23676, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23676, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23676, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23677] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23678, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23679, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:46"; "file_name" = ""; message = "Yes yes yes!"; "message_id" = 23679; "message_type" = 0; "prev_session_message_id" = 23678; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23679, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:46"; "file_name" = ""; message = "Yes yes yes!"; "message_id" = 23679; "message_type" = 0; "prev_session_message_id" = 23678; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] datesent = "2026-03-04 14:32:46"; "file_name" = ""; message = "Yes yes yes!"; "message_id" = 23679; "message_type" = 0; "prev_session_message_id" = 23678; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23679] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23680, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:51"; "file_name" = ""; message = "Thank you babyyy"; "message_id" = 23680; "message_type" = 0; "prev_session_message_id" = 23679; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23680, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:51"; "file_name" = ""; message = "Thank you babyyy"; "message_id" = 23680; "message_type" = 0; "prev_session_message_id" = 23679; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:51"; "file_name" = ""; message = "Thank you babyyy"; "message_id" = 23680; "message_type" = 0; "prev_session_message_id" = 23679; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23680] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:56"; "file_name" = ""; message = "I really needed"; "message_id" = 23682; "message_type" = 0; "prev_session_message_id" = 23681; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:56"; "file_name" = ""; message = "I really needed"; "message_id" = 23682; "message_type" = 0; "prev_session_message_id" = 23681; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-04 14:32:56"; "file_name" = ""; message = "I really needed"; "message_id" = 23682; "message_type" = 0; "prev_session_message_id" = 23681; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23683, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:58"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23683; "message_type" = 0; "prev_session_message_id" = 23682; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23683, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:58"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23683; "message_type" = 0; "prev_session_message_id" = 23682; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 14:32:58"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23683; "message_type" = 0; "prev_session_message_id" = 23682; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23683] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23683] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23686, AnyHashable("message_data"): { datesent = "2026-03-04 14:33:35"; "file_name" = ""; message = "A lot!"; "message_id" = 23686; "message_type" = 0; "prev_session_message_id" = 23685; "replied_message" = "Hope you enjoyed it"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23684; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23686, AnyHashable("message_data"): { datesent = "2026-03-04 14:33:35"; "file_name" = ""; message = "A lot!"; "message_id" = 23686; "message_type" = 0; "prev_session_message_id" = 23685; "replied_message" = "Hope you enjoyed it"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23684; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] datesent = "2026-03-04 14:33:35"; "file_name" = ""; message = "A lot!"; "message_id" = 23686; "message_type" = 0; "prev_session_message_id" = 23685; "replied_message" = "Hope you enjoyed it"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23684; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }] 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001049cc798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001049d6790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001049d6a90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 datesent = "2026-03-04 14:35:40"; "file_name" = ""; message = "I love you I love you I love you babyyyyy"; "message_id" = 23689; "message_type" = 0; "prev_session_message_id" = 23688; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23689] datesent = "2026-03-04 14:35:40"; "file_name" = ""; message = "I love you I love you I love you babyyyyy"; "message_id" = 23689; "message_type" = 0; "prev_session_message_id" = 23688; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23689] "content-available" = 1; }] "LocalDataTask <52769A4F-43AD-4A87-8033-55DECD9EF30A>.<1336>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 14:41:32"; "file_name" = ""; message = "Yes!!!! \U2764\Ufe0f"; "message_id" = 23691; "message_type" = 0; "prev_session_message_id" = 23690; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23691, AnyHashable("operation_type"): 0] "content-available" = 1; }] datesent = "2026-03-04 15:09:06"; "file_name" = ""; message = "\U2764\Ufe0f"; "message_id" = 23692; "message_type" = 0; "prev_session_message_id" = 23691; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23692, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23688, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] datesent = "2026-03-04 16:15:20"; "file_name" = ""; message = "Our timing is perfect, I got my period \Ud83d\Ude03\Ud83d\Ude03\Ud83d\Ude03"; "message_id" = 23693; "message_type" = 0; "prev_session_message_id" = 23692; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23693, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] datesent = "2026-03-04 16:33:21"; "file_name" = ""; message = "Yeess\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d"; "message_id" = 23698; "message_type" = 0; "prev_session_message_id" = 23697; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23698, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 16:33:21"; "file_name" = ""; message = "Yeess\Ud83d\Ude0d\Ud83d\Ude0d\Ud83d\Ude0d"; "message_id" = 23698; "message_type" = 0; "prev_session_message_id" = 23697; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23698, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-04 16:33:29"; "file_name" = ""; message = "Thanks to you baby\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d"; "message_id" = 23699; "message_type" = 0; "prev_session_message_id" = 23698; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23699, AnyHashable("message_data"): { datesent = "2026-03-04 16:33:29"; "file_name" = ""; message = "Thanks to you baby\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d"; "message_id" = 23699; "message_type" = 0; "prev_session_message_id" = 23698; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "LocalWebSocketTask <03F48B6E-2C12-4DF0-B60A-EA2C86F40C04>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03F48B6E-2C12-4DF0-B60A-EA2C86F40C04>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-04 16:59:33"; "file_name" = ""; message = "\U2763\Ufe0f"; "message_id" = 23700; "message_type" = 0; "prev_session_message_id" = 23699; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23705, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "LocalWebSocketTask <4BD10B7E-2F64-49F7-932B-D42BBC28677F>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4BD10B7E-2F64-49F7-932B-D42BBC28677F>.<1>} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23710, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23716, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-05 08:18:11"; "file_name" = ""; message = "Thanks for sharing my love\U2665\Ufe0f\U2665\Ufe0f\U2665\Ufe0f"; "message_id" = 23716; "message_type" = 0; "prev_session_message_id" = 23715; "replied_message" = ""; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23714; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("message_id"): 23716, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23715, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-05 09:50:24"; "file_name" = ""; message = "Busy day for my baby?"; "message_id" = 23717; "message_type" = 0; "prev_session_message_id" = 23716; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-05 09:50:24"; "file_name" = ""; message = "Busy day for my baby?"; "message_id" = 23717; "message_type" = 0; "prev_session_message_id" = 23716; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23717] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "LocalWebSocketTask <7527FAEA-64B8-4404-8B9C-319AE3B74258>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7527FAEA-64B8-4404-8B9C-319AE3B74258>.<1>} datesent = "2026-03-05 09:53:41"; "file_name" = ""; message = "Good luck my love \U2665\Ufe0f"; "message_id" = 23719; "message_type" = 0; "prev_session_message_id" = 23718; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23719, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23719] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23719, AnyHashable("message_data"): { datesent = "2026-03-05 09:53:41"; "file_name" = ""; message = "Good luck my love \U2665\Ufe0f"; "message_id" = 23719; "message_type" = 0; "prev_session_message_id" = 23718; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-05 09:58:56"; "file_name" = ""; message = "Much better but not good enough baby\Ud83d\Ude43"; "message_id" = 23722; "message_type" = 0; "prev_session_message_id" = 23721; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23722] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23722] "LocalWebSocketTask <792B5BA8-54B9-4576-9FE8-BF8050B1C91E>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <792B5BA8-54B9-4576-9FE8-BF8050B1C91E>.<1>, NSLocalizedDescription=cancelled} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-05 10:08:36"; "file_name" = ""; message = "\Ud83e\Udd70\Ud83e\Udd70"; "message_id" = 23724; "message_type" = 0; "prev_session_message_id" = 23723; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23724, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23724] datesent = "2026-03-05 10:13:14"; "file_name" = ""; message = "Ha ha \Ud83e\Udd23 you are always focusing advantages in every circumstances\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d\Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23726; "message_type" = 0; "prev_session_message_id" = 23725; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] datesent = "2026-03-05 10:15:51"; "file_name" = ""; message = "Your smile\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0"; "message_id" = 23727; "message_type" = 0; "prev_session_message_id" = 23726; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23727, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23727] datesent = "2026-03-05 10:15:51"; "file_name" = ""; message = "Your smile\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0\Ud83e\Udee0"; "message_id" = 23727; "message_type" = 0; "prev_session_message_id" = 23726; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23727, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("message_id"): 23728] "content-available" = 1; }] "LocalWebSocketTask <13813FF5-054D-41CB-AD88-6F1F4F47A001>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <13813FF5-054D-41CB-AD88-6F1F4F47A001>.<1>} "LocalWebSocketTask <03E3F9C0-05D9-43C0-A367-BB7C960FE22C>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03E3F9C0-05D9-43C0-A367-BB7C960FE22C>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23731, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask <3CBBAC11-A588-44B6-95A2-A8EDB1129992>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3CBBAC11-A588-44B6-95A2-A8EDB1129992>.<1>, NSLocalizedDescription=The network connection was lost.} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23734, AnyHashable("message_data"): { datesent = "2026-03-05 11:36:56"; "file_name" = ""; message = "Had to switch to intenseye\Ud83d\Ude12"; "message_id" = 23734; "message_type" = 0; "prev_session_message_id" = 23733; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23734, AnyHashable("message_data"): { datesent = "2026-03-05 11:36:56"; "file_name" = ""; message = "Had to switch to intenseye\Ud83d\Ude12"; "message_id" = 23734; "message_type" = 0; "prev_session_message_id" = 23733; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }] "LocalWebSocketTask <03BA0DD7-8420-41D8-952B-02AE8A0D39D7>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03BA0DD7-8420-41D8-952B-02AE8A0D39D7>.<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("message_id"): 23736] "LocalWebSocketTask <7DABA242-28F4-4238-B235-F9A6656C6E06>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7DABA242-28F4-4238-B235-F9A6656C6E06>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23737, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-05 12:47:16"; "file_name" = ""; message = "\Ud83e\Udd70\Ud83e\Udd70\U2764\Ufe0f"; "message_id" = 23737; "message_type" = 0; "prev_session_message_id" = 23736; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23737] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23737, AnyHashable("message_data"): { datesent = "2026-03-05 12:47:16"; "file_name" = ""; message = "\Ud83e\Udd70\Ud83e\Udd70\U2764\Ufe0f"; "message_id" = 23737; "message_type" = 0; "prev_session_message_id" = 23736; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "LocalWebSocketTask <26D3F0CF-3526-41E7-8B3D-7D84C708CDBF>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <26D3F0CF-3526-41E7-8B3D-7D84C708CDBF>.<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-05 13:41:29"; "file_name" = ""; message = "\Ud83e\Udd7a\Ud83e\Udd7a\Ud83d\Ude2d tooo much baby"; "message_id" = 23739; "message_type" = 0; "prev_session_message_id" = 23738; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "LocalWebSocketTask <5AB0EE5E-D047-48F6-A171-5C3BD9C3CBFD>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5AB0EE5E-D047-48F6-A171-5C3BD9C3CBFD>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23739] "LocalWebSocketTask <171AB01A-950D-4B6C-89D7-1B27CA3EDB32>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <171AB01A-950D-4B6C-89D7-1B27CA3EDB32>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "LocalDataTask <23AA071E-B24F-479D-9733-E56EA2154808>.<382>" ), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23740, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23740, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23740] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] 0 Eye.debug.dylib 0x0000000102dd0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000102dda790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000102ddaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("operation_type"): 3] "LocalWebSocketTask <071E7621-5B7A-401B-81F0-0CE5F9FF6730>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <071E7621-5B7A-401B-81F0-0CE5F9FF6730>.<1>} "LocalWebSocketTask <9F649D99-FCDE-4078-91E7-84EAE748D005>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9F649D99-FCDE-4078-91E7-84EAE748D005>.<1>} "LocalWebSocketTask <882C4FAD-47CB-46A0-8A03-CE44BF9377CC>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <882C4FAD-47CB-46A0-8A03-CE44BF9377CC>.<1>} 0 Eye.debug.dylib 0x0000000102dd0798 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000102dda790 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000102ddaa90 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "LocalWebSocketTask <6B0DDEDA-7A45-47B9-8EF7-3A56BE0D9F00>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6B0DDEDA-7A45-47B9-8EF7-3A56BE0D9F00>.<1>} "LocalWebSocketTask <38883398-F2A3-464A-9491-B739FE5B8E26>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <38883398-F2A3-464A-9491-B739FE5B8E26>.<1>} "LocalWebSocketTask <09038BE8-B08E-4BE2-9C57-C83548DCE9C1>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <09038BE8-B08E-4BE2-9C57-C83548DCE9C1>.<1>} "LocalWebSocketTask <23952738-1D0C-4121-B02A-026950F91F6E>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <23952738-1D0C-4121-B02A-026950F91F6E>.<1>} "LocalWebSocketTask <0E5191C6-AB9D-4ADC-AEAF-3FD39B240FCB>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0E5191C6-AB9D-4ADC-AEAF-3FD39B240FCB>.<1>} "LocalWebSocketTask <94BE034D-3BE3-4FBA-BDC9-199745087148>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <94BE034D-3BE3-4FBA-BDC9-199745087148>.<1>} "LocalWebSocketTask <01E4F447-D6DF-4977-A64B-A062EF0ADBCC>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <01E4F447-D6DF-4977-A64B-A062EF0ADBCC>.<1>} "LocalWebSocketTask <24AD9256-1B41-47B5-A8F8-17FDFA392C54>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <24AD9256-1B41-47B5-A8F8-17FDFA392C54>.<1>} "LocalWebSocketTask <4D7B06D8-0FC1-4C57-A8A8-A1BC4DE00E8F>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <4D7B06D8-0FC1-4C57-A8A8-A1BC4DE00E8F>.<1>} "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23745, AnyHashable("message_data"): { datesent = "2026-03-05 17:15:27"; "file_name" = ""; message = "You are my sun!"; "message_id" = 23745; "message_type" = 0; "prev_session_message_id" = 23744; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }] "LocalWebSocketTask <5E2DD013-454C-4CB3-B4DB-9357370E529C>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5E2DD013-454C-4CB3-B4DB-9357370E529C>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23745, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-05 17:15:27"; "file_name" = ""; message = "You are my sun!"; "message_id" = 23745; "message_type" = 0; "prev_session_message_id" = 23744; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask <9FDBF4F4-1F4B-4783-96B2-3E9ACE57BA41>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9FDBF4F4-1F4B-4783-96B2-3E9ACE57BA41>.<1>, NSLocalizedDescription=cancelled} 0 Eye.debug.dylib 0x0000000100687378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000100691370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000100691670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "LocalDataTask <6C26E4BA-B2DC-4E0A-B5F9-BB51125F0968>.<2>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/register_device.php, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU][07:32:00] [LOG] Pruned 2441 entries older than 3 hours "content-available" = 1; }] "LocalWebSocketTask <760F724B-0ADA-460D-941C-204D0441AAF1>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <760F724B-0ADA-460D-941C-204D0441AAF1>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 06:54:00"; "file_name" = ""; message = "Mmm\Ud83d\Udc8b\Ud83d\Ude0b\Ud83d\Ude0b\Ud83e\Udee6"; "message_id" = 23754; "message_type" = 0; "prev_session_message_id" = 23753; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23754, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23754, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "LocalWebSocketTask <2495B063-F4A5-4E18-BAF3-5B2EDC978735>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <2495B063-F4A5-4E18-BAF3-5B2EDC978735>.<1>, NSLocalizedDescription=The network connection was lost.} "content-available" = 1; }] "content-available" = 1; }] 0 Eye.debug.dylib 0x00000001007a3378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001007ad370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001007ad670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x00000001007a3378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001008045b0 $s3Eye14ViewControllerC05tableB0_14didSelectRowAtySo07UITableB0C_10Foundation9IndexPathVtFySo7NSTimerCYbcfU2_ + 808 2 Eye.debug.dylib 0x000000010059aa04 $sSo7NSTimerCIeghg_ABIeyBhy_TR + 72 3 Foundation 0x000000019ba709bc __NSFireTimer + 96 4 CoreFoundation 0x000000019e364c00 D52BCEEE-E890-347C-8461-1537154E22D9 + 318464 5 CoreFoundation 0x000000019e3648c0 D52BCEEE-E890-347C-8461-1537154E22D9 + 317632 6 CoreFoundation 0x000000019e364434 D52BCEEE-E890-347C-8461-1537154E22D9 + 316468 7 CoreFoundation 0x000000019e334abc D52BCEEE-E890-347C-8461-1537154E22D9 + 121532 8 CoreFoundation 0x000000019e333a6c D52BCEEE-E890-347C-8461-1537154E22D9 + 117356 9 GraphicsServices 0x0000000242cb9498 GSEventRunModal + 120 "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23755] -- Response Headers -- Server: Apache/2.4.66 (Debian) Date: Fri, 06 Mar 2026 06:57:46 GMT Content-Type: application/json; charset=utf-8 Connection: Keep-Alive Content-Length: 67 Keep-Alive: timeout=5, max=98 -- Body -- {"ok":true,"event_type":1,"message_id":23755,"session_id":"ILUIWU"} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} datesent = "2026-03-06 07:03:59"; "file_name" = ""; message = "Alone?"; "message_id" = 23757; "message_type" = 0; "prev_session_message_id" = 23756; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23757, AnyHashable("session_id"): ILUIWU] "LocalWebSocketTask <6BB75942-A457-4227-BD66-DAEC592B0A1C>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6BB75942-A457-4227-BD66-DAEC592B0A1C>.<1>} "LocalWebSocketTask <42A04F3F-501C-4432-AE70-9BA23FC6A1DE>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <42A04F3F-501C-4432-AE70-9BA23FC6A1DE>.<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} datesent = "2026-03-06 07:51:20"; "file_name" = ""; message = "Where are you going? \Ud83e\Udd7a"; "message_id" = 23762; "message_type" = 0; "prev_session_message_id" = 23761; "replied_message" = "But will leave around noon (2pm your time) for 4h train \Ud83d\Ude0a"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23760; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23762, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "LocalWebSocketTask <7852C24F-0DE7-4105-9332-33AFED74E9AD>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <7852C24F-0DE7-4105-9332-33AFED74E9AD>.<1>} "LocalWebSocketTask <5F63D8ED-3155-4710-8414-B13199C738BA>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <5F63D8ED-3155-4710-8414-B13199C738BA>.<1>} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23764, AnyHashable("message_data"): { datesent = "2026-03-06 08:38:46"; "file_name" = ""; message = "Ah good \Ud83e\Udd70 enjoy baby \U2763\Ufe0f"; "message_id" = 23764; "message_type" = 0; "prev_session_message_id" = 23763; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] datesent = "2026-03-06 08:38:46"; "file_name" = ""; message = "Ah good \Ud83e\Udd70 enjoy baby \U2763\Ufe0f"; "message_id" = 23764; "message_type" = 0; "prev_session_message_id" = 23763; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "LocalWebSocketTask <6997F1E2-8C57-40FC-B10E-66B1DAA2A4A8>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6997F1E2-8C57-40FC-B10E-66B1DAA2A4A8>.<1>} datesent = "2026-03-06 08:39:15"; "file_name" = ""; message = "And my sister is coming for a weekend. Family time for both of us \Ud83d\Ude0b"; "message_id" = 23765; "message_type" = 0; "prev_session_message_id" = 23764; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("message_id"): 23766] "content-available" = 1; }, AnyHashable("message_id"): 23767] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-06 08:41:09"; "file_name" = ""; message = "Ha ha \U2763\Ufe0f of course babyyy! This is not an open issue for discussion \Ud83d\Ude0b\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23769; "message_type" = 0; "prev_session_message_id" = 23768; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23769] "LocalWebSocketTask <9C8596EB-FF27-4A36-9D7A-CA18D09C6A18>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9C8596EB-FF27-4A36-9D7A-CA18D09C6A18>.<1>} "LocalWebSocketTask <69FFC4E5-22E9-4210-8AE4-0C9ED6B7E86E>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <69FFC4E5-22E9-4210-8AE4-0C9ED6B7E86E>.<1>} "LocalWebSocketTask <80918709-F238-48A5-927B-403FD44E511E>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <80918709-F238-48A5-927B-403FD44E511E>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23770, AnyHashable("operation_type"): 0] "LocalWebSocketTask <0B3B8976-31E1-487B-868C-CE5B6692984B>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0B3B8976-31E1-487B-868C-CE5B6692984B>.<1>} "LocalDataTask .<313>" ), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23770, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?session_id=ILUIWU&viewer=1&messages=23770, _kCFStreamErrorDomainKey=4} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23770, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23770] 0 Eye.debug.dylib 0x00000001007a3378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x00000001007ad370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x00000001007ad670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "content-available" = 1; }, AnyHashable("message_id"): 23772] "content-available" = 1; }] "LocalWebSocketTask <46AB671A-DFAB-4B1A-B10F-7D06EEF5D559>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <46AB671A-DFAB-4B1A-B10F-7D06EEF5D559>.<1>} alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23770] "content-available" = 1; }, AnyHashable("message_id"): 23773, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23774] "LocalWebSocketTask <9CE0FFFA-5207-45C3-8E7D-C242DE9D5B1C>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <9CE0FFFA-5207-45C3-8E7D-C242DE9D5B1C>.<1>} https://www.instagram.com/r...", datesent=2026-03-06 09:58:00 https:/..." alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23775, AnyHashable("message_data"): { datesent = "2026-03-06 09:58:00"; "file_name" = ""; message = "What about this one? \n\nhttps://www.instagram.com/reel/DVEGXoWjUh7/?igsh=MTc0b256bmNjcmg2MQ=="; "message_id" = 23775; "message_type" = 0; "prev_session_message_id" = 23774; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] datesent = "2026-03-06 09:58:02"; "file_name" = ""; message = "True?"; "message_id" = 23776; "message_type" = 0; "prev_session_message_id" = 23775; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23776, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "LocalWebSocketTask <17FC8B33-0F07-4FD4-8D07-6F7C2A761762>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <17FC8B33-0F07-4FD4-8D07-6F7C2A761762>.<1>} "content-available" = 1; }, AnyHashable("message_id"): 23776, AnyHashable("operation_type"): 3] "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>} "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 11:20:48"; "file_name" = ""; message = "\Ud83e\Udd23\Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23778; "message_type" = 0; "prev_session_message_id" = 23777; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 11:28:20"; "file_name" = ""; message = "\Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24"; "message_id" = 23782; "message_type" = 0; "prev_session_message_id" = 23781; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23782, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 3; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23782] "LocalWebSocketTask <40222863-E2E8-4249-8F7C-FD442088A60A>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <40222863-E2E8-4249-8F7C-FD442088A60A>.<1>} "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23780] "content-available" = 1; }, AnyHashable("message_id"): 23781] "LocalWebSocketTask <03A0631A-21FE-4482-960D-0AF9C741D776>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <03A0631A-21FE-4482-960D-0AF9C741D776>.<1>} "LocalWebSocketTask <3CC83264-2462-49AA-B7E9-3BE69F3DF311>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3CC83264-2462-49AA-B7E9-3BE69F3DF311>.<1>} "LocalWebSocketTask <3A7CFD07-D480-4C83-A525-ACEE6ABF4432>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <3A7CFD07-D480-4C83-A525-ACEE6ABF4432>.<1>, NSLocalizedDescription=The network connection was lost.} 0 Eye.debug.dylib 0x0000000104937378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000104941370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000104941670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 0 Eye.debug.dylib 0x0000000104937378 $s3Eye21MediaViewerControllerC7dismiss8animated10completionySb_yycSgtF + 140 1 Eye.debug.dylib 0x0000000104941370 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCF + 2128 2 Eye.debug.dylib 0x0000000104941670 $s3Eye21MediaViewerControllerC9handlePan33_791426CB2E96A6BD5D22046DA17161F6LLyySo22UIPanGestureRecognizerCFTo + 68 3 UIKitCore 0x00000001a4c6f3a8 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15897512 4 UIKitCore 0x00000001a402e524 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048740 5 UIKitCore 0x00000001a402e2e4 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 3048164 6 UIKitCore 0x00000001a3dbf9ec A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 498156 7 UIKitCore 0x00000001a4c774d0 A70D8D96-F3A5-3099-9011-27EEB49D7BE8 + 15930576 8 Gestures 0x00000001a99b6acc 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 39628 9 Gestures 0x00000001a99f58f0 3953F26D-ABFE-355B-886F-F8B03BA110B1 + 297200 "LocalWebSocketTask .<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask .<1>, NSLocalizedDescription=The network connection was lost.} "LocalDataTask <54D90259-7478-4A58-8620-E7858CC5E728>.<430>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, _kCFStreamErrorDomainKey=4} - keeping existing messages alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:08:35"; "file_name" = ""; message = "Yes baby but I was stuck at call"; "message_id" = 23786; "message_type" = 0; "prev_session_message_id" = 23785; "replied_message" = "Are you alone baby?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23784; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23786, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 14:08:35"; "file_name" = ""; message = "Yes baby but I was stuck at call"; "message_id" = 23786; "message_type" = 0; "prev_session_message_id" = 23785; "replied_message" = "Are you alone baby?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23784; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23786, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23786] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23787, AnyHashable("message_data"): { datesent = "2026-03-06 14:08:38"; "file_name" = ""; message = "Done finally"; "message_id" = 23787; "message_type" = 0; "prev_session_message_id" = 23786; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23787, AnyHashable("message_data"): { datesent = "2026-03-06 14:08:38"; "file_name" = ""; message = "Done finally"; "message_id" = 23787; "message_type" = 0; "prev_session_message_id" = 23786; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:08:38"; "file_name" = ""; message = "Done finally"; "message_id" = 23787; "message_type" = 0; "prev_session_message_id" = 23786; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23787] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }, AnyHashable("message_id"): 23789, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23790, AnyHashable("message_data"): { datesent = "2026-03-06 14:09:06"; "file_name" = ""; message = "Because you are!"; "message_id" = 23790; "message_type" = 0; "prev_session_message_id" = 23789; "replied_message" = "My looove \Ud83e\Udd70 Coming from such a sexy lady makes me really feel handsome \Ud83d\Ude09"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23783; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23790, AnyHashable("message_data"): { datesent = "2026-03-06 14:09:06"; "file_name" = ""; message = "Because you are!"; "message_id" = 23790; "message_type" = 0; "prev_session_message_id" = 23789; "replied_message" = "My looove \Ud83e\Udd70 Coming from such a sexy lady makes me really feel handsome \Ud83d\Ude09"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23783; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23790, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-06 14:09:06"; "file_name" = ""; message = "Because you are!"; "message_id" = 23790; "message_type" = 0; "prev_session_message_id" = 23789; "replied_message" = "My looove \Ud83e\Udd70 Coming from such a sexy lady makes me really feel handsome \Ud83d\Ude09"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23783; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:09:13"; "file_name" = ""; message = "Noo\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70"; "message_id" = 23791; "message_type" = 0; "prev_session_message_id" = 23790; "replied_message" = "No more calls ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23789; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:09:13"; "file_name" = ""; message = "Noo\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70"; "message_id" = 23791; "message_type" = 0; "prev_session_message_id" = 23790; "replied_message" = "No more calls ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23789; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:09:13"; "file_name" = ""; message = "Noo\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udd70"; "message_id" = 23791; "message_type" = 0; "prev_session_message_id" = 23790; "replied_message" = "No more calls ?"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23789; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }] "content-available" = 1; }] datesent = "2026-03-06 14:10:04"; "file_name" = ""; message = "Miss you already \Ud83d\Ude2d"; "message_id" = 23795; "message_type" = 0; "prev_session_message_id" = 23794; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "Distance updated"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 2, AnyHashable("message_id"): 23796, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23796, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23798, AnyHashable("message_data"): { datesent = "2026-03-06 14:15:17"; "file_name" = ""; message = "1880\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d"; "message_id" = 23798; "message_type" = 0; "prev_session_message_id" = 23797; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23798, AnyHashable("message_data"): { datesent = "2026-03-06 14:15:17"; "file_name" = ""; message = "1880\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d"; "message_id" = 23798; "message_type" = 0; "prev_session_message_id" = 23797; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23798, AnyHashable("message_data"): { datesent = "2026-03-06 14:15:17"; "file_name" = ""; message = "1880\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d"; "message_id" = 23798; "message_type" = 0; "prev_session_message_id" = 23797; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("message_id"): 23798] datesent = "2026-03-06 14:15:49"; "file_name" = ""; message = "\Ud83e\Udd70\Ud83e\Udd70\Ud83e\Udee0"; "message_id" = 23800; "message_type" = 0; "prev_session_message_id" = 23799; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23800, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] datesent = "2026-03-06 14:16:21"; "file_name" = ""; message = "Do you wanna do short 1-0 in the train\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d\Ud83e\Udd2d"; "message_id" = 23801; "message_type" = 0; "prev_session_message_id" = 23800; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:34:33"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23804; "message_type" = 0; "prev_session_message_id" = 23803; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("operation_type"): 3] "content-available" = 1; }] datesent = "2026-03-06 14:34:55"; "file_name" = ""; message = "How did it go\Ud83e\Udd2d"; "message_id" = 23806; "message_type" = 0; "prev_session_message_id" = 23805; "replied_message" = "Ha ha. Would love to baby. But this is a short train without bathroom. Let me do in my mind \Ud83e\Udee6"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23802; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23806] datesent = "2026-03-06 14:34:55"; "file_name" = ""; message = "How did it go\Ud83e\Udd2d"; "message_id" = 23806; "message_type" = 0; "prev_session_message_id" = 23805; "replied_message" = "Ha ha. Would love to baby. But this is a short train without bathroom. Let me do in my mind \Ud83e\Udee6"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23802; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 14:35:01"; "file_name" = ""; message = "Yess\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d"; "message_id" = 23807; "message_type" = 0; "prev_session_message_id" = 23806; "replied_message" = "But his little sister is all broken these days !"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23805; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 14:35:01"; "file_name" = ""; message = "Yess\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d"; "message_id" = 23807; "message_type" = 0; "prev_session_message_id" = 23806; "replied_message" = "But his little sister is all broken these days !"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23805; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 14:35:01"; "file_name" = ""; message = "Yess\Ud83d\Ude2d\Ud83d\Ude2d\Ud83d\Ude2d"; "message_id" = 23807; "message_type" = 0; "prev_session_message_id" = 23806; "replied_message" = "But his little sister is all broken these days !"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23805; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 14:34:55"; "file_name" = ""; message = "How did it go\Ud83e\Udd2d"; "message_id" = 23806; "message_type" = 0; "prev_session_message_id" = 23805; "replied_message" = "Ha ha. Would love to baby. But this is a short train without bathroom. Let me do in my mind \Ud83e\Udee6"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23802; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23806] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] "LocalDataTask <2B982F35-5B84-4ED5-AE31-779E2E82F7FC>.<631>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} datesent = "2026-03-06 14:37:19"; "file_name" = ""; message = "Mmmmm this is exactly what I want to do babyyyyy\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23809; "message_type" = 0; "prev_session_message_id" = 23808; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23809] "content-available" = 1; }, AnyHashable("operation_type"): 3] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:37:31"; "file_name" = ""; message = "Mmmm want to do now\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23810; "message_type" = 0; "prev_session_message_id" = 23809; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 14:37:31"; "file_name" = ""; message = "Mmmm want to do now\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23810; "message_type" = 0; "prev_session_message_id" = 23809; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0] datesent = "2026-03-06 14:37:31"; "file_name" = ""; message = "Mmmm want to do now\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23810; "message_type" = 0; "prev_session_message_id" = 23809; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23810, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] "content-available" = 1; }, AnyHashable("session_id"): ILUIWU] alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_data"): { datesent = "2026-03-06 15:00:36"; "file_name" = ""; message = "No need a big space\Ud83d\Ude0f\Ud83d\Ude0f\Ud83e\Udee2"; "message_id" = 23812; "message_type" = 0; "prev_session_message_id" = 23811; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 15:15:32"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23815; "message_type" = 0; "prev_session_message_id" = 23814; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23815, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] datesent = "2026-03-06 15:15:32"; "file_name" = ""; message = "\Ud83e\Udee6\Ud83e\Udee6"; "message_id" = 23815; "message_type" = 0; "prev_session_message_id" = 23814; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23815] "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU] datesent = "2026-03-06 15:21:36"; "file_name" = ""; message = "IMU AND INU"; "message_id" = 23817; "message_type" = 0; "prev_session_message_id" = 23816; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23817, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }] datesent = "2026-03-06 15:21:36"; "file_name" = ""; message = "IMU AND INU"; "message_id" = 23817; "message_type" = 0; "prev_session_message_id" = 23816; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 2; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23817, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23817] "content-available" = 1; }, AnyHashable("message_id"): 23817, AnyHashable("session_id"): ILUIWU] "content-available" = 1; }, AnyHashable("message_id"): 23816, AnyHashable("session_id"): ILUIWU] [17:33:18] [NETWORK] Status changed: connected [17:33:18] [PUSH] Notification tapped - session_id: ILUIWU [17:33:18] [PUSH] Max message_id before tap: 23823 [17:33:18] [PUSH] Stored pending session: ILUIWU [17:33:18] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:33:18 +0000 [17:33:18] [PUSH_TRACE] ⬇️ Processing embedded message_id=23824 [17:33:18] [PUSH_EMBED] 📩 Received embedded message: id=23824, type=0, sender=Esra [17:33:18] [PUSH_TRACE] ⬇️ Message details: text="❤️...", datesent=2026-03-06 16:33:11 [17:33:18] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [17:33:18] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23824 [17:33:18] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23824 [17:33:18] [PUSH_EMBED] ✅ Saved message 23824 to local DB (sync) [17:33:18] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23824 [17:33:18] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23824 [17:33:18] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23824 [17:33:18] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[] [17:33:18] [PUSH_EMBED] Created new cache with embedded message 23824 [17:33:18] [PUSH_TRACE] 📦 ✅ Created new cache with message 23824 [17:33:18] [PUSH_TRACE] 📦 EXITING cache update queue for message 23824 [17:33:18] [PUSH_EMBED] Fetching evolution data for message 23824 in background [17:33:18] [PUSH_EMBED] ✅ Fully processed message 23824 [17:33:18] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23824 [17:33:18] [PUSH] Embedded message handled instantly on tap [17:33:18] [PUSH] Fetching server messages since_id=23823 to catch coalesced notifications on tap [17:33:18] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [17:33:18] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23823 to catch coalesced notifications [17:33:18] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [17:33:18] [PUSH_PRELOAD] Fetching messages for instant display cache [17:33:18] [LIFECYCLE] App entering foreground - restoring connections [17:33:18] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814] [17:33:18] [PUSH_TRACE] 🔄 FOREGROUND: cache has 1 msgs, valid=true, IDs=[23824] [17:33:18] [LIFECYCLE] Away > 2 minutes (3826s) - will scroll to bottom [17:33:18] [UPLOAD_RETRY] No pending uploads to retry [17:33:18] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [17:33:18] [READBY_OPT] Fetching readBy for 6 unsettled messages (targeted) [17:33:18] [LIFECYCLE] WebRTC audio re-enabled [17:33:18] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [17:33:18] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [17:33:18] [CLIENT_SIG] Already connected/connecting to session ILUIWU [17:33:18] [VIEWER] Reconnecting after background - querying agents [17:33:18] [UNSENT_RETRY] Checking for unsent messages... [17:33:18] [PENDING_UPLOAD] Total pending upload messages: 0 [17:33:18] [UNSENT_RETRY] No unsent messages found [17:33:18] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:18] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:18] [CLIENT_SIG] Already connected/connecting to session ILUIWU [17:33:18] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [17:33:18] [PUSH_TRACE] 👁️ handlePushMessageReceived START [17:33:18] [PUSH_TRACE] 👁️ Received message id=23824, text="❤️..." [17:33:18] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [17:33:18] [PUSH_TRACE] 👁️ BEFORE insert: 50 messages, first 5 IDs: [23823, 23822, 23821, 23820, 23819] [17:33:18] [PUSH_TRACE] 👁️ Inserted message 23824 at index 0 [17:33:18] [PUSH_UI] Inserted message 23824 into UI (now 51 messages) [17:33:18] [PUSH_TRACE] 👁️ AFTER insert: 51 messages, first 5 IDs: [23824, 23823, 23822, 23821, 23820] [17:33:18] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [17:33:18] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [17:33:18] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success [17:33:19] [NETWORK] Status changed: connected [17:33:19] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=64 [17:33:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23824, 23823, 23822, 23821, 23820] [17:33:19] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [17:33:19] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815] [17:33:19] [RELOAD_TAB] 📊 Building chatRows from 51 messages [17:33:19] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [17:33:19] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23823 → 23824 [17:33:19] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=66 [17:33:19] [CLIENT_SIG] WebSocket opened [17:33:19] [CLIENT_SIG] HELLO sent as client for session ILUIWU [17:33:19] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:19] HELLO → sent (cached token, role=query) [17:33:19] [PUSH_EMBED] Got evolution data for message 23824, saving to local DB [17:33:19] [PUSH_EMBED] Saved evolution data for message 23824 [17:33:19] [CLIENT_SIG] Connected! clientId=O71X66z6hueJ8N5v [17:33:19] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:19] [WS] Query connection failed - cleaning up all agent connections and views [17:33:19] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:19] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:19] [CLEANUP] ======================================== [17:33:19] [CLEANUP] Cleaning up all agent connections and views [17:33:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:19] [CLEANUP] Stopped and removed 0 video connections [17:33:19] [CLEANUP] Removed 0 video views [17:33:19] [CLEANUP] Removed 0 feed scroll views [17:33:19] [CLEANUP] Removed 0 status labels [17:33:19] [CLEANUP] Reset agent query state [17:33:19] [CLEANUP] Updated page indicator [17:33:19] [CLEANUP] Rebuilt video layout [17:33:19] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:19] [CLEANUP] ======================================== [17:33:19] [SERVER] Starting reconnect polling (5s interval) [17:33:19] [CLEANUP] ======================================== [17:33:19] [CLEANUP] Cleaning up all agent connections and views [17:33:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:19] [CLEANUP] Stopped and removed 0 video connections [17:33:19] [CLEANUP] Removed 0 video views [17:33:19] [CLEANUP] Removed 0 feed scroll views [17:33:19] [CLEANUP] Removed 0 status labels [17:33:19] [CLEANUP] Reset agent query state [17:33:19] [CLEANUP] Updated page indicator [17:33:19] [CLEANUP] Rebuilt video layout [17:33:19] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:19] [CLEANUP] ======================================== [17:33:19] [SERVER] Starting reconnect polling (5s interval) [17:33:19] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU') [17:33:19] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [17:33:19] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [17:33:19] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [17:33:19] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [17:33:19] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815] [17:33:19] [PUSH] handlePollEventsNotification userInfo: [:] [17:33:19] [PUSH] No message_id in userInfo [17:33:19] [PUSH] No operation_type in userInfo [17:33:19] [FAST_REFRESH] Evolution disabled - performing incremental sync [17:33:19] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=1, IDs=[23824] [17:33:19] [PUSH_TRACE] 📬 POLL: memory state: count=51, first 10 IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815] [17:33:19] [FAST_REFRESH] Already have 51 messages in memory [17:33:19] [FAST_REFRESH] maxMemoryId=23824, maxLocalId=23824 [17:33:19] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [17:33:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [17:33:19] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [17:33:19] [READBY_OPT] Fetching readBy for 6 unsettled messages (targeted) [17:33:19] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51 [17:33:19] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23824, maxMemoryId=23824 [17:33:19] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23824 [17:33:19] [COMBINED_FETCH] Loaded 6 read receipts, 0 messages with reactions [17:33:19] [FOREGROUND] Enriched 6/6 unsettled messages with readBy data [17:33:19] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=51>50=true, maxId=23824>23823=true, shouldScroll=true [17:33:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [17:33:19] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [17:33:19] [PUSH_PRELOAD] Fetched 1 messages - caching for instant display [17:33:19] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=1, sessionId=ILUIWU [17:33:19] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23824] [17:33:19] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=1, IDs=[23824] [17:33:19] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[] [17:33:19] [PUSH_TRACE] 🔀 mergeMessages: merged.count=1, first 10 IDs=[23824] [17:33:19] [PUSH_PRELOAD] ⚡ Pre-cached 1 messages for instant display (preserved 0 from push) [17:33:19] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [17:33:19] [PUSH] Server fetch on tap completed (success=true) [17:33:19] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815] [17:33:19] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23824, AnyHashable("message_data"): { datesent = "2026-03-06 16:33:11"; "file_name" = ""; message = "\U2764\Ufe0f"; "message_id" = 23824; "message_type" = 0; "prev_session_message_id" = 23823; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] [17:33:19] [PUSH_EMBED_VC] Message 23824 already in memory - skipping [17:33:19] [PUSH] ⚡ Embedded message handled directly in ViewController [17:33:19] [PUSH] Parsed message_id: 23824 [17:33:19] [PUSH] Parsed operation_type: 0 [17:33:19] [PUSH] Taking direct action: opType=0, messageId=23824 [17:33:19] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23824 [17:33:19] [PUSH] ⚡ Message 23824 already in memory - skipping duplicate notification entirely [17:33:19] [COMBINED_FETCH] Loaded 6 read receipts, 0 messages with reactions [17:33:19] [FAST_REFRESH] Enriched 6/6 unsettled messages with readBy data [17:33:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [17:33:19] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [17:33:19] [INCREMENTAL_SYNC] ✅ No new messages [17:33:19] [FAST_REFRESH] Incremental sync complete - 51 messages [17:33:19] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=66 [17:33:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23824, 23823, 23822, 23821, 23820] [17:33:19] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [17:33:19] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815] [17:33:19] [RELOAD_TAB] 📊 Building chatRows from 51 messages [17:33:19] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [17:33:19] [SCROLL] 💓 alive, visible=41...51, rows=52, estHeight=0.0, heightCalls=0 [17:33:19] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63 [17:33:19] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE)[17:33:20] [LOG] Pruned 1070 entries older than 3 hours [17:33:20] [SECURITY] Restored real session: ILUIWU [17:33:20] [SECURITY] Restored real session: ILUIWU [17:33:20] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:20] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:20] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:20] HELLO → sent (cached token, role=query) [17:33:20] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true [17:33:20] [FAKE MODE] Exiting fake mode, restoring real session [17:33:20] [SECURITY] Restored real session: ILUIWU [17:33:20] [SECURITY] Saved real session: ILUIWU [17:33:20] [FAKE MODE] ✅ Restored real session: ILUIWU [17:33:20] [FAKE MODE] Loaded 50 messages (limited to page size) [17:33:20] [READBY_OPT] No message IDs to fetch - skipping server call [17:33:20] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [17:33:20] [AUTH] Cache had 1 messages, maxExistingId=23824, inserted 0 truly new [17:33:20] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23824>23823=true, shouldScroll=true [17:33:20] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [17:33:20] [AUTH] UI update complete [17:33:21] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data [17:33:21] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [17:33:21] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [17:33:21] [SCROLL] 💓 alive, visible=40...50, rows=51, estHeight=0.0, heightCalls=125 [17:33:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:21] [WS] Query connection failed - cleaning up all agent connections and views [17:33:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:21] [CLEANUP] ======================================== [17:33:21] [CLEANUP] Cleaning up all agent connections and views [17:33:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:21] [CLEANUP] Stopped and removed 0 video connections [17:33:21] [CLEANUP] Removed 0 video views [17:33:21] [CLEANUP] Removed 0 feed scroll views [17:33:21] [CLEANUP] Removed 0 status labels [17:33:21] [CLEANUP] Reset agent query state [17:33:21] [CLEANUP] Updated page indicator [17:33:21] [CLEANUP] Rebuilt video layout [17:33:21] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:21] [CLEANUP] ======================================== [17:33:21] [SERVER] Starting reconnect polling (5s interval) [17:33:21] [CLEANUP] ======================================== [17:33:21] [CLEANUP] Cleaning up all agent connections and views [17:33:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:21] [CLEANUP] Stopped and removed 0 video connections [17:33:21] [CLEANUP] Removed 0 video views [17:33:21] [CLEANUP] Removed 0 feed scroll views [17:33:21] [CLEANUP] Removed 0 status labels [17:33:21] [CLEANUP] Reset agent query state [17:33:21] [CLEANUP] Updated page indicator [17:33:21] [CLEANUP] Rebuilt video layout [17:33:21] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:21] [CLEANUP] ======================================== [17:33:21] [SERVER] Starting reconnect polling (5s interval) [17:33:21] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [17:33:21] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23824, 23823, 23822, 23821, 23820] [17:33:21] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [17:33:21] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815] [17:33:21] [RELOAD_TAB] 📊 Building chatRows from 50 messages [17:33:21] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [17:33:21] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=62 [17:33:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [17:33:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [17:33:22] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [17:33:22] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:22] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:22] [CLIENT_SIG] Event received: type=0 messageId=23825 [17:33:22] [WS_EVENT] Received event: type=0, messageId=23825 [17:33:22] [WS_EVENT] 📨 New message notification (msgId=23825) - triggering incremental refresh, currentMsgCount=50 [17:33:22] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [17:33:22] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23824, maxMemoryId=23824 [17:33:22] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23824 [17:33:22] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 16:33:22 +0000 - type: unknown, operation_type: 0, message_id: 23825, session_id: ILUIWU, state: 0 [17:33:22] [PUSH_DEBUG] Full userInfo: [AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23825, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-06 16:33:19"; "file_name" = ""; message = "Yesss!!!!!"; "message_id" = 23825; "message_type" = 0; "prev_session_message_id" = 23824; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] [17:33:22] [PUSH] App active - suppressing notification UI, posting internal event [17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:33:22 +0000 [17:33:22] [PUSH_TRACE] ⬇️ Processing embedded message_id=23825 [17:33:22] [PUSH_EMBED] 📩 Received embedded message: id=23825, type=0, sender=Esra [17:33:22] [PUSH_TRACE] ⬇️ Message details: text="Yesss!!!!!...", datesent=2026-03-06 16:33:19 [17:33:22] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [17:33:22] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23825 [17:33:22] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23825 [17:33:22] [PUSH_EMBED] ✅ Saved message 23825 to local DB (sync) [17:33:22] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23825 [17:33:22] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23825 [17:33:22] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23825 [17:33:22] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[] [17:33:22] [PUSH_EMBED] Created new cache with embedded message 23825 [17:33:22] [PUSH_TRACE] 📦 ✅ Created new cache with message 23825 [17:33:22] [PUSH_TRACE] 📦 EXITING cache update queue for message 23825 [17:33:22] [PUSH_EMBED] Fetching evolution data for message 23825 in background [17:33:22] [PUSH_EMBED] ✅ Fully processed message 23825 [17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23825 [17:33:22] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815] [17:33:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23825, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-06 16:33:19"; "file_name" = ""; message = "Yesss!!!!!"; "message_id" = 23825; "message_type" = 0; "prev_session_message_id" = 23824; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] [17:33:22] [PUSH_EMBED_VC] Processing embedded message: id=23825, type=0, sender=Esra, prevId=23824 [17:33:22] [PUSH_EMBED_VC] Inserted message 23825 into allMessagesWithReadBy (now 51 messages) [17:33:22] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [17:33:22] [PUSH_EMBED_VC] ✅ Previous message 23824 exists in memory [17:33:22] [PUSH] ⚡ Embedded message handled directly in ViewController [17:33:22] [PUSH] Parsed message_id: 23825 [17:33:22] [PUSH] Parsed operation_type: 0 [17:33:22] [PUSH] Taking direct action: opType=0, messageId=23825 [17:33:22] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23825 [17:33:22] [PUSH_EMBED_VC] Saved message 23825 to local DB [17:33:22] [PUSH] ⚡ Message 23825 already in memory - skipping duplicate notification entirely [17:33:22] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:22] HELLO → sent (cached token, role=query) [17:33:22] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived START [17:33:22] [PUSH_TRACE] 👁️ Received message id=23825, text="Yesss!!!!!..." [17:33:22] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [17:33:22] [PUSH_UI] Message 23825 already in memory - skipping insert [17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists [17:33:22] [PUSH] Silent push received [17:33:22] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 16:33:22 +0000, appState=0, message_id=23825 [17:33:22] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=1, IDs=[23825] [17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:33:22 +0000 [17:33:22] [PUSH_TRACE] ⬇️ Processing embedded message_id=23825 [17:33:22] [PUSH_EMBED] 📩 Received embedded message: id=23825, type=0, sender=Esra [17:33:22] [PUSH_TRACE] ⬇️ Message details: text="Yesss!!!!!...", datesent=2026-03-06 16:33:19 [17:33:22] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [17:33:22] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23825 [17:33:22] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23825 [17:33:22] [PUSH_EMBED] ✅ Saved message 23825 to local DB (sync) [17:33:22] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23825 [17:33:22] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23825 [17:33:22] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23825 [17:33:22] [PUSH_TRACE] 📦 Cache state: valid=true, count=1, IDs=[23825] [17:33:22] [PUSH_TRACE] 📦 ⚠️ Message 23825 already in cache, skipping insert [17:33:22] [PUSH_TRACE] 📦 EXITING cache update queue for message 23825 [17:33:22] [PUSH_EMBED] Fetching evolution data for message 23825 in background [17:33:22] [PUSH_EMBED] ✅ Fully processed message 23825 [17:33:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23825 [17:33:22] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[23825], handled=true [17:33:22] [PUSH] Embedded message handled instantly from silent push [17:33:22] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification [17:33:22] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23825 [17:33:22] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived START [17:33:22] [PUSH_TRACE] 👁️ Received message id=23825, text="Yesss!!!!!..." [17:33:22] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [17:33:22] [PUSH_UI] Message 23825 already in memory - skipping insert [17:33:22] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists [17:33:22] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816] [17:33:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23825, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-06 16:33:19"; "file_name" = ""; message = "Yesss!!!!!"; "message_id" = 23825; "message_type" = 0; "prev_session_message_id" = 23824; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] [17:33:22] [PUSH_EMBED_VC] Message 23825 already in memory - skipping [17:33:22] [PUSH] ⚡ Embedded message handled directly in ViewController [17:33:22] [PUSH] Parsed message_id: 23825 [17:33:22] [PUSH] Parsed operation_type: 0 [17:33:22] [PUSH] Taking direct action: opType=0, messageId=23825 [17:33:22] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23825 [17:33:22] [PUSH] ⚡ Message 23825 already in memory - skipping duplicate notification entirely [17:33:22] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [17:33:22] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [17:33:22] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:22] [WS] Query connection failed - cleaning up all agent connections and views [17:33:22] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:22] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:22] [CLEANUP] ======================================== [17:33:22] [CLEANUP] Cleaning up all agent connections and views [17:33:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:22] [CLEANUP] Stopped and removed 0 video connections [17:33:22] [CLEANUP] Removed 0 video views [17:33:22] [CLEANUP] Removed 0 feed scroll views [17:33:22] [CLEANUP] Removed 0 status labels [17:33:22] [CLEANUP] Reset agent query state [17:33:22] [CLEANUP] Updated page indicator [17:33:22] [CLEANUP] Rebuilt video layout [17:33:22] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:22] [CLEANUP] ======================================== [17:33:22] [SERVER] Starting reconnect polling (5s interval) [17:33:22] [CLEANUP] ======================================== [17:33:22] [CLEANUP] Cleaning up all agent connections and views [17:33:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:22] [CLEANUP] Stopped and removed 0 video connections [17:33:22] [CLEANUP] Removed 0 video views [17:33:22] [CLEANUP] Removed 0 feed scroll views [17:33:22] [CLEANUP] Removed 0 status labels [17:33:22] [CLEANUP] Reset agent query state [17:33:22] [CLEANUP] Updated page indicator [17:33:22] [CLEANUP] Rebuilt video layout [17:33:22] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:22] [CLEANUP] ======================================== [17:33:22] [SERVER] Starting reconnect polling (5s interval) [17:33:22] [PUSH_EMBED] Got evolution data for message 23825, saving to local DB [17:33:22] [PUSH_EMBED] Saved evolution data for message 23825 [17:33:22] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=62 [17:33:22] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23825, 23824, 23823, 23822, 23821] [17:33:22] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [17:33:22] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816] [17:33:22] [RELOAD_TAB] 📊 Building chatRows from 51 messages [17:33:22] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [17:33:22] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23824 → 23825 [17:33:22] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=64 [17:33:22] [SCROLL] 💓 alive, visible=41...51, rows=52, estHeight=0.0, heightCalls=117 [17:33:23] [PUSH_EMBED] Got evolution data for message 23825, saving to local DB [17:33:23] [CLIENT_SIG] Event received: type=3 messageId=23824 [17:33:23] [WS_EVENT] Received event: type=3, messageId=23824 [17:33:23] [WS_EVENT] Read receipt for message 23824 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [17:33:23] [PUSH_EMBED] Saved evolution data for message 23825 [17:33:23] [USER] ✅ User registered successfully [17:33:23] [PUSH] User registration after token update: success [17:33:23] [INCREMENTAL_SYNC] ✅ Found 1 new messages [17:33:23] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23825] [17:33:23] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 51 msgs, first 10 IDs=[23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816] [17:33:23] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 0 new, total 51, first 10 IDs=[23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816] [17:33:23] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1 [17:33:23] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [17:33:23] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51 [17:33:23] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [17:33:23] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23825, 23824, 23823, 23822, 23821] [17:33:23] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [17:33:23] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816] [17:33:23] [RELOAD_TAB] 📊 Building chatRows from 51 messages [17:33:23] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [17:33:23] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63 [17:33:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:24] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:24] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:24] HELLO → sent (cached token, role=query) [17:33:24] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:24] [WS] Query connection failed - cleaning up all agent connections and views [17:33:24] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:24] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:24] [CLEANUP] ======================================== [17:33:24] [CLEANUP] Cleaning up all agent connections and views [17:33:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:24] [CLEANUP] Stopped and removed 0 video connections [17:33:24] [CLEANUP] Removed 0 video views [17:33:24] [CLEANUP] Removed 0 feed scroll views [17:33:24] [CLEANUP] Removed 0 status labels [17:33:24] [CLEANUP] Reset agent query state [17:33:24] [CLEANUP] Updated page indicator [17:33:24] [CLEANUP] Rebuilt video layout [17:33:24] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:24] [CLEANUP] ======================================== [17:33:24] [SERVER] Starting reconnect polling (5s interval) [17:33:24] [CLEANUP] ======================================== [17:33:24] [CLEANUP] Cleaning up all agent connections and views [17:33:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:24] [CLEANUP] Stopped and removed 0 video connections [17:33:24] [CLEANUP] Removed 0 video views [17:33:24] [CLEANUP] Removed 0 feed scroll views [17:33:24] [CLEANUP] Removed 0 status labels [17:33:24] [CLEANUP] Reset agent query state [17:33:24] [CLEANUP] Updated page indicator [17:33:24] [CLEANUP] Rebuilt video layout [17:33:24] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:24] [CLEANUP] ======================================== [17:33:24] [SERVER] Starting reconnect polling (5s interval) [17:33:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:26] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:26] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:26] HELLO → sent (cached token, role=query) [17:33:26] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:26] [WS] Query connection failed - cleaning up all agent connections and views [17:33:26] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:26] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:26] [CLEANUP] ======================================== [17:33:26] [CLEANUP] Cleaning up all agent connections and views [17:33:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:26] [CLEANUP] Stopped and removed 0 video connections [17:33:26] [CLEANUP] Removed 0 video views [17:33:26] [CLEANUP] Removed 0 feed scroll views [17:33:26] [CLEANUP] Removed 0 status labels [17:33:26] [CLEANUP] Reset agent query state [17:33:26] [CLEANUP] Updated page indicator [17:33:26] [CLEANUP] Rebuilt video layout [17:33:26] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:26] [CLEANUP] ======================================== [17:33:26] [SERVER] Starting reconnect polling (5s interval) [17:33:26] [CLEANUP] ======================================== [17:33:26] [CLEANUP] Cleaning up all agent connections and views [17:33:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:26] [CLEANUP] Stopped and removed 0 video connections [17:33:26] [CLEANUP] Removed 0 video views [17:33:26] [CLEANUP] Removed 0 feed scroll views [17:33:26] [CLEANUP] Removed 0 status labels [17:33:26] [CLEANUP] Reset agent query state [17:33:26] [CLEANUP] Updated page indicator [17:33:26] [CLEANUP] Rebuilt video layout [17:33:26] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:26] [CLEANUP] ======================================== [17:33:26] [SERVER] Starting reconnect polling (5s interval) [17:33:26] [SCROLL] 💓 alive, visible=41...51, rows=52, estHeight=0.0, heightCalls=63 [17:33:27] [CLIENT_SIG] Event received: type=3 messageId=23825 [17:33:27] [WS_EVENT] Received event: type=3, messageId=23825 [17:33:27] [WS_EVENT] Read receipt for message 23825 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [17:33:27] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:27] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:28] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:28] HELLO → sent (cached token, role=query) [17:33:28] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:28] [WS] Query connection failed - cleaning up all agent connections and views [17:33:28] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:28] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:28] [CLEANUP] ======================================== [17:33:28] [CLEANUP] Cleaning up all agent connections and views [17:33:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:28] [CLEANUP] Stopped and removed 0 video connections [17:33:28] [CLEANUP] Removed 0 video views [17:33:28] [CLEANUP] Removed 0 feed scroll views [17:33:28] [CLEANUP] Removed 0 status labels [17:33:28] [CLEANUP] Reset agent query state [17:33:28] [CLEANUP] Updated page indicator [17:33:28] [CLEANUP] Rebuilt video layout [17:33:28] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:28] [CLEANUP] ======================================== [17:33:28] [SERVER] Starting reconnect polling (5s interval) [17:33:28] [CLEANUP] ======================================== [17:33:28] [CLEANUP] Cleaning up all agent connections and views [17:33:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:28] [CLEANUP] Stopped and removed 0 video connections [17:33:28] [CLEANUP] Removed 0 video views [17:33:28] [CLEANUP] Removed 0 feed scroll views [17:33:28] [CLEANUP] Removed 0 status labels [17:33:28] [CLEANUP] Reset agent query state [17:33:28] [CLEANUP] Updated page indicator [17:33:28] [CLEANUP] Rebuilt video layout [17:33:28] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:28] [CLEANUP] ======================================== [17:33:28] [SERVER] Starting reconnect polling (5s interval) [17:33:29] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [17:33:29] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=51, isReloading=false [17:33:29] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=52 [17:33:29] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [17:33:29] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[-1, 23825, 23824, 23823, 23822] [17:33:29] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages [17:33:29] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817] [17:33:29] [RELOAD_TAB] 📊 Building chatRows from 52 messages [17:33:29] [RELOAD_TAB] 📊 Built 53 chatRows, estHeight=0.0 [17:33:29] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [17:33:29] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [17:33:29] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [17:33:29] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:29] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:29] [SCROLL] 💓 alive, visible=46...52, rows=53, estHeight=0.0, heightCalls=115 [17:33:29] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:29] HELLO → sent (cached token, role=query) [17:33:29] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:29] [WS] Query connection failed - cleaning up all agent connections and views [17:33:29] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:29] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:29] [CLEANUP] ======================================== [17:33:29] [CLEANUP] Cleaning up all agent connections and views [17:33:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:29] [CLEANUP] Stopped and removed 0 video connections [17:33:29] [CLEANUP] Removed 0 video views [17:33:29] [CLEANUP] Removed 0 feed scroll views [17:33:29] [CLEANUP] Removed 0 status labels [17:33:29] [CLEANUP] Reset agent query state [17:33:29] [CLEANUP] Updated page indicator [17:33:29] [CLEANUP] Rebuilt video layout [17:33:29] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:29] [CLEANUP] ======================================== [17:33:29] [SERVER] Starting reconnect polling (5s interval) [17:33:29] [CLEANUP] ======================================== [17:33:29] [CLEANUP] Cleaning up all agent connections and views [17:33:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:29] [CLEANUP] Stopped and removed 0 video connections [17:33:29] [CLEANUP] Removed 0 video views [17:33:29] [CLEANUP] Removed 0 feed scroll views [17:33:29] [CLEANUP] Removed 0 status labels [17:33:29] [CLEANUP] Reset agent query state [17:33:29] [CLEANUP] Updated page indicator [17:33:29] [CLEANUP] Rebuilt video layout [17:33:29] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:29] [CLEANUP] ======================================== [17:33:29] [SERVER] Starting reconnect polling (5s interval) [17:33:30] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [17:33:30] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=52, isReloading=false [17:33:30] [SEND_MESSAGE] ✅ Added optimistic message id=-2 to arrays, newMsgCount=53 [17:33:30] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [17:33:30] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[-2, -1, 23825, 23824, 23823] [17:33:30] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages [17:33:30] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-2, -1, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818] [17:33:30] [RELOAD_TAB] 📊 Building chatRows from 53 messages [17:33:30] [RELOAD_TAB] 📊 Built 54 chatRows, estHeight=0.0 [17:33:30] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [17:33:30] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [17:33:30] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [17:33:30] [SCROLL] 💓 alive, visible=49...53, rows=54, estHeight=0.0, heightCalls=116 [17:33:31] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [17:33:31] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=53, isReloading=false [17:33:31] [SEND_MESSAGE] ✅ Added optimistic message id=-3 to arrays, newMsgCount=54 [17:33:31] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [17:33:31] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[-3, -2, -1, 23825, 23824] [17:33:31] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages [17:33:31] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-3, -2, -1, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:33:31] [RELOAD_TAB] 📊 Building chatRows from 54 messages [17:33:31] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0 [17:33:31] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61 [17:33:31] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [17:33:31] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [17:33:31] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:31] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:31] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:31] HELLO → sent (cached token, role=query) [17:33:31] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:31] [WS] Query connection failed - cleaning up all agent connections and views [17:33:31] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:31] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:31] [CLEANUP] ======================================== [17:33:31] [CLEANUP] Cleaning up all agent connections and views [17:33:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:31] [CLEANUP] Stopped and removed 0 video connections [17:33:31] [CLEANUP] Removed 0 video views [17:33:31] [CLEANUP] Removed 0 feed scroll views [17:33:31] [CLEANUP] Removed 0 status labels [17:33:31] [CLEANUP] Reset agent query state [17:33:31] [CLEANUP] Updated page indicator [17:33:31] [CLEANUP] Rebuilt video layout [17:33:31] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:31] [CLEANUP] ======================================== [17:33:31] [SERVER] Starting reconnect polling (5s interval) [17:33:31] [CLEANUP] ======================================== [17:33:31] [CLEANUP] Cleaning up all agent connections and views [17:33:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:31] [CLEANUP] Stopped and removed 0 video connections [17:33:31] [CLEANUP] Removed 0 video views [17:33:31] [CLEANUP] Removed 0 feed scroll views [17:33:31] [CLEANUP] Removed 0 status labels [17:33:31] [CLEANUP] Reset agent query state [17:33:31] [CLEANUP] Updated page indicator [17:33:31] [CLEANUP] Rebuilt video layout [17:33:31] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:31] [CLEANUP] ======================================== [17:33:31] [SERVER] Starting reconnect polling (5s interval) [17:33:32] [CLIENT_SIG] Event received: type=0 messageId=23826 [17:33:32] [WS_EVENT] Received event: type=0, messageId=23826 [17:33:32] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23826,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 16:33:29"} [17:33:32] [WS_EVENT] 📨 New message notification (msgId=23826) - triggering incremental refresh, currentMsgCount=54 [17:33:32] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=54 [17:33:32] [CHAT] receive_message.php JSON: ["message_id": 23826, "session_id": ILUIWU, "ok": 1, "datesent_utc": 2026-03-06 16:33:29, "message_type": 0, "file_name": ] [17:33:32] [DB_UPGRADE] Upgrading message ID: -1 → 23826, preserveOriginalDate=false [17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23825, maxMemoryId=23825 [17:33:32] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23825 [17:33:32] [DB_UPGRADE] ✅ Upgraded -1 → 23826 with send_status=0, 1 row(s) affected [17:33:32] [SEND_UPGRADE] ✅ Updated chatMessages[2].id: -1 → 23826 [17:33:32] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[2].id: -1 → 23826 [17:33:32] ReloadData 9 [17:33:32] [INCREMENTAL_SYNC] ✅ Found 2 new messages [17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 2 new messages, IDs=[23827, 23826] [17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 54 msgs, first 10 IDs=[-3, -2, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23827 [17:33:32] [INCREMENTAL_SYNC] Replaced optimistic message (id=-3) with server message (id=23827) [17:33:32] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 54, first 10 IDs=[-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:33:32] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=2 [17:33:32] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54 [17:33:32] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=54 [17:33:33] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=178 [17:33:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[-2, 23827, 23826, 23825, 23824] [17:33:33] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages [17:33:33] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:33:33] [RELOAD_TAB] 📊 Building chatRows from 54 messages [17:33:33] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0 [17:33:33] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [17:33:33] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:33] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:33:33] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:33:33] HELLO → sent (cached token, role=query) [17:33:33] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:33:33] [WS] Query connection failed - cleaning up all agent connections and views [17:33:33] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:33:33] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:33:33] [CLEANUP] ======================================== [17:33:33] [CLEANUP] Cleaning up all agent connections and views [17:33:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:33] [CLEANUP] Stopped and removed 0 video connections [17:33:33] [CLEANUP] Removed 0 video views [17:33:33] [CLEANUP] Removed 0 feed scroll views [17:33:33] [CLEANUP] Removed 0 status labels [17:33:33] [CLEANUP] Reset agent query state [17:33:33] [CLEANUP] Updated page indicator [17:33:33] [CLEANUP] Rebuilt video layout [17:33:33] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:33] [CLEANUP] ======================================== [17:33:33] [SERVER] Starting reconnect polling (5s interval) [17:33:33] [CLEANUP] ======================================== [17:33:33] [CLEANUP] Cleaning up all agent connections and views [17:33:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:33:33] [CLEANUP] Stopped and removed 0 video connections [17:33:33] [CLEANUP] Removed 0 video views [17:33:33] [CLEANUP] Removed 0 feed scroll views [17:33:33] [CLEANUP] Removed 0 status labels [17:33:33] [CLEANUP] Reset agent query state [17:33:33] [CLEANUP] Updated page indicator [17:33:33] [CLEANUP] Rebuilt video layout [17:33:33] [CLEANUP] ✅ All agent connections and views cleaned up [17:33:33] [CLEANUP] ======================================== [17:33:33] [SERVER] Starting reconnect polling (5s interval) [17:33:33] [LIFECYCLE] App resigning active - cleared crash flag [17:33:34] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [17:33:34] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [17:33:34] [SECURITY] Saved background timestamp [17:33:34] [LIFECYCLE] App entering background - cleared crash flag [17:33:34] [CLIENT_SIG] Disconnecting [17:33:34] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [17:33:34] [DB] ✅ Chat database flushed (WAL checkpoint) before background [17:33:34] [PUSH_TRACE] 💤 BACKGROUND: memory has 54 messages, first 10 IDs=[-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:33:34] [LIFECYCLE] Background snapshot: count=54, maxId=23827 [17:33:34] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [17:33:34] [WS] Canceling WebSocket for query connection to iosILUIWU [17:33:34] In cleanupPeer [17:33:34] In cleanupPeer [17:33:34] [LIFECYCLE] WebRTC audio disabled [17:33:34] [LIFECYCLE] AVAudioSession deactivated [17:33:34] [LIFECYCLE] All connections stopped [17:33:34] [CLIENT_SIG] WebSocket closed with code 1001 [17:33:34] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [17:33:34] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [17:33:34] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [17:33:34] [SERVER] Stopped reconnect polling [17:33:34] [WS] URLSession invalidated successfully [17:33:34] Will request stop of video 0 [17:33:34] Will request stop of video 0 [17:33:34] [PIP] Removing 0 tracks from PiP for connection 0 [17:33:34] [PIP] ✅ All tracks removed for connection 0 [17:33:34] [PIP] Removing 0 tracks from PiP for connection 0 [17:33:34] [PIP] ✅ All tracks removed for connection 0 [17:33:34] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:33:34] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:42] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [17:35:42] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out. [17:35:42] [WS] Query connection error - cleaning up all agent connections and views [17:35:42] [WS] Connection failed: The request timed out. [17:35:42] [WS] Query connection failed - cleaning up all agent connections and views [17:35:42] [PUSH] Notification tapped - session_id: ILUIWU [17:35:42] [PUSH] Max message_id before tap: 23827 [17:35:42] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x12ecbef70 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <18F26FA5-958A-4DB1-B992-54E64C37EC03>.<36>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <18F26FA5-958A-4DB1-B992-54E64C37EC03>.<36>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} [17:35:42] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x12ecbd5f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <1FDD2F0F-612D-411D-B036-492C859887F3>.<37>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <1FDD2F0F-612D-411D-B036-492C859887F3>.<37>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} [17:35:42] [PUSH] Stored pending session: ILUIWU [17:35:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 16:35:42 +0000 [17:35:42] [PUSH_TRACE] ⬇️ Processing embedded message_id=23829 [17:35:42] [PUSH_EMBED] 📩 Received embedded message: id=23829, type=0, sender=Esra [17:35:42] [PUSH_TRACE] ⬇️ Message details: text="You are tooooo much 🤤🤤🤤🤤🤤...", datesent=2026-03-06 16:35:39 [17:35:42] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [17:35:42] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23829 [17:35:42] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23829 [17:35:42] [PUSH_EMBED] ✅ Saved message 23829 to local DB (sync) [17:35:42] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23829 [17:35:42] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23829 [17:35:42] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23829 [17:35:42] [PUSH_TRACE] 📦 Cache state: valid=true, count=1, IDs=[23825] [17:35:42] [PUSH_EMBED] Inserted message 23829 into existing cache (now 2 messages) [17:35:42] [PUSH_TRACE] 📦 ✅ Inserted message 23829, cache now has IDs: [23829, 23825] [17:35:42] [PUSH_TRACE] 📦 EXITING cache update queue for message 23829 [17:35:42] [PUSH_EMBED] Fetching evolution data for message 23829 in background [17:35:42] [PUSH_EMBED] ✅ Fully processed message 23829 [17:35:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23829 [17:35:42] [PUSH] Embedded message handled instantly on tap [17:35:42] [SECURITY] Timeout check: elapsed=128.40721321105957s, timeout=300.0s [17:35:42] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [17:35:42] [PUSH] Fetching server messages since_id=23827 to catch coalesced notifications on tap [17:35:42] [CLIENT_SIG] Already connected/connecting to session ILUIWU [17:35:42] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23827 to catch coalesced notifications [17:35:42] [PUSH_PRELOAD] Fetching messages for instant display cache [17:35:42] [LIFECYCLE] App entering foreground - restoring connections [17:35:42] [PUSH_TRACE] 🔄 FOREGROUND: memory has 54 msgs, IDs=[-2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:35:42] [PUSH_TRACE] 🔄 FOREGROUND: cache has 2 msgs, valid=true, IDs=[23829, 23825] [17:35:42] [LIFECYCLE] Away > 2 minutes (128s) - will scroll to bottom [17:35:42] [UPLOAD_RETRY] No pending uploads to retry [17:35:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54 [17:35:42] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [17:35:42] [LIFECYCLE] WebRTC audio re-enabled [17:35:42] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [17:35:42] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [17:35:42] [CLIENT_SIG] Already connected/connecting to session ILUIWU [17:35:42] [VIEWER] Reconnecting after background - querying agents [17:35:42] [UNSENT_RETRY] Checking for unsent messages... [17:35:42] [NETWORK] Status changed: connected [17:35:42] [PENDING_UPLOAD] Found pending message: id=-2, file=, uploadStatus=0, sendStatus=1 [17:35:42] [PENDING_UPLOAD] Total pending upload messages: 1 [17:35:42] [UNSENT_RETRY] ⏰ Found stuck 'sending' message id=-2, age=132s - will retry [17:35:42] [UNSENT_RETRY] 🔄 Found 1 unsent messages from me to retry [17:35:42] [UNSENT_RETRY] 🔄 Retrying message id=-2, type=0, file= [17:35:42] [SEND_STATUS] 💾 Updating DB: messageId=-2, status=1 (sending) [17:35:42] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-2 [17:35:42] [UNSENT_RETRY] 🔑 Including client_message_id=EBAC08F4-0E69-4459-B9EC-90D76BC80636 for idempotent retry [17:35:42] [UNSENT_RETRY] 📤 Sending message id=-2 to server [17:35:42] [CLEANUP] ======================================== [17:35:42] [CLEANUP] Cleaning up all agent connections and views [17:35:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:42] [CLEANUP] Stopped and removed 0 video connections [17:35:42] [CLEANUP] Removed 0 video views [17:35:42] [CLEANUP] Removed 0 feed scroll views [17:35:42] [CLEANUP] Removed 0 status labels [17:35:42] [CLEANUP] Reset agent query state [17:35:42] [CLEANUP] Updated page indicator [17:35:42] [CLEANUP] Rebuilt video layout [17:35:42] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:42] [CLEANUP] ======================================== [17:35:42] [SERVER] Starting reconnect polling (5s interval) [17:35:42] [CLEANUP] ======================================== [17:35:42] [CLEANUP] Cleaning up all agent connections and views [17:35:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:42] [CLEANUP] Stopped and removed 0 video connections [17:35:42] [CLEANUP] Removed 0 video views [17:35:42] [CLEANUP] Removed 0 feed scroll views [17:35:42] [CLEANUP] Removed 0 status labels [17:35:42] [CLEANUP] Reset agent query state [17:35:42] [CLEANUP] Updated page indicator [17:35:42] [CLEANUP] Rebuilt video layout [17:35:42] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:42] [CLEANUP] ======================================== [17:35:42] [SERVER] Starting reconnect polling (5s interval) [17:35:42] [CHAT] Network error detected - queuing for retry [17:35:42] [SEND_STATUS] 💾 Updating DB: messageId=-2, status=3 (pending_retry) [17:35:42] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-2 [17:35:42] [SEND_STATUS] ⏳ Message -2 marked as PENDING RETRY (waiting for network) [17:35:42] [CHAT] Network error detected - queuing for retry [17:35:42] [SEND_STATUS] 💾 Updating DB: messageId=-3, status=3 (pending_retry) [17:35:42] [SEND_STATUS] ⚠️ DB update: 0 rows affected - messageId=-3 not found in local_messages [17:35:42] [SEND_STATUS] ⏳ Message -3 marked as PENDING RETRY (waiting for network) [17:35:42] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [17:35:42] [PUSH_TRACE] 👁️ handlePushMessageReceived START [17:35:42] [PUSH_TRACE] 👁️ Received message id=23829, text="You are tooooo much 🤤🤤🤤🤤🤤..." [17:35:42] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [17:35:42] [PUSH_TRACE] 👁️ BEFORE insert: 54 messages, first 5 IDs: [-2, 23827, 23826, 23825, 23824] [17:35:42] [PUSH_TRACE] 👁️ Inserted message 23829 at index 0 [17:35:42] [PUSH_UI] Inserted message 23829 into UI (now 55 messages) [17:35:42] [PUSH_TRACE] 👁️ AFTER insert: 55 messages, first 5 IDs: [23829, -2, 23827, 23826, 23825] [17:35:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=55 [17:35:42] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [17:35:42] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success [17:35:42] [CLIENT_SIG] WebSocket opened [17:35:42] [CLIENT_SIG] HELLO sent as client for session ILUIWU [17:35:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=180 [17:35:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=55, first5Ids=[23829, -2, 23827, 23826, 23825] [17:35:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 55 messages [17:35:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23829, -2, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820] [17:35:43] [RELOAD_TAB] 📊 Building chatRows from 55 messages [17:35:43] [RELOAD_TAB] 📊 Built 56 chatRows, estHeight=0.0 [17:35:43] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23827 → 23829 [17:35:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=62 [17:35:43] [CLIENT_SIG] Connected! clientId=QPhI9Ohlisn5lInw [17:35:43] [PUSH_EMBED] Got evolution data for message 23829, saving to local DB [17:35:43] [PUSH_EMBED] Saved evolution data for message 23829 [17:35:43] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [17:35:43] [FOREGROUND] Enriched 2/2 unsettled messages with readBy data [17:35:43] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=55>54=true, maxId=23829>23827=true, shouldScroll=true [17:35:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=55 [17:35:43] [UNSENT_RETRY] 📥 receive_message.php HTTP 200: {"ok":true,"message_id":23827,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 16:33:30","idempotent":true} [17:35:43] [UNSENT_RETRY] ✅ Message synced (IDEMPOTENT - server already had it)! Old id=-2 → existing server id=23827 [17:35:43] [DB_UPGRADE] Upgrading message ID: -2 → 23827, preserveOriginalDate=true [17:35:43] [DB_UPGRADE] ❌ Step fail: UNIQUE constraint failed: local_messages.message_id [17:35:43] [UNSENT_RETRY] ⚠️ Server ID 23827 already exists in array - removing provisional entry -2 (duplicate from background sync) [17:35:43] ReloadData unsent_retry [17:35:43] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU') [17:35:43] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [17:35:43] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [17:35:43] [PUSH_PRELOAD] Fetched 2 messages - caching for instant display [17:35:43] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=2, sessionId=ILUIWU [17:35:43] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23829, 23828] [17:35:43] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=2, IDs=[23829, 23825] [17:35:43] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23825] [17:35:43] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23825] [17:35:43] [PUSH_TRACE] 🔀 mergeMessages: merged.count=3, first 10 IDs=[23829, 23828, 23825] [17:35:43] [PUSH_PRELOAD] ⚡ Pre-cached 3 messages for instant display (preserved 1 from push) [17:35:43] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [17:35:43] [PUSH] Server fetch on tap completed (success=true) [17:35:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:35:43] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23829, AnyHashable("message_data"): { datesent = "2026-03-06 16:35:39"; "file_name" = ""; message = "You are tooooo much \Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24\Ud83e\Udd24"; "message_id" = 23829; "message_type" = 0; "prev_session_message_id" = 23828; "replied_message" = "Time to goooo"; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23779; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0] [17:35:43] [PUSH_EMBED_VC] Message 23829 already in memory - skipping [17:35:43] [PUSH] ⚡ Embedded message handled directly in ViewController [17:35:43] [PUSH] Parsed message_id: 23829 [17:35:43] [PUSH] Parsed operation_type: 0 [17:35:43] [PUSH] Taking direct action: opType=0, messageId=23829 [17:35:43] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23829 [17:35:43] [PUSH] ⚡ Message 23829 already in memory - skipping duplicate notification entirely [17:35:43] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [17:35:43] [SECURITY] Within timeout - cleared background flag [17:35:43] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [17:35:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:35:43] [PUSH] handlePollEventsNotification userInfo: [:] [17:35:43] [PUSH] No message_id in userInfo [17:35:43] [PUSH] No operation_type in userInfo [17:35:43] [FAST_REFRESH] Evolution disabled - performing incremental sync [17:35:43] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=3, IDs=[23829, 23828, 23825] [17:35:43] [PUSH_TRACE] 📬 POLL: memory state: count=54, first 10 IDs=[23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:35:43] [FAST_REFRESH] Already have 54 messages in memory [17:35:43] [FAST_REFRESH] maxMemoryId=23829, maxLocalId=23829 [17:35:43] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [17:35:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54 [17:35:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [17:35:43] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [17:35:43] [READBY_OPT] No message IDs to fetch - skipping server call [17:35:43] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=54 [17:35:43] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23829, maxMemoryId=23829 [17:35:43] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23829 [17:35:43] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [17:35:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54 [17:35:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [17:35:43] [INCREMENTAL_SYNC] ✅ No new messages [17:35:43] [FAST_REFRESH] Incremental sync complete - 54 messages [17:35:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=122 [17:35:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[23829, 23827, 23826, 23825, 23824] [17:35:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages [17:35:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819] [17:35:43] [RELOAD_TAB] 📊 Building chatRows from 54 messages [17:35:43] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0 [17:35:43] [SCROLL] 💓 alive, visible=50...54, rows=55, estHeight=0.0, heightCalls=0 [17:35:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [17:35:44] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:44] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:44] HELLO → sent (cached token, role=query) [17:35:44] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:44] [WS] Query connection failed - cleaning up all agent connections and views [17:35:44] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:44] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:44] [CLEANUP] ======================================== [17:35:44] [CLEANUP] Cleaning up all agent connections and views [17:35:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:44] [CLEANUP] Stopped and removed 0 video connections [17:35:44] [CLEANUP] Removed 0 video views [17:35:44] [CLEANUP] Removed 0 feed scroll views [17:35:44] [CLEANUP] Removed 0 status labels [17:35:44] [CLEANUP] Reset agent query state [17:35:44] [CLEANUP] Updated page indicator [17:35:44] [CLEANUP] Rebuilt video layout [17:35:44] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:44] [CLEANUP] ======================================== [17:35:44] [SERVER] Starting reconnect polling (5s interval) [17:35:44] [CLEANUP] ======================================== [17:35:44] [CLEANUP] Cleaning up all agent connections and views [17:35:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:44] [CLEANUP] Stopped and removed 0 video connections [17:35:44] [CLEANUP] Removed 0 video views [17:35:44] [CLEANUP] Removed 0 feed scroll views [17:35:44] [CLEANUP] Removed 0 status labels [17:35:44] [CLEANUP] Reset agent query state [17:35:44] [CLEANUP] Updated page indicator [17:35:44] [CLEANUP] Rebuilt video layout [17:35:44] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:44] [CLEANUP] ======================================== [17:35:44] [SERVER] Starting reconnect polling (5s interval) [17:35:45] [REPLY_TAP] Scrolling to message 23779 at index 5 [17:35:45] [SCROLL] 💓 alive, visible=50...54, rows=55, estHeight=0.0, heightCalls=61 [17:35:45] [SCROLL_BTN] Showing button - 341pt from bottom > half 223pt [17:35:45] [PAGINATION] 🔄 Older triggered: firstVisible=5, totalRows=55 [17:35:45] [PAGINATION] 📜 Starting load, offset=50, totalLoaded=54 [17:35:45] [PAGINATION] 📜 DB returned 50 messages [17:35:45] [PAGINATION] 📜 Loading 45 older messages, firstVisibleRow=5, oldOffset=606.0 [17:35:45] [PAGINATION] 📜 Total now: 99 [17:35:45] [PAGINATION] Switching estimatedRowHeight 0→60 (total=99 rows) [17:35:45] [RELOAD_TAB] ⚡ performReload ENTER, skip=true, estHeight=60.0, heightCalls=35 [17:35:45] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=99, first5Ids=[23729, 23730, 23731, 23732, 23733] [17:35:45] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 99 messages [17:35:45] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23729, 23730, 23731, 23732, 23733, 23734, 23735, 23736, 23737, 23738] [17:35:45] [RELOAD_TAB] 📊 Building chatRows from 99 messages [17:35:45] [RELOAD_TAB] 📊 Built 101 chatRows, estHeight=60.0 [17:35:45] [RELOAD_TAB] 📊 reloadData() START, rows=101 [17:35:45] [RELOAD_TAB] 📊 reloadData() DONE, heightCalls=0 [17:35:45] [RELOAD_TAB] 📊 layoutIfNeeded() START [17:35:45] [CELL_UPLOAD] configure: msgId=23750, file=70448a62c4d71b7c.png, senderId=EYE-SYSTEM-00000000-0000-0000-0000-000000000000, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0 [17:35:45] [CELL_UPLOAD] → not my message, setting complete [17:35:45] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=70448a62c4d71b7c.png, overlayExists=true [17:35:45] [RELOAD_TAB] 📊 layoutIfNeeded() DONE, heightCalls=12 [17:35:45] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=12 [17:35:45] [PAGINATION] 📜 newHeight=6429.0, heightDiff=1266.0, newOffset=1872.0 [17:35:45] [PAGINATION] 📜 After setContentOffset, actual offset=1872.0 [17:35:45] [PAGINATION] 📜 Done, offset=1872.0 [17:35:45] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView= half 379pt [17:35:47] [MENU] dismissAnyExistingMenu called [17:35:47] [MENU] dismissAnyExistingMenu completed [17:35:47] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:47] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:47] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:47] HELLO → sent (cached token, role=query) [17:35:48] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:48] [WS] Query connection failed - cleaning up all agent connections and views [17:35:48] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:48] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:48] [CLEANUP] ======================================== [17:35:48] [CLEANUP] Cleaning up all agent connections and views [17:35:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:48] [CLEANUP] Stopped and removed 0 video connections [17:35:48] [CLEANUP] Removed 0 video views [17:35:48] [CLEANUP] Removed 0 feed scroll views [17:35:48] [CLEANUP] Removed 0 status labels [17:35:48] [CLEANUP] Reset agent query state [17:35:48] [CLEANUP] Updated page indicator [17:35:48] [CLEANUP] Rebuilt video layout [17:35:48] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:48] [CLEANUP] ======================================== [17:35:48] [SERVER] Starting reconnect polling (5s interval) [17:35:48] [CLEANUP] ======================================== [17:35:48] [CLEANUP] Cleaning up all agent connections and views [17:35:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:48] [CLEANUP] Stopped and removed 0 video connections [17:35:48] [CLEANUP] Removed 0 video views [17:35:48] [CLEANUP] Removed 0 feed scroll views [17:35:48] [CLEANUP] Removed 0 status labels [17:35:48] [CLEANUP] Reset agent query state [17:35:48] [CLEANUP] Updated page indicator [17:35:48] [CLEANUP] Rebuilt video layout [17:35:48] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:48] [CLEANUP] ======================================== [17:35:48] [SERVER] Starting reconnect polling (5s interval) [17:35:48] [SCROLL] 💓 alive, visible=91...100, rows=101, estHeight=60.0, heightCalls=37 [17:35:49] [SCROLL] 💓 alive, visible=91...97, rows=101, estHeight=60.0, heightCalls=2 [17:35:49] [SCROLL_BTN] Showing button - 310pt from bottom > half 223pt [17:35:49] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:49] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:49] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:49] HELLO → sent (cached token, role=query) [17:35:49] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:49] [WS] Query connection failed - cleaning up all agent connections and views [17:35:49] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:49] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:49] [CLEANUP] ======================================== [17:35:49] [CLEANUP] Cleaning up all agent connections and views [17:35:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:49] [CLEANUP] Stopped and removed 0 video connections [17:35:49] [CLEANUP] Removed 0 video views [17:35:49] [CLEANUP] Removed 0 feed scroll views [17:35:49] [CLEANUP] Removed 0 status labels [17:35:49] [CLEANUP] Reset agent query state [17:35:49] [CLEANUP] Updated page indicator [17:35:49] [CLEANUP] Rebuilt video layout [17:35:49] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:49] [CLEANUP] ======================================== [17:35:49] [SERVER] Starting reconnect polling (5s interval) [17:35:49] [CLEANUP] ======================================== [17:35:49] [CLEANUP] Cleaning up all agent connections and views [17:35:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:49] [CLEANUP] Stopped and removed 0 video connections [17:35:49] [CLEANUP] Removed 0 video views [17:35:49] [CLEANUP] Removed 0 feed scroll views [17:35:49] [CLEANUP] Removed 0 status labels [17:35:49] [CLEANUP] Reset agent query state [17:35:49] [CLEANUP] Updated page indicator [17:35:49] [CLEANUP] Rebuilt video layout [17:35:49] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:49] [CLEANUP] ======================================== [17:35:49] [SERVER] Starting reconnect polling (5s interval) [17:35:51] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:51] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:51] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:51] HELLO → sent (cached token, role=query) [17:35:51] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:51] [WS] Query connection failed - cleaning up all agent connections and views [17:35:51] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:51] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:51] [CLEANUP] ======================================== [17:35:51] [CLEANUP] Cleaning up all agent connections and views [17:35:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:51] [CLEANUP] Stopped and removed 0 video connections [17:35:51] [CLEANUP] Removed 0 video views [17:35:51] [CLEANUP] Removed 0 feed scroll views [17:35:51] [CLEANUP] Removed 0 status labels [17:35:51] [CLEANUP] Reset agent query state [17:35:51] [CLEANUP] Updated page indicator [17:35:51] [CLEANUP] Rebuilt video layout [17:35:51] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:51] [CLEANUP] ======================================== [17:35:51] [SERVER] Starting reconnect polling (5s interval) [17:35:51] [CLEANUP] ======================================== [17:35:51] [CLEANUP] Cleaning up all agent connections and views [17:35:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:51] [CLEANUP] Stopped and removed 0 video connections [17:35:51] [CLEANUP] Removed 0 video views [17:35:51] [CLEANUP] Removed 0 feed scroll views [17:35:51] [CLEANUP] Removed 0 status labels [17:35:51] [CLEANUP] Reset agent query state [17:35:51] [CLEANUP] Updated page indicator [17:35:51] [CLEANUP] Rebuilt video layout [17:35:51] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:51] [CLEANUP] ======================================== [17:35:51] [SERVER] Starting reconnect polling (5s interval) [17:35:53] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:53] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:53] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:53] HELLO → sent (cached token, role=query) [17:35:53] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:53] [WS] Query connection failed - cleaning up all agent connections and views [17:35:53] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:53] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:53] [CLEANUP] ======================================== [17:35:53] [CLEANUP] Cleaning up all agent connections and views [17:35:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:53] [CLEANUP] Stopped and removed 0 video connections [17:35:53] [CLEANUP] Removed 0 video views [17:35:53] [CLEANUP] Removed 0 feed scroll views [17:35:53] [CLEANUP] Removed 0 status labels [17:35:53] [CLEANUP] Reset agent query state [17:35:53] [CLEANUP] Updated page indicator [17:35:53] [CLEANUP] Rebuilt video layout [17:35:53] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:53] [CLEANUP] ======================================== [17:35:53] [SERVER] Starting reconnect polling (5s interval) [17:35:53] [CLEANUP] ======================================== [17:35:53] [CLEANUP] Cleaning up all agent connections and views [17:35:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:53] [CLEANUP] Stopped and removed 0 video connections [17:35:53] [CLEANUP] Removed 0 video views [17:35:53] [CLEANUP] Removed 0 feed scroll views [17:35:53] [CLEANUP] Removed 0 status labels [17:35:53] [CLEANUP] Reset agent query state [17:35:53] [CLEANUP] Updated page indicator [17:35:53] [CLEANUP] Rebuilt video layout [17:35:53] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:53] [CLEANUP] ======================================== [17:35:53] [SERVER] Starting reconnect polling (5s interval) [17:35:54] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:54] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:54] HELLO → sent (cached token, role=query) [17:35:55] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:55] [WS] Query connection failed - cleaning up all agent connections and views [17:35:55] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:55] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:55] [CLEANUP] ======================================== [17:35:55] [CLEANUP] Cleaning up all agent connections and views [17:35:55] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:55] [CLEANUP] Stopped and removed 0 video connections [17:35:55] [CLEANUP] Removed 0 video views [17:35:55] [CLEANUP] Removed 0 feed scroll views [17:35:55] [CLEANUP] Removed 0 status labels [17:35:55] [CLEANUP] Reset agent query state [17:35:55] [CLEANUP] Updated page indicator [17:35:55] [CLEANUP] Rebuilt video layout [17:35:55] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:55] [CLEANUP] ======================================== [17:35:55] [SERVER] Starting reconnect polling (5s interval) [17:35:55] [CLEANUP] ======================================== [17:35:55] [CLEANUP] Cleaning up all agent connections and views [17:35:55] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:55] [CLEANUP] Stopped and removed 0 video connections [17:35:55] [CLEANUP] Removed 0 video views [17:35:55] [CLEANUP] Removed 0 feed scroll views [17:35:55] [CLEANUP] Removed 0 status labels [17:35:55] [CLEANUP] Reset agent query state [17:35:55] [CLEANUP] Updated page indicator [17:35:55] [CLEANUP] Rebuilt video layout [17:35:55] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:55] [CLEANUP] ======================================== [17:35:55] [SERVER] Starting reconnect polling (5s interval) [17:35:55] [SCROLL] 💓 alive, visible=96...100, rows=101, estHeight=60.0, heightCalls=5 [17:35:56] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:56] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:56] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:56] HELLO → sent (cached token, role=query) [17:35:56] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [17:35:56] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=99, isReloading=false [17:35:56] [SEND_MESSAGE] ✅ Added optimistic message id=-4 to arrays, newMsgCount=100 [17:35:56] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [17:35:56] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[-4, 23829, 23827, 23826, 23825] [17:35:56] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages [17:35:56] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-4, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820] [17:35:56] [RELOAD_TAB] 📊 Building chatRows from 100 messages [17:35:56] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0 [17:35:56] [SCROLL] 💓 alive, visible=96...101, rows=102, estHeight=60.0, heightCalls=7 [17:35:56] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [17:35:56] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [17:35:56] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [17:35:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:56] [WS] Query connection failed - cleaning up all agent connections and views [17:35:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:56] [CLEANUP] ======================================== [17:35:56] [CLEANUP] Cleaning up all agent connections and views [17:35:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:56] [CLEANUP] Stopped and removed 0 video connections [17:35:56] [CLEANUP] Removed 0 video views [17:35:56] [CLEANUP] Removed 0 feed scroll views [17:35:56] [CLEANUP] Removed 0 status labels [17:35:56] [CLEANUP] Reset agent query state [17:35:56] [CLEANUP] Updated page indicator [17:35:56] [CLEANUP] Rebuilt video layout [17:35:56] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:56] [CLEANUP] ======================================== [17:35:56] [SERVER] Starting reconnect polling (5s interval) [17:35:56] [CLEANUP] ======================================== [17:35:56] [CLEANUP] Cleaning up all agent connections and views [17:35:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:56] [CLEANUP] Stopped and removed 0 video connections [17:35:56] [CLEANUP] Removed 0 video views [17:35:56] [CLEANUP] Removed 0 feed scroll views [17:35:56] [CLEANUP] Removed 0 status labels [17:35:56] [CLEANUP] Reset agent query state [17:35:56] [CLEANUP] Updated page indicator [17:35:56] [CLEANUP] Rebuilt video layout [17:35:56] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:56] [CLEANUP] ======================================== [17:35:56] [SERVER] Starting reconnect polling (5s interval) [17:35:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:35:58] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:35:58] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:35:58] HELLO → sent (cached token, role=query) [17:35:58] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:35:58] [WS] Query connection failed - cleaning up all agent connections and views [17:35:58] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:35:58] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:35:58] [CLEANUP] ======================================== [17:35:58] [CLEANUP] Cleaning up all agent connections and views [17:35:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:58] [CLEANUP] Stopped and removed 0 video connections [17:35:58] [CLEANUP] Removed 0 video views [17:35:58] [CLEANUP] Removed 0 feed scroll views [17:35:58] [CLEANUP] Removed 0 status labels [17:35:58] [CLEANUP] Reset agent query state [17:35:58] [CLEANUP] Updated page indicator [17:35:58] [CLEANUP] Rebuilt video layout [17:35:58] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:58] [CLEANUP] ======================================== [17:35:58] [SERVER] Starting reconnect polling (5s interval) [17:35:58] [CLEANUP] ======================================== [17:35:58] [CLEANUP] Cleaning up all agent connections and views [17:35:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:35:58] [CLEANUP] Stopped and removed 0 video connections [17:35:58] [CLEANUP] Removed 0 video views [17:35:58] [CLEANUP] Removed 0 feed scroll views [17:35:58] [CLEANUP] Removed 0 status labels [17:35:58] [CLEANUP] Reset agent query state [17:35:58] [CLEANUP] Updated page indicator [17:35:58] [CLEANUP] Rebuilt video layout [17:35:58] [CLEANUP] ✅ All agent connections and views cleaned up [17:35:58] [CLEANUP] ======================================== [17:35:58] [SERVER] Starting reconnect polling (5s interval) [17:35:59] [CLIENT_SIG] Event received: type=0 messageId=23830 [17:35:59] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23830,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 16:35:57"} [17:35:59] [WS_EVENT] Received event: type=0, messageId=23830 [17:35:59] [CHAT] receive_message.php JSON: ["session_id": ILUIWU, "message_type": 0, "file_name": , "ok": 1, "datesent_utc": 2026-03-06 16:35:57, "message_id": 23830] [17:35:59] [WS_EVENT] 📨 New message notification (msgId=23830) - triggering incremental refresh, currentMsgCount=100 [17:35:59] [DB_UPGRADE] Upgrading message ID: -4 → 23830, preserveOriginalDate=false [17:35:59] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=100 [17:35:59] [DB_UPGRADE] ✅ Upgraded -4 → 23830 with send_status=0, 1 row(s) affected [17:35:59] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23830, maxMemoryId=23829 [17:35:59] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23830 [17:35:59] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -4 → 23830 [17:35:59] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -4 → 23830 [17:35:59] ReloadData 9 [17:35:59] [SCROLL] 💓 alive, visible=96...101, rows=102, estHeight=60.0, heightCalls=16 [17:35:59] [INCREMENTAL_SYNC] ✅ No new messages [17:35:59] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=100 [17:36:00] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:36:00] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:36:00] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:36:00] HELLO → sent (cached token, role=query) [17:36:00] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:36:00] [WS] Query connection failed - cleaning up all agent connections and views [17:36:00] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:36:00] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:36:00] [CLEANUP] ======================================== [17:36:00] [CLEANUP] Cleaning up all agent connections and views [17:36:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:36:00] [CLEANUP] Stopped and removed 0 video connections [17:36:00] [CLEANUP] Removed 0 video views [17:36:00] [CLEANUP] Removed 0 feed scroll views [17:36:00] [CLEANUP] Removed 0 status labels [17:36:00] [CLEANUP] Reset agent query state [17:36:00] [CLEANUP] Updated page indicator [17:36:00] [CLEANUP] Rebuilt video layout [17:36:00] [CLEANUP] ✅ All agent connections and views cleaned up [17:36:00] [CLEANUP] ======================================== [17:36:00] [SERVER] Starting reconnect polling (5s interval) [17:36:00] [CLEANUP] ======================================== [17:36:00] [CLEANUP] Cleaning up all agent connections and views [17:36:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:36:00] [CLEANUP] Stopped and removed 0 video connections [17:36:00] [CLEANUP] Removed 0 video views [17:36:00] [CLEANUP] Removed 0 feed scroll views [17:36:00] [CLEANUP] Removed 0 status labels [17:36:00] [CLEANUP] Reset agent query state [17:36:00] [CLEANUP] Updated page indicator [17:36:00] [CLEANUP] Rebuilt video layout [17:36:00] [CLEANUP] ✅ All agent connections and views cleaned up [17:36:00] [CLEANUP] ======================================== [17:36:00] [SERVER] Starting reconnect polling (5s interval) [17:36:02] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:36:02] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:36:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:36:02] HELLO → sent (cached token, role=query) [17:36:02] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:36:02] [WS] Query connection failed - cleaning up all agent connections and views [17:36:02] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:36:02] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:36:02] [CLEANUP] ======================================== [17:36:02] [CLEANUP] Cleaning up all agent connections and views [17:36:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:36:02] [CLEANUP] Stopped and removed 0 video connections [17:36:02] [CLEANUP] Removed 0 video views [17:36:02] [CLEANUP] Removed 0 feed scroll views [17:36:02] [CLEANUP] Removed 0 status labels [17:36:02] [CLEANUP] Reset agent query state [17:36:02] [CLEANUP] Updated page indicator [17:36:02] [CLEANUP] Rebuilt video layout [17:36:02] [CLEANUP] ✅ All agent connections and views cleaned up [17:36:02] [CLEANUP] ======================================== [17:36:02] [SERVER] Starting reconnect polling (5s interval) [17:36:02] [CLEANUP] ======================================== [17:36:02] [CLEANUP] Cleaning up all agent connections and views [17:36:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:36:02] [CLEANUP] Stopped and removed 0 video connections [17:36:02] [CLEANUP] Removed 0 video views [17:36:02] [CLEANUP] Removed 0 feed scroll views [17:36:02] [CLEANUP] Removed 0 status labels [17:36:02] [CLEANUP] Reset agent query state [17:36:02] [CLEANUP] Updated page indicator [17:36:02] [CLEANUP] Rebuilt video layout [17:36:02] [CLEANUP] ✅ All agent connections and views cleaned up [17:36:02] [CLEANUP] ======================================== [17:36:02] [SERVER] Starting reconnect polling (5s interval) [17:36:03] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [17:36:03] [WS] Opening session at ws://crivello.dyndns.org:8081/ [17:36:03] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [17:36:03] HELLO → sent (cached token, role=query) [17:36:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [17:36:04] [WS] Query connection failed - cleaning up all agent connections and views [17:36:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [17:36:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [17:36:04] [CLEANUP] ======================================== [17:36:04] [CLEANUP] Cleaning up all agent connections and views [17:36:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:36:04] [CLEANUP] Stopped and removed 0 video connections [17:36:04] [CLEANUP] Removed 0 video views [17:36:04] [CLEANUP] Removed 0 feed scroll views [17:36:04] [CLEANUP] Removed 0 status labels [17:36:04] [CLEANUP] Reset agent query state [17:36:04] [CLEANUP] Updated page indicator [17:36:04] [CLEANUP] Rebuilt video layout [17:36:04] [CLEANUP] ✅ All agent connections and views cleaned up [17:36:04] [CLEANUP] ======================================== [17:36:04] [SERVER] Starting reconnect polling (5s interval) [17:36:04] [CLEANUP] ======================================== [17:36:04] [CLEANUP] Cleaning up all agent connections and views [17:36:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [17:36:04] [CLEANUP] Stopped and removed 0 video connections [17:36:04] [CLEANUP] Removed 0 video views [17:36:04] [CLEANUP] Removed 0 feed scroll views [17:36:04] [CLEANUP] Removed 0 status labels [17:36:04] [CLEANUP] Reset agent query state [17:36:04] [CLEANUP] Updated page indicator [17:36:04] [CLEANUP] Rebuilt video layout [17:36:04] [CLEANUP] ✅ All agent connections and views cleaned up [17:36:04] [CLEANUP] ======================================== [17:36:04] [SERVER] Starting reconnect polling (5s interval) [17:36:04] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView= 2 minutes (3820s) - will scroll to bottom [18:39:46] [UPLOAD_RETRY] No pending uploads to retry [18:39:46] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100 [18:39:46] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [18:39:46] [LIFECYCLE] WebRTC audio re-enabled [18:39:46] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:39:46] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:39:46] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:39:46] [VIEWER] Reconnecting after background - querying agents [18:39:46] [FOREGROUND] 📶 Network available - retrying 2 pending messages: [-3, -2] [18:39:46] [RETRY] 🔄 Retrying 2 pending messages... [18:39:46] [RETRY] ⚠️ Message -3 not found in memory, removing from pending [18:39:46] [RETRY] ⚠️ Message -2 not found in memory, removing from pending [18:39:46] [UNSENT_RETRY] Checking for unsent messages... (excluding 2 already-retrying: [-3, -2]) [18:39:46] [PENDING_UPLOAD] Total pending upload messages: 0 [18:39:46] [UNSENT_RETRY] No unsent messages found [18:39:46] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:46] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:46] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:39:46] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [18:39:46] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:39:46] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820] [18:39:46] [PUSH] handlePollEventsNotification userInfo: [:] [18:39:46] [PUSH] No message_id in userInfo [18:39:46] [PUSH] No operation_type in userInfo [18:39:46] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:39:46] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=50, IDs=[23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820] [18:39:46] [PUSH_TRACE] 📬 POLL: memory state: count=100, first 10 IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820] [18:39:46] [FAST_REFRESH] Already have 100 messages in memory [18:39:46] [FAST_REFRESH] maxMemoryId=23830, maxLocalId=23830 [18:39:46] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:39:46] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100 [18:39:46] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:39:46] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:39:46] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [18:39:46] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=100 [18:39:46] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23830, maxMemoryId=23830 [18:39:46] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23830 [18:39:46] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=18 [18:39:46] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23830, 23829, 23827, 23826, 23825] [18:39:46] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages [18:39:46] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820] [18:39:46] [RELOAD_TAB] 📊 Building chatRows from 100 messages [18:39:46] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0 [18:39:46] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=11 [18:39:46] [CLIENT_SIG] WebSocket opened [18:39:46] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:39:46] [CLIENT_SIG] Connected! clientId=Alv9psMJ0LOSjpf0 [18:39:46] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:39:46] HELLO → sent (cached token, role=query) [18:39:46] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [18:39:46] [FOREGROUND] Enriched 1/1 unsettled messages with readBy data [18:39:46] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=100>100=false, maxId=23830>23830=false, shouldScroll=true [18:39:46] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100 [18:39:46] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:39:46] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:39:46] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:39:46] [WS] Query connection failed - cleaning up all agent connections and views [18:39:46] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:39:46] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:39:47] [CLEANUP] ======================================== [18:39:47] [CLEANUP] Cleaning up all agent connections and views [18:39:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:47] [CLEANUP] Stopped and removed 0 video connections [18:39:47] [CLEANUP] Removed 0 video views [18:39:47] [CLEANUP] Removed 0 feed scroll views [18:39:47] [CLEANUP] Removed 0 status labels [18:39:47] [CLEANUP] Reset agent query state [18:39:47] [CLEANUP] Updated page indicator [18:39:47] [CLEANUP] Rebuilt video layout [18:39:47] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:47] [CLEANUP] ======================================== [18:39:47] [SERVER] Starting reconnect polling (5s interval) [18:39:47] [CLEANUP] ======================================== [18:39:47] [CLEANUP] Cleaning up all agent connections and views [18:39:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:47] [CLEANUP] Stopped and removed 0 video connections [18:39:47] [CLEANUP] Removed 0 video views [18:39:47] [CLEANUP] Removed 0 feed scroll views [18:39:47] [CLEANUP] Removed 0 status labels [18:39:47] [CLEANUP] Reset agent query state [18:39:47] [CLEANUP] Updated page indicator [18:39:47] [CLEANUP] Rebuilt video layout [18:39:47] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:47] [CLEANUP] ======================================== [18:39:47] [SERVER] Starting reconnect polling (5s interval) [18:39:47] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [18:39:47] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data [18:39:47] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100 [18:39:47] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:39:47] [INCREMENTAL_SYNC] ✅ Found 2 new messages [18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 2 new messages, IDs=[23832, 23831] [18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 100 msgs, first 10 IDs=[23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820] [18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23832 [18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23831 [18:39:47] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 2 new, total 102, first 10 IDs=[23832, 23831, 23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822] [18:39:47] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=2 [18:39:47] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:39:47] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:39:47] [FAST_REFRESH] Incremental sync complete - 102 messages [18:39:47] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11 [18:39:47] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23832, 23831, 23830, 23829, 23827] [18:39:47] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:39:47] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23832, 23831, 23830, 23829, 23827, 23826, 23825, 23824, 23823, 23822] [18:39:47] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:39:47] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:39:47] [SCROLL] 💓 alive, visible=92...101, rows=104, estHeight=60.0, heightCalls=0 [18:39:47] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23830 → 23831 [18:39:47] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23831 → 23832 [18:39:47] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=13 [18:39:48] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:48] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:48] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:39:48] HELLO → sent (cached token, role=query) [18:39:48] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:39:48] [WS] Query connection failed - cleaning up all agent connections and views [18:39:48] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:39:48] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:39:48] [CLEANUP] ======================================== [18:39:48] [CLEANUP] Cleaning up all agent connections and views [18:39:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:48] [CLEANUP] Stopped and removed 0 video connections [18:39:48] [CLEANUP] Removed 0 video views [18:39:48] [CLEANUP] Removed 0 feed scroll views [18:39:48] [CLEANUP] Removed 0 status labels [18:39:48] [CLEANUP] Reset agent query state [18:39:48] [CLEANUP] Updated page indicator [18:39:48] [CLEANUP] Rebuilt video layout [18:39:48] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:48] [CLEANUP] ======================================== [18:39:48] [SERVER] Starting reconnect polling (5s interval) [18:39:48] [CLEANUP] ======================================== [18:39:48] [CLEANUP] Cleaning up all agent connections and views [18:39:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:48] [CLEANUP] Stopped and removed 0 video connections [18:39:48] [CLEANUP] Removed 0 video views [18:39:48] [CLEANUP] Removed 0 feed scroll views [18:39:48] [CLEANUP] Removed 0 status labels [18:39:48] [CLEANUP] Reset agent query state [18:39:48] [CLEANUP] Updated page indicator [18:39:48] [CLEANUP] Rebuilt video layout [18:39:48] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:48] [CLEANUP] ======================================== [18:39:48] [SERVER] Starting reconnect polling (5s interval)[18:39:49] [LOG] Pruned 3607 entries older than 3 hours [18:39:49] [SECURITY] Restored real session: ILUIWU [18:39:49] [SECURITY] Restored real session: ILUIWU [18:39:49] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true [18:39:49] [FAKE MODE] Exiting fake mode, restoring real session [18:39:49] [SECURITY] Restored real session: ILUIWU [18:39:49] [SECURITY] Saved real session: ILUIWU [18:39:49] [FAKE MODE] ✅ Restored real session: ILUIWU [18:39:49] [FAKE MODE] Loaded 50 messages (limited to page size) [18:39:49] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [18:39:49] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [18:39:49] [AUTH] Cache had 50 messages, maxExistingId=23832, inserted 0 truly new [18:39:49] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>100=false, maxId=23832>23830=true, shouldScroll=true [18:39:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [18:39:49] [AUTH] UI update complete [18:39:49] [GIF] configure msgId=23785 file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif msgChanged=true owner=false animating=false completed=false [18:39:49] [GIF] msgId=23785 START fresh animation [18:39:49] [CELL_UPLOAD] configure: msgId=23785, file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=true, uploadStatus=0 [18:39:49] [CELL_UPLOAD] → giphy file, no upload needed, setting complete [18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, overlayExists=true [18:39:49] [SCROLL] 💓 alive, visible=0...6, rows=51, estHeight=60.0, heightCalls=34 [18:39:49] [SCROLL_BTN] Showing button - 2667pt from bottom > half 379pt [18:39:49] [PAGINATION] 🔄 Older triggered: firstVisible=0, totalRows=51 [18:39:49] [PAGINATION] 📜 Starting load, offset=50, totalLoaded=50 [18:39:49] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [18:39:49] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [18:39:49] [PAGINATION] 📜 DB returned 50 messages [18:39:49] [PAGINATION] 📜 Loading 50 older messages, firstVisibleRow=0, oldOffset=19.0 [18:39:49] [PAGINATION] 📜 Total now: 100 [18:39:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=true, estHeight=60.0, heightCalls=0 [18:39:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23732, 23733, 23734, 23735, 23736] [18:39:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages [18:39:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741] [18:39:49] [RELOAD_TAB] 📊 Building chatRows from 100 messages [18:39:49] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0 [18:39:49] [RELOAD_TAB] 📊 reloadData() START, rows=102 [18:39:49] [RELOAD_TAB] 📊 reloadData() DONE, heightCalls=0 [18:39:49] [RELOAD_TAB] 📊 layoutIfNeeded() START [18:39:49] [USER] ✅ User registered successfully [18:39:49] [PUSH] User registration after token update: success [18:39:49] [CELL_UPLOAD] configure: msgId=23736, file=fbad63a366619f78.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [18:39:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=fbad63a366619f78.jpg, overlayExists=true [18:39:49] [RELOAD_TAB] 📊 layoutIfNeeded() DONE, heightCalls=9 [18:39:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9 [18:39:49] [PAGINATION] 📜 newHeight=6451.0, heightDiff=3007.0, newOffset=3026.0 [18:39:49] [PAGINATION] 📜 After setContentOffset, actual offset=3026.0 [18:39:49] [PAGINATION] 📜 Done, offset=3026.0 [18:39:49] [CELL_UPLOAD] configure: msgId=23779, file=c4ff0b7976fae65e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [18:39:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c4ff0b7976fae65e.jpg, overlayExists=true [18:39:49] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [18:39:49] [FAKE MODE] Enriched 1/1 unsettled messages with readBy data [18:39:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=100 [18:39:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=18 [18:39:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23732, 23733, 23734, 23735, 23736] [18:39:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages [18:39:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741] [18:39:49] [RELOAD_TAB] 📊 Building chatRows from 100 messages [18:39:49] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0 [18:39:49] [CELL_UPLOAD] configure: msgId=23779, file=c4ff0b7976fae65e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [18:39:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [18:39:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c4ff0b7976fae65e.jpg, overlayExists=true [18:39:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=13 [18:39:50] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:50] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:50] [CLIENT_SIG] Event received: type=3 messageId=23831 [18:39:50] [WS_EVENT] Received event: type=3, messageId=23831 [18:39:50] [WS_EVENT] Read receipt for message 23831 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:39:50] [PUSH] Silent push received [18:39:50] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:39:50 +0000, appState=0, message_id=nil [18:39:50] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[] [18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:39:50 +0000 [18:39:50] [PUSH_EMBED] No embedded message_data in notification [18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [18:39:50] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false [18:39:50] [PUSH] No embedded data, pre-loading messages from server [18:39:50] [PUSH_PRELOAD] Fetching messages for instant display cache [18:39:50] [CLIENT_SIG] Event received: type=3 messageId=23832 [18:39:50] [WS_EVENT] Received event: type=3, messageId=23832 [18:39:50] [WS_EVENT] Read receipt for message 23832 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:39:50] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [18:39:50] [SCROLL] 💓 alive, visible=93...101, rows=102, estHeight=60.0, heightCalls=28 [18:39:50] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [18:39:50] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823] [18:39:50] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache [18:39:50] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [18:39:50] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:39:50] HELLO → sent (cached token, role=query) [18:39:50] [PUSH] Silent push received [18:39:50] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:39:50 +0000, appState=0, message_id=nil [18:39:50] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823] [18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:39:50 +0000 [18:39:50] [PUSH_EMBED] No embedded message_data in notification [18:39:50] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [18:39:50] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823], handled=false [18:39:50] [PUSH] No embedded data, pre-loading messages from server [18:39:50] [PUSH_PRELOAD] Fetching messages for instant display cache [18:39:50] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:39:50] [WS] Query connection failed - cleaning up all agent connections and views [18:39:50] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:39:50] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:39:50] [CLEANUP] ======================================== [18:39:50] [CLEANUP] Cleaning up all agent connections and views [18:39:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:50] [CLEANUP] Stopped and removed 0 video connections [18:39:50] [CLEANUP] Removed 0 video views [18:39:50] [CLEANUP] Removed 0 feed scroll views [18:39:50] [CLEANUP] Removed 0 status labels [18:39:50] [CLEANUP] Reset agent query state [18:39:50] [CLEANUP] Updated page indicator [18:39:50] [CLEANUP] Rebuilt video layout [18:39:50] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:50] [CLEANUP] ======================================== [18:39:50] [SERVER] Starting reconnect polling (5s interval) [18:39:50] [CLEANUP] ======================================== [18:39:50] [CLEANUP] Cleaning up all agent connections and views [18:39:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:50] [CLEANUP] Stopped and removed 0 video connections [18:39:50] [CLEANUP] Removed 0 video views [18:39:50] [CLEANUP] Removed 0 feed scroll views [18:39:50] [CLEANUP] Removed 0 status labels [18:39:50] [CLEANUP] Reset agent query state [18:39:50] [CLEANUP] Updated page indicator [18:39:50] [CLEANUP] Rebuilt video layout [18:39:50] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:50] [CLEANUP] ======================================== [18:39:50] [SERVER] Starting reconnect polling (5s interval) [18:39:50] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:39:50] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741] [18:39:50] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23831] [18:39:50] [PUSH] Parsed message_id: 23831 [18:39:50] [PUSH] Parsed operation_type: 3 [18:39:50] [PUSH] Taking direct action: opType=3, messageId=23831 [18:39:50] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23831 [18:39:51] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [18:39:51] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [18:39:51] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823] [18:39:51] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823] [18:39:51] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[] [18:39:51] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823] [18:39:51] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [18:39:51] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:39:51] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23741] [18:39:51] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 23832, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3, AnyHashable("aps"): { "content-available" = 1; }] [18:39:51] [PUSH] Parsed message_id: 23832 [18:39:51] [PUSH] Parsed operation_type: 3 [18:39:51] [PUSH] Taking direct action: opType=3, messageId=23832 [18:39:51] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23832 [18:39:52] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:52] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:52] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:39:52] HELLO → sent (cached token, role=query) [18:39:52] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:39:52] [WS] Query connection failed - cleaning up all agent connections and views [18:39:52] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:39:52] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:39:52] [CLEANUP] ======================================== [18:39:52] [CLEANUP] Cleaning up all agent connections and views [18:39:52] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:52] [CLEANUP] Stopped and removed 0 video connections [18:39:52] [CLEANUP] Removed 0 video views [18:39:52] [CLEANUP] Removed 0 feed scroll views [18:39:52] [CLEANUP] Removed 0 status labels [18:39:52] [CLEANUP] Reset agent query state [18:39:52] [CLEANUP] Updated page indicator [18:39:52] [CLEANUP] Rebuilt video layout [18:39:52] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:52] [CLEANUP] ======================================== [18:39:52] [SERVER] Starting reconnect polling (5s interval) [18:39:52] [CLEANUP] ======================================== [18:39:52] [CLEANUP] Cleaning up all agent connections and views [18:39:52] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:52] [CLEANUP] Stopped and removed 0 video connections [18:39:52] [CLEANUP] Removed 0 video views [18:39:52] [CLEANUP] Removed 0 feed scroll views [18:39:52] [CLEANUP] Removed 0 status labels [18:39:52] [CLEANUP] Reset agent query state [18:39:52] [CLEANUP] Updated page indicator [18:39:52] [CLEANUP] Rebuilt video layout [18:39:52] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:52] [CLEANUP] ======================================== [18:39:52] [SERVER] Starting reconnect polling (5s interval) [18:39:53] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [18:39:53] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=100, isReloading=false [18:39:53] [SEND_MESSAGE] ✅ Added optimistic message id=-5 to arrays, newMsgCount=101 [18:39:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:39:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=101, first5Ids=[-5, 23832, 23831, 23830, 23829] [18:39:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 101 messages [18:39:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-5, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824] [18:39:53] [RELOAD_TAB] 📊 Building chatRows from 101 messages [18:39:53] [RELOAD_TAB] 📊 Built 103 chatRows, estHeight=60.0 [18:39:53] [SCROLL] 💓 alive, visible=93...98, rows=103, estHeight=60.0, heightCalls=7 [18:39:53] [SCROLL_BTN] Showing button - 291pt from bottom > half 223pt [18:39:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [18:39:53] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [18:39:53] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [18:39:54] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:54] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:39:54] HELLO → sent (cached token, role=query) [18:39:54] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:39:54] [WS] Query connection failed - cleaning up all agent connections and views [18:39:54] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:39:54] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:39:54] [CLEANUP] ======================================== [18:39:54] [CLEANUP] Cleaning up all agent connections and views [18:39:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:54] [CLEANUP] Stopped and removed 0 video connections [18:39:54] [CLEANUP] Removed 0 video views [18:39:54] [CLEANUP] Removed 0 feed scroll views [18:39:54] [CLEANUP] Removed 0 status labels [18:39:54] [CLEANUP] Reset agent query state [18:39:54] [CLEANUP] Updated page indicator [18:39:54] [CLEANUP] Rebuilt video layout [18:39:54] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:54] [CLEANUP] ======================================== [18:39:54] [SERVER] Starting reconnect polling (5s interval) [18:39:54] [CLEANUP] ======================================== [18:39:54] [CLEANUP] Cleaning up all agent connections and views [18:39:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:54] [CLEANUP] Stopped and removed 0 video connections [18:39:54] [CLEANUP] Removed 0 video views [18:39:54] [CLEANUP] Removed 0 feed scroll views [18:39:54] [CLEANUP] Removed 0 status labels [18:39:54] [CLEANUP] Reset agent query state [18:39:54] [CLEANUP] Updated page indicator [18:39:54] [CLEANUP] Rebuilt video layout [18:39:54] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:54] [CLEANUP] ======================================== [18:39:54] [SERVER] Starting reconnect polling (5s interval) [18:39:56] [CLIENT_SIG] Event received: type=0 messageId=23833 [18:39:56] [WS_EVENT] Received event: type=0, messageId=23833 [18:39:56] [WS_EVENT] 📨 New message notification (msgId=23833) - triggering incremental refresh, currentMsgCount=101 [18:39:56] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=101 [18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23832, maxMemoryId=23832 [18:39:56] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23832 [18:39:56] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23833,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 17:39:53"} [18:39:56] [CHAT] receive_message.php JSON: ["file_name": , "message_id": 23833, "message_type": 0, "session_id": ILUIWU, "ok": 1, "datesent_utc": 2026-03-06 17:39:53] [18:39:56] [DB_UPGRADE] Upgrading message ID: -5 → 23833, preserveOriginalDate=false [18:39:56] [DB_UPGRADE] ✅ Upgraded -5 → 23833 with send_status=0, 1 row(s) affected [18:39:56] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -5 → 23833 [18:39:56] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -5 → 23833 [18:39:56] ReloadData 9 [18:39:56] [SCROLL] 💓 alive, visible=97...102, rows=103, estHeight=60.0, heightCalls=24 [18:39:56] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:56] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:56] [INCREMENTAL_SYNC] ✅ Found 1 new messages [18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23833] [18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 101 msgs, first 10 IDs=[23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824] [18:39:56] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 0 new, total 101, first 10 IDs=[23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824] [18:39:56] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1 [18:39:56] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=101 [18:39:56] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=101 [18:39:56] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:39:56] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=101, first5Ids=[23833, 23832, 23831, 23830, 23829] [18:39:56] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 101 messages [18:39:56] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824] [18:39:56] [RELOAD_TAB] 📊 Building chatRows from 101 messages [18:39:56] [RELOAD_TAB] 📊 Built 103 chatRows, estHeight=60.0 [18:39:56] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7 [18:39:56] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:39:56] HELLO → sent (cached token, role=query) [18:39:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:39:56] [WS] Query connection failed - cleaning up all agent connections and views [18:39:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:39:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:39:56] [CLEANUP] ======================================== [18:39:56] [CLEANUP] Cleaning up all agent connections and views [18:39:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:56] [CLEANUP] Stopped and removed 0 video connections [18:39:56] [CLEANUP] Removed 0 video views [18:39:56] [CLEANUP] Removed 0 feed scroll views [18:39:56] [CLEANUP] Removed 0 status labels [18:39:56] [CLEANUP] Reset agent query state [18:39:56] [CLEANUP] Updated page indicator [18:39:56] [CLEANUP] Rebuilt video layout [18:39:56] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:56] [CLEANUP] ======================================== [18:39:56] [SERVER] Starting reconnect polling (5s interval) [18:39:56] [CLEANUP] ======================================== [18:39:56] [CLEANUP] Cleaning up all agent connections and views [18:39:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:56] [CLEANUP] Stopped and removed 0 video connections [18:39:56] [CLEANUP] Removed 0 video views [18:39:56] [CLEANUP] Removed 0 feed scroll views [18:39:56] [CLEANUP] Removed 0 status labels [18:39:56] [CLEANUP] Reset agent query state [18:39:56] [CLEANUP] Updated page indicator [18:39:56] [CLEANUP] Rebuilt video layout [18:39:56] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:56] [CLEANUP] ======================================== [18:39:56] [SERVER] Starting reconnect polling (5s interval) [18:39:57] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [18:39:57] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=101, isReloading=false [18:39:57] [SEND_MESSAGE] ✅ Added optimistic message id=-6 to arrays, newMsgCount=102 [18:39:57] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=7 [18:39:57] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[-6, 23833, 23832, 23831, 23830] [18:39:57] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:39:57] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-6, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825] [18:39:57] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:39:57] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:39:57] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:39:57] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [18:39:57] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [18:39:57] [SCROLL] 💓 alive, visible=97...103, rows=104, estHeight=60.0, heightCalls=18 [18:39:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:58] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:58] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:39:58] HELLO → sent (cached token, role=query) [18:39:58] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:39:58] [WS] Query connection failed - cleaning up all agent connections and views [18:39:58] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:39:58] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:39:58] [CLEANUP] ======================================== [18:39:58] [CLEANUP] Cleaning up all agent connections and views [18:39:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:58] [CLEANUP] Stopped and removed 0 video connections [18:39:58] [CLEANUP] Removed 0 video views [18:39:58] [CLEANUP] Removed 0 feed scroll views [18:39:58] [CLEANUP] Removed 0 status labels [18:39:58] [CLEANUP] Reset agent query state [18:39:58] [CLEANUP] Updated page indicator [18:39:58] [CLEANUP] Rebuilt video layout [18:39:58] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:58] [CLEANUP] ======================================== [18:39:58] [SERVER] Starting reconnect polling (5s interval) [18:39:58] [CLEANUP] ======================================== [18:39:58] [CLEANUP] Cleaning up all agent connections and views [18:39:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:39:58] [CLEANUP] Stopped and removed 0 video connections [18:39:58] [CLEANUP] Removed 0 video views [18:39:58] [CLEANUP] Removed 0 feed scroll views [18:39:58] [CLEANUP] Removed 0 status labels [18:39:58] [CLEANUP] Reset agent query state [18:39:58] [CLEANUP] Updated page indicator [18:39:58] [CLEANUP] Rebuilt video layout [18:39:58] [CLEANUP] ✅ All agent connections and views cleaned up [18:39:58] [CLEANUP] ======================================== [18:39:58] [SERVER] Starting reconnect polling (5s interval) [18:39:59] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:39:59] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:39:59] [CLIENT_SIG] Event received: type=0 messageId=23834 [18:39:59] [WS_EVENT] Received event: type=0, messageId=23834 [18:39:59] [WS_EVENT] 📨 New message notification (msgId=23834) - triggering incremental refresh, currentMsgCount=102 [18:39:59] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23834,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 17:39:57"} [18:39:59] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102 [18:39:59] [CHAT] receive_message.php JSON: ["datesent_utc": 2026-03-06 17:39:57, "ok": 1, "message_type": 0, "file_name": , "session_id": ILUIWU, "message_id": 23834] [18:39:59] [DB_UPGRADE] Upgrading message ID: -6 → 23834, preserveOriginalDate=false [18:39:59] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23833, maxMemoryId=23833 [18:39:59] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23833 [18:39:59] [DB_UPGRADE] ✅ Upgraded -6 → 23834 with send_status=0, 1 row(s) affected [18:39:59] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -6 → 23834 [18:39:59] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -6 → 23834 [18:40:00] ReloadData 9 [18:40:00] [SCROLL] 💓 alive, visible=98...103, rows=104, estHeight=60.0, heightCalls=7 [18:40:00] [INCREMENTAL_SYNC] ✅ Found 1 new messages [18:40:00] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23834] [18:40:00] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 102 msgs, first 10 IDs=[23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825] [18:40:00] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 0 new, total 102, first 10 IDs=[23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825] [18:40:00] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1 [18:40:00] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:40:00] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=102 [18:40:00] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:40:00] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23834, 23833, 23832, 23831, 23830] [18:40:00] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:40:00] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825] [18:40:00] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:40:00] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:40:00] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7 [18:40:00] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:40:00] HELLO → sent (cached token, role=query) [18:40:00] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:40:00] [WS] Query connection failed - cleaning up all agent connections and views [18:40:00] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:40:00] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:40:00] [CLEANUP] ======================================== [18:40:00] [CLEANUP] Cleaning up all agent connections and views [18:40:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:40:00] [CLEANUP] Stopped and removed 0 video connections [18:40:00] [CLEANUP] Removed 0 video views [18:40:00] [CLEANUP] Removed 0 feed scroll views [18:40:00] [CLEANUP] Removed 0 status labels [18:40:00] [CLEANUP] Reset agent query state [18:40:00] [CLEANUP] Updated page indicator [18:40:00] [CLEANUP] Rebuilt video layout [18:40:00] [CLEANUP] ✅ All agent connections and views cleaned up [18:40:00] [CLEANUP] ======================================== [18:40:00] [SERVER] Starting reconnect polling (5s interval) [18:40:00] [CLEANUP] ======================================== [18:40:00] [CLEANUP] Cleaning up all agent connections and views [18:40:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:40:00] [CLEANUP] Stopped and removed 0 video connections [18:40:00] [CLEANUP] Removed 0 video views [18:40:00] [CLEANUP] Removed 0 feed scroll views [18:40:00] [CLEANUP] Removed 0 status labels [18:40:00] [CLEANUP] Reset agent query state [18:40:00] [CLEANUP] Updated page indicator [18:40:00] [CLEANUP] Rebuilt video layout [18:40:00] [CLEANUP] ✅ All agent connections and views cleaned up [18:40:00] [CLEANUP] ======================================== [18:40:00] [SERVER] Starting reconnect polling (5s interval) [18:40:01] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:40:01] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:40:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:40:02] HELLO → sent (cached token, role=query) [18:40:02] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:40:02] [WS] Query connection failed - cleaning up all agent connections and views [18:40:02] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:40:02] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:40:02] [CLEANUP] ======================================== [18:40:02] [CLEANUP] Cleaning up all agent connections and views [18:40:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:40:02] [CLEANUP] Stopped and removed 0 video connections [18:40:02] [CLEANUP] Removed 0 video views [18:40:02] [CLEANUP] Removed 0 feed scroll views [18:40:02] [CLEANUP] Removed 0 status labels [18:40:02] [CLEANUP] Reset agent query state [18:40:02] [CLEANUP] Updated page indicator [18:40:02] [CLEANUP] Rebuilt video layout [18:40:02] [CLEANUP] ✅ All agent connections and views cleaned up [18:40:02] [CLEANUP] ======================================== [18:40:02] [SERVER] Starting reconnect polling (5s interval) [18:40:02] [CLEANUP] ======================================== [18:40:02] [CLEANUP] Cleaning up all agent connections and views [18:40:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:40:02] [CLEANUP] Stopped and removed 0 video connections [18:40:02] [CLEANUP] Removed 0 video views [18:40:02] [CLEANUP] Removed 0 feed scroll views [18:40:02] [CLEANUP] Removed 0 status labels [18:40:02] [CLEANUP] Reset agent query state [18:40:02] [CLEANUP] Updated page indicator [18:40:02] [CLEANUP] Rebuilt video layout [18:40:02] [CLEANUP] ✅ All agent connections and views cleaned up [18:40:02] [CLEANUP] ======================================== [18:40:02] [SERVER] Starting reconnect polling (5s interval) [18:40:03] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [18:40:03] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=102, isReloading=false [18:40:03] [SEND_MESSAGE] ✅ Added optimistic message id=-7 to arrays, newMsgCount=103 [18:40:03] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=7 [18:40:03] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=103, first5Ids=[-7, 23834, 23833, 23832, 23831] [18:40:03] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 103 messages [18:40:03] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-7, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826] [18:40:03] [RELOAD_TAB] 📊 Building chatRows from 103 messages [18:40:03] [RELOAD_TAB] 📊 Built 105 chatRows, estHeight=60.0 [18:40:03] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7 [18:40:03] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [18:40:03] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [18:40:03] [SCROLL] 💓 alive, visible=98...103, rows=105, estHeight=60.0, heightCalls=15 [18:40:03] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:40:03] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:40:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:40:04] HELLO → sent (cached token, role=query) [18:40:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:40:04] [WS] Query connection failed - cleaning up all agent connections and views [18:40:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:40:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:40:04] [CLEANUP] ======================================== [18:40:04] [CLEANUP] Cleaning up all agent connections and views [18:40:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:40:04] [CLEANUP] Stopped and removed 0 video connections [18:40:04] [CLEANUP] Removed 0 video views [18:40:04] [CLEANUP] Removed 0 feed scroll views [18:40:04] [CLEANUP] Removed 0 status labels [18:40:04] [CLEANUP] Reset agent query state [18:40:04] [CLEANUP] Updated page indicator [18:40:04] [CLEANUP] Rebuilt video layout [18:40:04] [CLEANUP] ✅ All agent connections and views cleaned up [18:40:04] [CLEANUP] ======================================== [18:40:04] [SERVER] Starting reconnect polling (5s interval) [18:40:04] [CLEANUP] ======================================== [18:40:04] [CLEANUP] Cleaning up all agent connections and views [18:40:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:40:04] [CLEANUP] Stopped and removed 0 video connections [18:40:04] [CLEANUP] Removed 0 video views [18:40:04] [CLEANUP] Removed 0 feed scroll views [18:40:04] [CLEANUP] Removed 0 status labels [18:40:04] [CLEANUP] Reset agent query state [18:40:04] [CLEANUP] Updated page indicator [18:40:04] [CLEANUP] Rebuilt video layout [18:40:04] [CLEANUP] ✅ All agent connections and views cleaned up [18:40:04] [CLEANUP] ======================================== [18:40:04] [SERVER] Starting reconnect polling (5s interval) [18:40:05] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView= 2 minutes (130s) - will scroll to bottom [18:42:16] [UPLOAD_RETRY] No pending uploads to retry [18:42:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=103 [18:42:16] [READBY_OPT] Fetching readBy for 3 unsettled messages (targeted) [18:42:16] [LIFECYCLE] WebRTC audio re-enabled [18:42:16] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:42:16] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:42:16] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:42:16] [VIEWER] Reconnecting after background - querying agents [18:42:16] [UNSENT_RETRY] Checking for unsent messages... [18:42:16] [PENDING_UPLOAD] Total pending upload messages: 0 [18:42:16] [UNSENT_RETRY] No unsent messages found [18:42:16] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [18:42:16] [PUSH_TRACE] 👁️ handlePushMessageReceived START [18:42:16] [PUSH_TRACE] 👁️ Received message id=23836, text="Nope baby, Im home..." [18:42:16] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [18:42:16] [PUSH_TRACE] 👁️ BEFORE insert: 103 messages, first 5 IDs: [23835, 23834, 23833, 23832, 23831] [18:42:16] [PUSH_TRACE] 👁️ Inserted message 23836 at index 0 [18:42:16] [PUSH_UI] Inserted message 23836 into UI (now 104 messages) [18:42:16] [PUSH_TRACE] 👁️ AFTER insert: 104 messages, first 5 IDs: [23836, 23835, 23834, 23833, 23832] [18:42:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:42:16] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:16] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success [18:42:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11 [18:42:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23836, 23835, 23834, 23833, 23832] [18:42:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:42:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:17] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:42:17] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:42:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=11 [18:42:17] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:17] HELLO → sent (cached token, role=query) [18:42:17] [CLIENT_SIG] WebSocket opened [18:42:17] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:42:17] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [18:42:17] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:42:17] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:17] [PUSH] handlePollEventsNotification userInfo: [:] [18:42:17] [PUSH] No message_id in userInfo [18:42:17] [PUSH] No operation_type in userInfo [18:42:17] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:42:17] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824] [18:42:17] [PUSH_TRACE] 📬 POLL: memory state: count=104, first 10 IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:17] [FAST_REFRESH] Already have 104 messages in memory [18:42:17] [FAST_REFRESH] maxMemoryId=23836, maxLocalId=23836 [18:42:17] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:42:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:42:17] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:42:17] [READBY_OPT] Fetching readBy for 3 unsettled messages (targeted) [18:42:17] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=104 [18:42:17] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23836, maxMemoryId=23836 [18:42:17] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23836 [18:42:17] [CLIENT_SIG] Connected! clientId=6qlHykMOss5WvqQa [18:42:17] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:17] [WS] Query connection failed - cleaning up all agent connections and views [18:42:17] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:17] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:17] [CLEANUP] ======================================== [18:42:17] [CLEANUP] Cleaning up all agent connections and views [18:42:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:17] [CLEANUP] Stopped and removed 0 video connections [18:42:17] [CLEANUP] Removed 0 video views [18:42:17] [CLEANUP] Removed 0 feed scroll views [18:42:17] [CLEANUP] Removed 0 status labels [18:42:17] [CLEANUP] Reset agent query state [18:42:17] [CLEANUP] Updated page indicator [18:42:17] [CLEANUP] Rebuilt video layout [18:42:17] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:17] [CLEANUP] ======================================== [18:42:17] [SERVER] Starting reconnect polling (5s interval) [18:42:17] [CLEANUP] ======================================== [18:42:17] [CLEANUP] Cleaning up all agent connections and views [18:42:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:17] [CLEANUP] Stopped and removed 0 video connections [18:42:17] [CLEANUP] Removed 0 video views [18:42:17] [CLEANUP] Removed 0 feed scroll views [18:42:17] [CLEANUP] Removed 0 status labels [18:42:17] [CLEANUP] Reset agent query state [18:42:17] [CLEANUP] Updated page indicator [18:42:17] [CLEANUP] Rebuilt video layout [18:42:17] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:17] [CLEANUP] ======================================== [18:42:17] [SERVER] Starting reconnect polling (5s interval) [18:42:17] [PUSH_EMBED] Got evolution data for message 23836, saving to local DB [18:42:17] [PUSH_EMBED] Saved evolution data for message 23836 [18:42:17] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:42:17] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [18:42:17] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:42:17] [INCREMENTAL_SYNC] ✅ No new messages [18:42:17] [FAST_REFRESH] Incremental sync complete - 104 messages [18:42:17] [COMBINED_FETCH] Loaded 3 read receipts, 0 messages with reactions [18:42:17] [FOREGROUND] Enriched 3/3 unsettled messages with readBy data [18:42:17] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=104>103=true, maxId=23836>23835=true, shouldScroll=true [18:42:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:42:17] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:17] [COMBINED_FETCH] Loaded 3 read receipts, 0 messages with reactions [18:42:17] [FAST_REFRESH] Enriched 3/3 unsettled messages with readBy data [18:42:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:42:17] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:17] [PUSH_PRELOAD] Fetched 1 messages - caching for instant display [18:42:17] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=1, sessionId=ILUIWU [18:42:17] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23836] [18:42:17] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824] [18:42:17] [PRELOAD_CACHE] Preserving 50 push-inserted messages: [23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787, 23786, 23785, 23784, 23783] [18:42:17] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=50, IDs=[23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787, 23786, 23785, 23784, 23783] [18:42:17] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23836, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824] [18:42:17] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 50 from push) [18:42:17] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:42:17] [PUSH] Server fetch on tap completed (success=true) [18:42:17] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:17] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 23836, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_data"): { datesent = "2026-03-06 17:42:11"; "file_name" = ""; message = "Nope baby, Im home"; "message_id" = 23836; "message_type" = 0; "prev_session_message_id" = 23835; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] [18:42:17] [PUSH_EMBED_VC] Message 23836 already in memory - skipping [18:42:17] [PUSH] ⚡ Embedded message handled directly in ViewController [18:42:17] [PUSH] Parsed message_id: 23836 [18:42:17] [PUSH] Parsed operation_type: 0 [18:42:17] [PUSH] Taking direct action: opType=0, messageId=23836 [18:42:17] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23836 [18:42:17] [PUSH] ⚡ Message 23836 already in memory - skipping duplicate notification entirely [18:42:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11 [18:42:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23836, 23835, 23834, 23833, 23832] [18:42:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:42:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:17] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:42:17] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:42:17] [SCROLL] 💓 alive, visible=95...105, rows=106, estHeight=60.0, heightCalls=0 [18:42:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=11 [18:42:17] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23835 → 23836 [18:42:18] [PIN_AUTH] Correct PIN [18:42:18] [SECURITY] Restored real session: ILUIWU [18:42:18] [SECURITY] Restored real session: ILUIWU [18:42:18] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:18] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:18] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true [18:42:18] [FAKE MODE] Exiting fake mode, restoring real session [18:42:18] [SECURITY] Restored real session: ILUIWU [18:42:18] [SECURITY] Saved real session: ILUIWU [18:42:18] [FAKE MODE] ✅ Restored real session: ILUIWU [18:42:19] [FAKE MODE] Loaded 50 messages (limited to page size) [18:42:19] [READBY_OPT] No message IDs to fetch - skipping server call [18:42:19] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [18:42:19] [AUTH] Cache had 51 messages, maxExistingId=23836, inserted 0 truly new [18:42:19] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>103=false, maxId=23836>23835=true, shouldScroll=true [18:42:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [18:42:19] [AUTH] UI update complete [18:42:19] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data [18:42:19] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [18:42:19] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:19] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [18:42:19] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [18:42:19] [SCROLL] 💓 alive, visible=0...10, rows=51, estHeight=60.0, heightCalls=25 [18:42:19] [SCROLL_BTN] Showing button - 2702pt from bottom > half 379pt [18:42:19] [PAGINATION] 🔄 Older triggered: firstVisible=0, totalRows=51 [18:42:19] [PAGINATION] 📜 Starting load, offset=50, totalLoaded=50 [18:42:19] [PAGINATION] 📜 DB returned 50 messages [18:42:19] [PAGINATION] 📜 Loading 50 older messages, firstVisibleRow=0, oldOffset=20.0 [18:42:19] [PAGINATION] 📜 Total now: 100 [18:42:19] [RELOAD_TAB] ⚡ performReload ENTER, skip=true, estHeight=60.0, heightCalls=0 [18:42:19] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=100, first5Ids=[23736, 23737, 23738, 23739, 23740] [18:42:19] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 100 messages [18:42:19] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23736, 23737, 23738, 23739, 23740, 23741, 23742, 23743, 23744, 23745] [18:42:19] [RELOAD_TAB] 📊 Building chatRows from 100 messages [18:42:19] [USER] ✅ User registered successfully [18:42:19] [PUSH] User registration after token update: success [18:42:19] [RELOAD_TAB] 📊 Built 102 chatRows, estHeight=60.0 [18:42:19] [RELOAD_TAB] 📊 reloadData() START, rows=102 [18:42:19] [RELOAD_TAB] 📊 reloadData() DONE, heightCalls=0 [18:42:19] [RELOAD_TAB] 📊 layoutIfNeeded() START [18:42:19] [CELL_UPLOAD] configure: msgId=23736, file=fbad63a366619f78.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [18:42:19] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=fbad63a366619f78.jpg, overlayExists=true [18:42:19] [CELL_UPLOAD] configure: msgId=23740, file=38f7bdcbaad66d3e.jpg, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=false, hasFilename=true, isGiphy=false, uploadStatus=0 [18:42:19] [CELL_UPLOAD] → not my message, setting complete [18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=38f7bdcbaad66d3e.jpg, overlayExists=true [18:42:19] [RELOAD_TAB] 📊 layoutIfNeeded() DONE, heightCalls=7 [18:42:19] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=7 [18:42:19] [PAGINATION] 📜 newHeight=6680.0, heightDiff=3200.0, newOffset=3220.0 [18:42:19] [PAGINATION] 📜 After setContentOffset, actual offset=3220.0 [18:42:19] [PAGINATION] 📜 Done, offset=3220.0 [18:42:19] [CELL_UPLOAD] configure: msgId=23779, file=c4ff0b7976fae65e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [18:42:19] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=c4ff0b7976fae65e.jpg, overlayExists=true [18:42:19] [GIF] configure msgId=23785 file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif msgChanged=true owner=false animating=false completed=false [18:42:19] [GIF] msgId=23785 CONTINUE animation (elapsed=149.8915719985962s) [18:42:19] [CELL_UPLOAD] configure: msgId=23785, file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=true, uploadStatus=0 [18:42:19] [CELL_UPLOAD] → giphy file, no upload needed, setting complete [18:42:19] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=giphy:https://media4.giphy.com/media/v1.Y2lkPWE5ZTU0NDAzaHJmdm5qN3VwMWMwNWcxYjNhMzRsaGN1a2Z5cjdvd2Y1ZzR5bmFlaCZlcD12MV9naWZzX3NlYXJjaCZjdD1n/PF6e8Xq8dVnVX1BGLS/giphy.gif, overlayExists=true [18:42:19] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:19] HELLO → sent (cached token, role=query) [18:42:19] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:19] [WS] Query connection failed - cleaning up all agent connections and views [18:42:19] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:19] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:19] [CLEANUP] ======================================== [18:42:19] [CLEANUP] Cleaning up all agent connections and views [18:42:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:19] [CLEANUP] Stopped and removed 0 video connections [18:42:19] [CLEANUP] Removed 0 video views [18:42:19] [CLEANUP] Removed 0 feed scroll views [18:42:19] [CLEANUP] Removed 0 status labels [18:42:19] [CLEANUP] Reset agent query state [18:42:19] [CLEANUP] Updated page indicator [18:42:19] [CLEANUP] Rebuilt video layout [18:42:19] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:19] [CLEANUP] ======================================== [18:42:19] [SERVER] Starting reconnect polling (5s interval) [18:42:19] [CLEANUP] ======================================== [18:42:19] [CLEANUP] Cleaning up all agent connections and views [18:42:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:19] [CLEANUP] Stopped and removed 0 video connections [18:42:19] [CLEANUP] Removed 0 video views [18:42:19] [CLEANUP] Removed 0 feed scroll views [18:42:19] [CLEANUP] Removed 0 status labels [18:42:19] [CLEANUP] Reset agent query state [18:42:19] [CLEANUP] Updated page indicator [18:42:19] [CLEANUP] Rebuilt video layout [18:42:19] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:19] [CLEANUP] ======================================== [18:42:19] [SERVER] Starting reconnect polling (5s interval) [18:42:20] [MENU] dismissAnyExistingMenu called [18:42:20] [MENU] dismissAnyExistingMenu completed [18:42:20] [SCROLL] 💓 alive, visible=89...98, rows=102, estHeight=60.0, heightCalls=36 [18:42:20] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:20] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:21] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:21] HELLO → sent (cached token, role=query) [18:42:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:21] [WS] Query connection failed - cleaning up all agent connections and views [18:42:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:21] [CLEANUP] ======================================== [18:42:21] [CLEANUP] Cleaning up all agent connections and views [18:42:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:21] [CLEANUP] Stopped and removed 0 video connections [18:42:21] [CLEANUP] Removed 0 video views [18:42:21] [CLEANUP] Removed 0 feed scroll views [18:42:21] [CLEANUP] Removed 0 status labels [18:42:21] [CLEANUP] Reset agent query state [18:42:21] [CLEANUP] Updated page indicator [18:42:21] [CLEANUP] Rebuilt video layout [18:42:21] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:21] [CLEANUP] ======================================== [18:42:21] [SERVER] Starting reconnect polling (5s interval) [18:42:21] [CLEANUP] ======================================== [18:42:21] [CLEANUP] Cleaning up all agent connections and views [18:42:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:21] [CLEANUP] Stopped and removed 0 video connections [18:42:21] [CLEANUP] Removed 0 video views [18:42:21] [CLEANUP] Removed 0 feed scroll views [18:42:21] [CLEANUP] Removed 0 status labels [18:42:21] [CLEANUP] Reset agent query state [18:42:21] [CLEANUP] Updated page indicator [18:42:21] [CLEANUP] Rebuilt video layout [18:42:21] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:21] [CLEANUP] ======================================== [18:42:21] [SERVER] Starting reconnect polling (5s interval) [18:42:21] [CLIENT_SIG] Event received: type=3 messageId=23836 [18:42:21] [WS_EVENT] Received event: type=3, messageId=23836 [18:42:21] [WS_EVENT] Read receipt for message 23836 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:42:21] [PUSH] Silent push received [18:42:21] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:21 +0000, appState=0, message_id=nil [18:42:21] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[] [18:42:21] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:21 +0000 [18:42:21] [PUSH_EMBED] No embedded message_data in notification [18:42:21] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [18:42:21] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false [18:42:21] [PUSH] No embedded data, pre-loading messages from server [18:42:21] [PUSH_PRELOAD] Fetching messages for instant display cache [18:42:21] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [18:42:21] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [18:42:21] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:21] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache [18:42:21] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [18:42:21] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:42:21] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23736, 23737, 23738, 23739, 23740, 23741, 23742, 23743, 23744, 23745] [18:42:21] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23836] [18:42:21] [PUSH] Parsed message_id: 23836 [18:42:21] [PUSH] Parsed operation_type: 3 [18:42:21] [PUSH] Taking direct action: opType=3, messageId=23836 [18:42:21] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23836 [18:42:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [18:42:21] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [18:42:22] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:22] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:22] [CLIENT_SIG] Event received: type=3 messageId=23794 [18:42:22] [WS_EVENT] Received event: type=3, messageId=23794 [18:42:22] [WS_EVENT] Read receipt for message 23794 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:42:22] [PUSH] Silent push received [18:42:22] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:22 +0000, appState=0, message_id=nil [18:42:22] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:22 +0000 [18:42:22] [PUSH_EMBED] No embedded message_data in notification [18:42:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [18:42:22] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827], handled=false [18:42:22] [PUSH] No embedded data, pre-loading messages from server [18:42:22] [PUSH_PRELOAD] Fetching messages for instant display cache [18:42:22] [SCROLL] 💓 alive, visible=91...97, rows=102, estHeight=60.0, heightCalls=9 [18:42:22] [SCROLL_BTN] Showing button - 310pt from bottom > half 223pt [18:42:23] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:23] HELLO → sent (cached token, role=query) [18:42:23] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:23] [WS] Query connection failed - cleaning up all agent connections and views [18:42:23] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:23] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:23] [CLEANUP] ======================================== [18:42:23] [CLEANUP] Cleaning up all agent connections and views [18:42:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:23] [CLEANUP] Stopped and removed 0 video connections [18:42:23] [CLEANUP] Removed 0 video views [18:42:23] [CLEANUP] Removed 0 feed scroll views [18:42:23] [CLEANUP] Removed 0 status labels [18:42:23] [CLEANUP] Reset agent query state [18:42:23] [CLEANUP] Updated page indicator [18:42:23] [CLEANUP] Rebuilt video layout [18:42:23] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:23] [CLEANUP] ======================================== [18:42:23] [SERVER] Starting reconnect polling (5s interval) [18:42:23] [CLEANUP] ======================================== [18:42:23] [CLEANUP] Cleaning up all agent connections and views [18:42:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:23] [CLEANUP] Stopped and removed 0 video connections [18:42:23] [CLEANUP] Removed 0 video views [18:42:23] [CLEANUP] Removed 0 feed scroll views [18:42:23] [CLEANUP] Removed 0 status labels [18:42:23] [CLEANUP] Reset agent query state [18:42:23] [CLEANUP] Updated page indicator [18:42:23] [CLEANUP] Rebuilt video layout [18:42:23] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:23] [CLEANUP] ======================================== [18:42:23] [SERVER] Starting reconnect polling (5s interval) [18:42:23] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [18:42:23] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [18:42:23] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:23] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:23] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[] [18:42:23] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:23] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [18:42:23] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:42:23] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 100 msgs, IDs=[23736, 23737, 23738, 23739, 23740, 23741, 23742, 23743, 23744, 23745] [18:42:23] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23794] [18:42:23] [PUSH] Parsed message_id: 23794 [18:42:23] [PUSH] Parsed operation_type: 3 [18:42:23] [PUSH] Taking direct action: opType=3, messageId=23794 [18:42:23] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23794 [18:42:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:24] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:24] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:24] HELLO → sent (cached token, role=query) [18:42:24] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:24] [WS] Query connection failed - cleaning up all agent connections and views [18:42:24] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:24] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:24] [CLEANUP] ======================================== [18:42:24] [CLEANUP] Cleaning up all agent connections and views [18:42:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:24] [CLEANUP] Stopped and removed 0 video connections [18:42:24] [CLEANUP] Removed 0 video views [18:42:24] [CLEANUP] Removed 0 feed scroll views [18:42:24] [CLEANUP] Removed 0 status labels [18:42:24] [CLEANUP] Reset agent query state [18:42:24] [CLEANUP] Updated page indicator [18:42:24] [CLEANUP] Rebuilt video layout [18:42:24] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:24] [CLEANUP] ======================================== [18:42:24] [SERVER] Starting reconnect polling (5s interval) [18:42:24] [CLEANUP] ======================================== [18:42:24] [CLEANUP] Cleaning up all agent connections and views [18:42:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:24] [CLEANUP] Stopped and removed 0 video connections [18:42:24] [CLEANUP] Removed 0 video views [18:42:24] [CLEANUP] Removed 0 feed scroll views [18:42:24] [CLEANUP] Removed 0 status labels [18:42:24] [CLEANUP] Reset agent query state [18:42:24] [CLEANUP] Updated page indicator [18:42:24] [CLEANUP] Rebuilt video layout [18:42:24] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:24] [CLEANUP] ======================================== [18:42:24] [SERVER] Starting reconnect polling (5s interval) [18:42:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:26] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:26] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:26] HELLO → sent (cached token, role=query) [18:42:26] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:26] [WS] Query connection failed - cleaning up all agent connections and views [18:42:26] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:26] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:26] [CLEANUP] ======================================== [18:42:26] [CLEANUP] Cleaning up all agent connections and views [18:42:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:26] [CLEANUP] Stopped and removed 0 video connections [18:42:26] [CLEANUP] Removed 0 video views [18:42:26] [CLEANUP] Removed 0 feed scroll views [18:42:26] [CLEANUP] Removed 0 status labels [18:42:26] [CLEANUP] Reset agent query state [18:42:26] [CLEANUP] Updated page indicator [18:42:26] [CLEANUP] Rebuilt video layout [18:42:26] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:26] [CLEANUP] ======================================== [18:42:26] [SERVER] Starting reconnect polling (5s interval) [18:42:26] [CLEANUP] ======================================== [18:42:26] [CLEANUP] Cleaning up all agent connections and views [18:42:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:26] [CLEANUP] Stopped and removed 0 video connections [18:42:26] [CLEANUP] Removed 0 video views [18:42:26] [CLEANUP] Removed 0 feed scroll views [18:42:26] [CLEANUP] Removed 0 status labels [18:42:26] [CLEANUP] Reset agent query state [18:42:26] [CLEANUP] Updated page indicator [18:42:26] [CLEANUP] Rebuilt video layout [18:42:26] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:26] [CLEANUP] ======================================== [18:42:26] [SERVER] Starting reconnect polling (5s interval) [18:42:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:28] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:28] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:28] HELLO → sent (cached token, role=query) [18:42:28] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:28] [WS] Query connection failed - cleaning up all agent connections and views [18:42:28] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:28] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:28] [CLEANUP] ======================================== [18:42:28] [CLEANUP] Cleaning up all agent connections and views [18:42:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:28] [CLEANUP] Stopped and removed 0 video connections [18:42:28] [CLEANUP] Removed 0 video views [18:42:28] [CLEANUP] Removed 0 feed scroll views [18:42:28] [CLEANUP] Removed 0 status labels [18:42:28] [CLEANUP] Reset agent query state [18:42:28] [CLEANUP] Updated page indicator [18:42:28] [CLEANUP] Rebuilt video layout [18:42:28] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:28] [CLEANUP] ======================================== [18:42:28] [SERVER] Starting reconnect polling (5s interval) [18:42:28] [CLEANUP] ======================================== [18:42:28] [CLEANUP] Cleaning up all agent connections and views [18:42:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:28] [CLEANUP] Stopped and removed 0 video connections [18:42:28] [CLEANUP] Removed 0 video views [18:42:28] [CLEANUP] Removed 0 feed scroll views [18:42:28] [CLEANUP] Removed 0 status labels [18:42:28] [CLEANUP] Reset agent query state [18:42:28] [CLEANUP] Updated page indicator [18:42:28] [CLEANUP] Rebuilt video layout [18:42:28] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:28] [CLEANUP] ======================================== [18:42:28] [SERVER] Starting reconnect polling (5s interval) [18:42:28] [CLIENT_SIG] Client connected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [18:42:30] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:30] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:30] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:30] HELLO → sent (cached token, role=query) [18:42:30] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:30] [WS] Query connection failed - cleaning up all agent connections and views [18:42:30] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:30] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:30] [CLEANUP] ======================================== [18:42:30] [CLEANUP] Cleaning up all agent connections and views [18:42:30] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:30] [CLEANUP] Stopped and removed 0 video connections [18:42:30] [CLEANUP] Removed 0 video views [18:42:30] [CLEANUP] Removed 0 feed scroll views [18:42:30] [CLEANUP] Removed 0 status labels [18:42:30] [CLEANUP] Reset agent query state [18:42:30] [CLEANUP] Updated page indicator [18:42:30] [CLEANUP] Rebuilt video layout [18:42:30] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:30] [CLEANUP] ======================================== [18:42:30] [SERVER] Starting reconnect polling (5s interval) [18:42:30] [CLEANUP] ======================================== [18:42:30] [CLEANUP] Cleaning up all agent connections and views [18:42:30] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:30] [CLEANUP] Stopped and removed 0 video connections [18:42:30] [CLEANUP] Removed 0 video views [18:42:30] [CLEANUP] Removed 0 feed scroll views [18:42:30] [CLEANUP] Removed 0 status labels [18:42:30] [CLEANUP] Reset agent query state [18:42:30] [CLEANUP] Updated page indicator [18:42:30] [CLEANUP] Rebuilt video layout [18:42:30] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:30] [CLEANUP] ======================================== [18:42:30] [SERVER] Starting reconnect polling (5s interval) [18:42:32] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:32] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:32] [CLIENT_SIG] Typing start from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [18:42:32] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:32] HELLO → sent (cached token, role=query) [18:42:32] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:32] [WS] Query connection failed - cleaning up all agent connections and views [18:42:32] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:32] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:32] [CLEANUP] ======================================== [18:42:32] [CLEANUP] Cleaning up all agent connections and views [18:42:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:32] [CLEANUP] Stopped and removed 0 video connections [18:42:32] [CLEANUP] Removed 0 video views [18:42:32] [CLEANUP] Removed 0 feed scroll views [18:42:32] [CLEANUP] Removed 0 status labels [18:42:32] [CLEANUP] Reset agent query state [18:42:32] [CLEANUP] Updated page indicator [18:42:32] [CLEANUP] Rebuilt video layout [18:42:32] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:32] [CLEANUP] ======================================== [18:42:32] [SERVER] Starting reconnect polling (5s interval) [18:42:32] [CLEANUP] ======================================== [18:42:32] [CLEANUP] Cleaning up all agent connections and views [18:42:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:32] [CLEANUP] Stopped and removed 0 video connections [18:42:32] [CLEANUP] Removed 0 video views [18:42:32] [CLEANUP] Removed 0 feed scroll views [18:42:32] [CLEANUP] Removed 0 status labels [18:42:32] [CLEANUP] Reset agent query state [18:42:32] [CLEANUP] Updated page indicator [18:42:32] [CLEANUP] Rebuilt video layout [18:42:32] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:32] [CLEANUP] ======================================== [18:42:32] [SERVER] Starting reconnect polling (5s interval) [18:42:32] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [18:42:33] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [18:42:33] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=100, isReloading=false [18:42:33] [SEND_MESSAGE] ✅ Added optimistic message id=-8 to arrays, newMsgCount=101 [18:42:33] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=7 [18:42:33] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=101, first5Ids=[-8, 23836, 23835, 23834, 23833] [18:42:33] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 101 messages [18:42:33] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-8, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:33] [RELOAD_TAB] 📊 Building chatRows from 101 messages [18:42:33] [RELOAD_TAB] 📊 Built 103 chatRows, estHeight=60.0 [18:42:33] [SCROLL] 💓 alive, visible=95...102, rows=103, estHeight=60.0, heightCalls=9 [18:42:33] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [18:42:33] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [18:42:33] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [18:42:34] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:34] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:34] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:34] HELLO → sent (cached token, role=query) [18:42:34] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:34] [WS] Query connection failed - cleaning up all agent connections and views [18:42:34] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:34] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:34] [CLEANUP] ======================================== [18:42:34] [CLEANUP] Cleaning up all agent connections and views [18:42:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:34] [CLEANUP] Stopped and removed 0 video connections [18:42:34] [CLEANUP] Removed 0 video views [18:42:34] [CLEANUP] Removed 0 feed scroll views [18:42:34] [CLEANUP] Removed 0 status labels [18:42:34] [CLEANUP] Reset agent query state [18:42:34] [CLEANUP] Updated page indicator [18:42:34] [CLEANUP] Rebuilt video layout [18:42:34] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:34] [CLEANUP] ======================================== [18:42:34] [SERVER] Starting reconnect polling (5s interval) [18:42:34] [CLEANUP] ======================================== [18:42:34] [CLEANUP] Cleaning up all agent connections and views [18:42:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:34] [CLEANUP] Stopped and removed 0 video connections [18:42:34] [CLEANUP] Removed 0 video views [18:42:34] [CLEANUP] Removed 0 feed scroll views [18:42:34] [CLEANUP] Removed 0 status labels [18:42:34] [CLEANUP] Reset agent query state [18:42:34] [CLEANUP] Updated page indicator [18:42:34] [CLEANUP] Rebuilt video layout [18:42:34] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:34] [CLEANUP] ======================================== [18:42:34] [SERVER] Starting reconnect polling (5s interval) [18:42:34] [LIFECYCLE] App resigning active - cleared crash flag [18:42:35] [CLIENT_SIG] Event received: type=0 messageId=23837 [18:42:35] [WS_EVENT] Received event: type=0, messageId=23837 [18:42:35] [WS_EVENT] 📨 New message notification (msgId=23837) - triggering incremental refresh, currentMsgCount=101 [18:42:35] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=101 [18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23836, maxMemoryId=23836 [18:42:35] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23836 [18:42:35] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 17:42:35 +0000 - type: unknown, operation_type: 0, message_id: 23837, session_id: ILUIWU, state: 1 [18:42:35] [PUSH_DEBUG] Full userInfo: [AnyHashable("message_data"): { datesent = "2026-03-06 17:42:32"; "file_name" = ""; message = "Im home since Tuesday evening \Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23837; "message_type" = 0; "prev_session_message_id" = 23836; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23837, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] [18:42:35] [PUSH] Max message_id before push: 23836 [18:42:35] [PUSH_TRACE] 🔔 willPresent (background): maxIdBeforePush=23836, currentSessionId=ILUIWU [18:42:35] [PUSH_TRACE] 🔔 willPresent: cache BEFORE handleEmbeddedMessageData: count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:35 +0000 [18:42:35] [PUSH_TRACE] ⬇️ Processing embedded message_id=23837 [18:42:35] [PUSH_EMBED] 📩 Received embedded message: id=23837, type=0, sender=Esra [18:42:35] [PUSH_TRACE] ⬇️ Message details: text="Im home since Tuesday evening 🤣🤣...", datesent=2026-03-06 17:42:32 [18:42:35] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [18:42:35] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23837 [18:42:35] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23837 [18:42:35] [PUSH_EMBED] ✅ Saved message 23837 to local DB (sync) [18:42:35] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23837 [18:42:35] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23837 [18:42:35] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23837 [18:42:35] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827] [18:42:35] [PUSH_EMBED] Inserted message 23837 into existing cache (now 51 messages) [18:42:35] [PUSH_TRACE] 📦 ✅ Inserted message 23837, cache now has IDs: [23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:35] [PUSH_TRACE] 📦 EXITING cache update queue for message 23837 [18:42:35] [PUSH_EMBED] Fetching evolution data for message 23837 in background [18:42:35] [PUSH_EMBED] ✅ Fully processed message 23837 [18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23837 [18:42:35] [PUSH_TRACE] 🔔 willPresent: cache AFTER handleEmbeddedMessageData: count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828], handled=true [18:42:35] [PUSH] App not active - showing notification [18:42:35] [PUSH] Fetching server messages since_id=23836 to catch coalesced notifications [18:42:35] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23836 to catch coalesced notifications [18:42:35] [PUSH_PRELOAD] Fetching messages for instant display cache [18:42:35] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived START [18:42:35] [PUSH_TRACE] 👁️ Received message id=23837, text="Im home since Tuesday evening ..." [18:42:35] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [18:42:35] [PUSH_TRACE] 👁️ BEFORE insert: 101 messages, first 5 IDs: [-8, 23836, 23835, 23834, 23833] [18:42:35] [PUSH_TRACE] 👁️ Inserted message 23837 at index 1 [18:42:35] [PUSH_UI] Inserted message 23837 into UI (now 102 messages) [18:42:35] [PUSH_TRACE] 👁️ AFTER insert: 102 messages, first 5 IDs: [-8, 23837, 23836, 23835, 23834] [18:42:35] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success [18:42:35] [PUSH] Silent push received [18:42:35] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:35 +0000, appState=1, message_id=23837 [18:42:35] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:35 +0000 [18:42:35] [PUSH_TRACE] ⬇️ Processing embedded message_id=23837 [18:42:35] [PUSH_EMBED] 📩 Received embedded message: id=23837, type=0, sender=Esra [18:42:35] [PUSH_TRACE] ⬇️ Message details: text="Im home since Tuesday evening 🤣🤣...", datesent=2026-03-06 17:42:32 [18:42:35] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [18:42:35] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23837 [18:42:35] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23837 [18:42:35] [PUSH_EMBED] ✅ Saved message 23837 to local DB (sync) [18:42:35] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23837 [18:42:35] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23837 [18:42:35] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23837 [18:42:35] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:35] [PUSH_TRACE] 📦 ⚠️ Message 23837 already in cache, skipping insert [18:42:35] [PUSH_TRACE] 📦 EXITING cache update queue for message 23837 [18:42:35] [PUSH_EMBED] Fetching evolution data for message 23837 in background [18:42:35] [PUSH_EMBED] ✅ Fully processed message 23837 [18:42:35] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23837 [18:42:35] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828], handled=true [18:42:35] [PUSH] Embedded message handled instantly from silent push [18:42:35] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification [18:42:35] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23837 [18:42:35] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived START [18:42:35] [PUSH_TRACE] 👁️ Received message id=23837, text="Im home since Tuesday evening ..." [18:42:35] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [18:42:35] [PUSH_UI] Message 23837 already in memory - skipping insert [18:42:35] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists [18:42:35] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[-8, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:35] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): { datesent = "2026-03-06 17:42:32"; "file_name" = ""; message = "Im home since Tuesday evening \Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23837; "message_type" = 0; "prev_session_message_id" = 23836; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("message_id"): 23837, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] [18:42:35] [PUSH_EMBED_VC] Message 23837 already in memory - skipping [18:42:35] [PUSH] ⚡ Embedded message handled directly in ViewController [18:42:35] [PUSH] Parsed message_id: 23837 [18:42:35] [PUSH] Parsed operation_type: 0 [18:42:35] [PUSH] Taking direct action: opType=0, messageId=23837 [18:42:35] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23837 [18:42:35] [PUSH] ⚡ Message 23837 already in memory - skipping duplicate notification entirely [18:42:35] [INCREMENTAL_SYNC] ✅ Found 2 new messages [18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 2 new messages, IDs=[23838, 23837] [18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 102 msgs, first 10 IDs=[-8, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23838 [18:42:35] [INCREMENTAL_SYNC] Replaced optimistic message (id=-8) with server message (id=23838) [18:42:35] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:35] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=2 [18:42:35] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:35] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:35] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=102 [18:42:35] [PUSH_EMBED] Got evolution data for message 23837, saving to local DB [18:42:35] [PUSH_EMBED] Saved evolution data for message 23837 [18:42:35] [PUSH_EMBED] Got evolution data for message 23837, saving to local DB [18:42:35] [PUSH_EMBED] Saved evolution data for message 23837 [18:42:35] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=11 [18:42:35] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834] [18:42:35] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:42:35] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:35] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:42:35] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:42:35] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23836 → 23837 [18:42:35] [SCROLL] 💓 alive, visible=96...103, rows=104, estHeight=60.0, heightCalls=9 [18:42:35] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [18:42:35] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:42:35] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:42:35] [SECURITY] Saved background timestamp [18:42:35] [LIFECYCLE] App entering background - cleared crash flag [18:42:35] [CLIENT_SIG] Disconnecting [18:42:35] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:42:35] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:42:35] [PUSH_TRACE] 💤 BACKGROUND: memory has 102 messages, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:35] [LIFECYCLE] Background snapshot: count=102, maxId=23838 [18:42:35] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [18:42:35] [WS] Canceling WebSocket for query connection to iosILUIWU [18:42:35] In cleanupPeer [18:42:35] In cleanupPeer [18:42:35] [LIFECYCLE] WebRTC audio disabled [18:42:35] [LIFECYCLE] AVAudioSession deactivated [18:42:35] [LIFECYCLE] All connections stopped [18:42:35] [CLIENT_SIG] WebSocket closed with code 1001 [18:42:35] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:42:35] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:42:35] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:42:35] [SERVER] Stopped reconnect polling [18:42:35] [WS] URLSession invalidated successfully [18:42:35] Will request stop of video 0 [18:42:35] Will request stop of video 0 [18:42:35] [PIP] Removing 0 tracks from PiP for connection 0 [18:42:35] [PIP] ✅ All tracks removed for connection 0 [18:42:35] [PIP] Removing 0 tracks from PiP for connection 0 [18:42:35] [PIP] ✅ All tracks removed for connection 0 [18:42:36] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:36] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:36] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:36] HELLO → sent (cached token, role=query) [18:42:36] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:36] [WS] Query connection failed - cleaning up all agent connections and views [18:42:36] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:36] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:36] [CLEANUP] ======================================== [18:42:36] [CLEANUP] Cleaning up all agent connections and views [18:42:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:36] [CLEANUP] Stopped and removed 0 video connections [18:42:36] [CLEANUP] Removed 0 video views [18:42:36] [CLEANUP] Removed 0 feed scroll views [18:42:36] [CLEANUP] Removed 0 status labels [18:42:36] [CLEANUP] Reset agent query state [18:42:36] [CLEANUP] Updated page indicator [18:42:36] [CLEANUP] Rebuilt video layout [18:42:36] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:36] [CLEANUP] ======================================== [18:42:36] [SERVER] Skipping reconnect polling - app is in background [18:42:36] [CLEANUP] ======================================== [18:42:36] [CLEANUP] Cleaning up all agent connections and views [18:42:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:36] [CLEANUP] Stopped and removed 0 video connections [18:42:36] [CLEANUP] Removed 0 video views [18:42:36] [CLEANUP] Removed 0 feed scroll views [18:42:36] [CLEANUP] Removed 0 status labels [18:42:36] [CLEANUP] Reset agent query state [18:42:36] [CLEANUP] Updated page indicator [18:42:36] [CLEANUP] Rebuilt video layout [18:42:36] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:36] [CLEANUP] ======================================== [18:42:36] [SERVER] Skipping reconnect polling - app is in background [18:42:36] [PUSH] Notification tapped - session_id: ILUIWU [18:42:36] [PUSH] Max message_id before tap: 23838 [18:42:36] [PUSH] Stored pending session: ILUIWU [18:42:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:36 +0000 [18:42:36] [PUSH_TRACE] ⬇️ Processing embedded message_id=23837 [18:42:36] [PUSH_EMBED] 📩 Received embedded message: id=23837, type=0, sender=Esra [18:42:36] [PUSH_TRACE] ⬇️ Message details: text="Im home since Tuesday evening 🤣🤣...", datesent=2026-03-06 17:42:32 [18:42:36] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [18:42:36] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23837 [18:42:36] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23837 [18:42:36] [PUSH_EMBED] ✅ Saved message 23837 to local DB (sync) [18:42:36] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23837 [18:42:36] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23837 [18:42:36] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23837 [18:42:36] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:36] [PUSH_TRACE] 📦 ⚠️ Message 23837 already in cache, skipping insert [18:42:36] [PUSH_TRACE] 📦 EXITING cache update queue for message 23837 [18:42:36] [PUSH_EMBED] Fetching evolution data for message 23837 in background [18:42:36] [PUSH_EMBED] ✅ Fully processed message 23837 [18:42:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23837 [18:42:36] [PUSH] Embedded message handled instantly on tap [18:42:36] [SECURITY] Timeout check: elapsed=0.9555830955505371s, timeout=300.0s [18:42:36] [PUSH] Fetching server messages since_id=23838 to catch coalesced notifications on tap [18:42:36] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:42:36] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:42:36] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23838 to catch coalesced notifications [18:42:36] [PUSH_PRELOAD] Fetching messages for instant display cache [18:42:36] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x12eb34030 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey={length = 16, capacity = 16, bytes = 0x100201bb54e34b220000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <6053BB54-7135-472D-8E08-71C0529DA2AF>.<97>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <6053BB54-7135-472D-8E08-71C0529DA2AF>.<97>" ), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} [18:42:36] [LIFECYCLE] App entering foreground - restoring connections [18:42:36] [PUSH_TRACE] 🔄 FOREGROUND: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:36] [PUSH_TRACE] 🔄 FOREGROUND: cache has 51 msgs, valid=true, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:36] [UPLOAD_RETRY] No pending uploads to retry [18:42:36] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:36] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [18:42:36] [LIFECYCLE] WebRTC audio re-enabled [18:42:36] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:42:36] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:42:36] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:42:36] [VIEWER] Reconnecting after background - querying agents [18:42:36] [UNSENT_RETRY] Checking for unsent messages... [18:42:36] [PENDING_UPLOAD] Total pending upload messages: 0 [18:42:36] [UNSENT_RETRY] No unsent messages found [18:42:36] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [18:42:36] [PUSH_TRACE] 👁️ handlePushMessageReceived START [18:42:36] [PUSH_TRACE] 👁️ Received message id=23837, text="Im home since Tuesday evening ..." [18:42:36] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [18:42:36] [PUSH_UI] Message 23837 already in memory - skipping insert [18:42:36] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists [18:42:36] [CHAT] Network error detected - queuing for retry [18:42:36] [SEND_STATUS] 💾 Updating DB: messageId=-8, status=3 (pending_retry) [18:42:36] [SEND_STATUS] ⚠️ DB update: 0 rows affected - messageId=-8 not found in local_messages [18:42:36] [SEND_STATUS] ⏳ Message -8 marked as PENDING RETRY (waiting for network) [18:42:36] [SCROLL] 💓 alive, visible=97...103, rows=104, estHeight=60.0, heightCalls=8 [18:42:36] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:42:36] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834] [18:42:36] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:42:36] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:36] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:42:36] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:42:36] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:42:36] [CLIENT_SIG] WebSocket opened [18:42:36] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:42:37] [CLIENT_SIG] Connected! clientId=lsHOlBy8zeV6l2NN [18:42:37] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [18:42:37] [SECURITY] Within timeout - cleared background flag [18:42:37] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:42:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:37] [PUSH] handlePollEventsNotification userInfo: [:] [18:42:37] [PUSH] No message_id in userInfo [18:42:37] [PUSH] No operation_type in userInfo [18:42:37] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:42:37] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:37] [PUSH_TRACE] 📬 POLL: memory state: count=102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:37] [FAST_REFRESH] Already have 102 messages in memory [18:42:37] [FAST_REFRESH] maxMemoryId=23838, maxLocalId=23838 [18:42:37] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:42:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:37] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:42:37] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [18:42:37] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102 [18:42:37] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838 [18:42:37] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838 [18:42:37] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:42:37] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [18:42:37] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:42:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8 [18:42:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834] [18:42:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:42:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:37] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:42:37] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:42:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:42:37] [MENU] dismissAnyExistingMenu called [18:42:37] [MENU] dismissAnyExistingMenu completed [18:42:37] [SCROLL] 💓 alive, visible=97...103, rows=104, estHeight=60.0, heightCalls=10 [18:42:37] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:37] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:37] [CLIENT_SIG] Event received: type=0 messageId=23838 [18:42:37] [WS_EVENT] Received event: type=0, messageId=23838 [18:42:37] [PUSH_EMBED] Got evolution data for message 23837, saving to local DB [18:42:37] [WS_EVENT] 📨 New message notification (msgId=23838) - triggering incremental refresh, currentMsgCount=102 [18:42:37] [INCREMENTAL_SYNC] ⚠️ Already reloading - queuing retry after current completes [18:42:37] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=102 [18:42:37] [PUSH_EMBED] Saved evolution data for message 23837 [18:42:37] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [18:42:37] [FOREGROUND] Enriched 0/1 unsettled messages with readBy data [18:42:37] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=102>102=false, maxId=23838>23838=false, shouldScroll=false [18:42:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:38] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [18:42:38] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data [18:42:38] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:38] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:38] [PUSH_PRELOAD] No messages or parse error [18:42:38] [PUSH] Server fetch on tap completed (success=false) [18:42:38] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:38] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23837, AnyHashable("message_data"): { datesent = "2026-03-06 17:42:32"; "file_name" = ""; message = "Im home since Tuesday evening \Ud83e\Udd23\Ud83e\Udd23"; "message_id" = 23837; "message_type" = 0; "prev_session_message_id" = 23836; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU] [18:42:38] [PUSH_EMBED_VC] Message 23837 already in memory - skipping [18:42:38] [PUSH] ⚡ Embedded message handled directly in ViewController [18:42:38] [PUSH] Parsed message_id: 23837 [18:42:38] [PUSH] Parsed operation_type: 0 [18:42:38] [PUSH] Taking direct action: opType=0, messageId=23837 [18:42:38] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23837 [18:42:38] [PUSH] ⚡ Message 23837 already in memory - skipping duplicate notification entirely [18:42:38] [INCREMENTAL_SYNC] ✅ No new messages [18:42:38] [INCREMENTAL_SYNC] 🔁 Processing queued retry refresh [18:42:38] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102 [18:42:38] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838 [18:42:38] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838 [18:42:38] [FAST_REFRESH] Incremental sync complete - 102 messages [18:42:38] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:38] HELLO → sent (cached token, role=query) [18:42:38] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:38] [WS] Query connection failed - cleaning up all agent connections and views [18:42:38] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:38] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:38] [CLEANUP] ======================================== [18:42:38] [CLEANUP] Cleaning up all agent connections and views [18:42:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:38] [CLEANUP] Stopped and removed 0 video connections [18:42:38] [CLEANUP] Removed 0 video views [18:42:38] [CLEANUP] Removed 0 feed scroll views [18:42:38] [CLEANUP] Removed 0 status labels [18:42:38] [CLEANUP] Reset agent query state [18:42:38] [CLEANUP] Updated page indicator [18:42:38] [CLEANUP] Rebuilt video layout [18:42:38] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:38] [CLEANUP] ======================================== [18:42:38] [SERVER] Starting reconnect polling (5s interval) [18:42:38] [CLEANUP] ======================================== [18:42:38] [CLEANUP] Cleaning up all agent connections and views [18:42:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:38] [CLEANUP] Stopped and removed 0 video connections [18:42:38] [CLEANUP] Removed 0 video views [18:42:38] [CLEANUP] Removed 0 feed scroll views [18:42:38] [CLEANUP] Removed 0 status labels [18:42:38] [CLEANUP] Reset agent query state [18:42:38] [CLEANUP] Updated page indicator [18:42:38] [CLEANUP] Rebuilt video layout [18:42:38] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:38] [CLEANUP] ======================================== [18:42:38] [SERVER] Starting reconnect polling (5s interval) [18:42:38] [INCREMENTAL_SYNC] ✅ No new messages [18:42:38] [PUSH_PRELOAD] Fetched 2 messages - caching for instant display [18:42:38] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=2, sessionId=ILUIWU [18:42:38] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23838, 23837] [18:42:38] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828] [18:42:38] [PRELOAD_CACHE] Preserving 50 push-inserted messages: [23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787] [18:42:38] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=50, IDs=[23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829, 23828, 23827, 23826, 23825, 23824, 23823, 23822, 23821, 23820, 23819, 23818, 23817, 23816, 23815, 23814, 23813, 23812, 23811, 23810, 23809, 23808, 23807, 23806, 23805, 23804, 23803, 23802, 23801, 23800, 23799, 23798, 23797, 23796, 23795, 23794, 23793, 23792, 23791, 23790, 23789, 23788, 23787] [18:42:38] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:38] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 50 from push) [18:42:38] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:42:38] [PUSH] Server fetch completed (success=true) - posting pollEventsNow [18:42:38] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:38] [PUSH] handlePollEventsNotification userInfo: [:] [18:42:38] [PUSH] No message_id in userInfo [18:42:38] [PUSH] No operation_type in userInfo [18:42:38] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:42:38] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:38] [PUSH_TRACE] 📬 POLL: memory state: count=102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:38] [FAST_REFRESH] Already have 102 messages in memory [18:42:38] [FAST_REFRESH] maxMemoryId=23838, maxLocalId=23838 [18:42:38] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:42:38] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:38] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:38] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:42:38] [READBY_OPT] No message IDs to fetch - skipping server call [18:42:38] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102 [18:42:38] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838 [18:42:38] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838 [18:42:38] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [18:42:38] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:42:38] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:42:38] [INCREMENTAL_SYNC] ✅ No new messages [18:42:38] [FAST_REFRESH] Incremental sync complete - 102 messages [18:42:38] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=2 [18:42:38] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834] [18:42:38] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:42:38] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:38] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:42:38] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:42:38] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:42:39] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:39] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:40] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:42:40] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:40] HELLO → sent (cached token, role=query) [18:42:40] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:40] [WS] Query connection failed - cleaning up all agent connections and views [18:42:40] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:40] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:40] [CLEANUP] ======================================== [18:42:40] [CLEANUP] Cleaning up all agent connections and views [18:42:40] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:40] [CLEANUP] Stopped and removed 0 video connections [18:42:40] [CLEANUP] Removed 0 video views [18:42:40] [CLEANUP] Removed 0 feed scroll views [18:42:40] [CLEANUP] Removed 0 status labels [18:42:40] [CLEANUP] Reset agent query state [18:42:40] [CLEANUP] Updated page indicator [18:42:40] [CLEANUP] Rebuilt video layout [18:42:40] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:40] [CLEANUP] ======================================== [18:42:40] [SERVER] Starting reconnect polling (5s interval) [18:42:40] [CLEANUP] ======================================== [18:42:40] [CLEANUP] Cleaning up all agent connections and views [18:42:40] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:40] [CLEANUP] Stopped and removed 0 video connections [18:42:40] [CLEANUP] Removed 0 video views [18:42:40] [CLEANUP] Removed 0 feed scroll views [18:42:40] [CLEANUP] Removed 0 status labels [18:42:40] [CLEANUP] Reset agent query state [18:42:40] [CLEANUP] Updated page indicator [18:42:40] [CLEANUP] Rebuilt video layout [18:42:40] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:40] [CLEANUP] ======================================== [18:42:40] [SERVER] Starting reconnect polling (5s interval) [18:42:40] [CLIENT_SIG] Event received: type=3 messageId=23838 [18:42:40] [WS_EVENT] Received event: type=3, messageId=23838 [18:42:40] [WS_EVENT] Read receipt for message 23838 by Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [18:42:41] [PUSH] Silent push received [18:42:41] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:41 +0000, appState=0, message_id=nil [18:42:41] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:41 +0000 [18:42:41] [PUSH_EMBED] No embedded message_data in notification [18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [18:42:41] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829], handled=false [18:42:41] [PUSH] No embedded data, pre-loading messages from server [18:42:41] [PUSH_PRELOAD] Fetching messages for instant display cache [18:42:41] [CLIENT_SIG] Event received: type=3 messageId=23837 [18:42:41] [WS_EVENT] Received event: type=3, messageId=23837 [18:42:41] [WS_EVENT] Read receipt for message 23837 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:42:41] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [18:42:41] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [23788, 23787] [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=2, IDs=[23788, 23787] [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push) [18:42:41] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:42:41] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23838] [18:42:41] [PUSH] Parsed message_id: 23838 [18:42:41] [PUSH] Parsed operation_type: 3 [18:42:41] [PUSH] Taking direct action: opType=3, messageId=23838 [18:42:41] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23838 [18:42:41] [PUSH] Silent push received [18:42:41] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:42:41 +0000, appState=0, message_id=nil [18:42:41] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:42:41 +0000 [18:42:41] [PUSH_EMBED] No embedded message_data in notification [18:42:41] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [18:42:41] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829], handled=false [18:42:41] [PUSH] No embedded data, pre-loading messages from server [18:42:41] [PUSH_PRELOAD] Fetching messages for instant display cache [18:42:41] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [18:42:41] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PRELOAD_CACHE] Preserving 2 push-inserted messages: [23788, 23787] [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=2, IDs=[23788, 23787] [18:42:41] [PUSH_TRACE] 🔀 mergeMessages: merged.count=52, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH_PRELOAD] ⚡ Pre-cached 52 messages for instant display (preserved 2 from push) [18:42:41] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:42:41] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:41] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23837] [18:42:41] [PUSH] Parsed message_id: 23837 [18:42:41] [PUSH] Parsed operation_type: 3 [18:42:41] [PUSH] Taking direct action: opType=3, messageId=23837 [18:42:41] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23837 [18:42:41] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:41] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:42] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:42] HELLO → sent (cached token, role=query) [18:42:42] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:42] [WS] Query connection failed - cleaning up all agent connections and views [18:42:42] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:42] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:42] [CLEANUP] ======================================== [18:42:42] [CLEANUP] Cleaning up all agent connections and views [18:42:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:42] [CLEANUP] Stopped and removed 0 video connections [18:42:42] [CLEANUP] Removed 0 video views [18:42:42] [CLEANUP] Removed 0 feed scroll views [18:42:42] [CLEANUP] Removed 0 status labels [18:42:42] [CLEANUP] Reset agent query state [18:42:42] [CLEANUP] Updated page indicator [18:42:42] [CLEANUP] Rebuilt video layout [18:42:42] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:42] [CLEANUP] ======================================== [18:42:42] [SERVER] Starting reconnect polling (5s interval) [18:42:42] [CLEANUP] ======================================== [18:42:42] [CLEANUP] Cleaning up all agent connections and views [18:42:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:42] [CLEANUP] Stopped and removed 0 video connections [18:42:42] [CLEANUP] Removed 0 video views [18:42:42] [CLEANUP] Removed 0 feed scroll views [18:42:42] [CLEANUP] Removed 0 status labels [18:42:42] [CLEANUP] Reset agent query state [18:42:42] [CLEANUP] Updated page indicator [18:42:42] [CLEANUP] Rebuilt video layout [18:42:42] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:42] [CLEANUP] ======================================== [18:42:42] [SERVER] Starting reconnect polling (5s interval) [18:42:42] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [18:42:42] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [18:42:43] [LIFECYCLE] App resigning active - cleared crash flag [18:42:43] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:42:43] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:42:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:42:44] HELLO → sent (cached token, role=query) [18:42:44] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:42:44] [WS] Query connection failed - cleaning up all agent connections and views [18:42:44] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:42:44] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:42:44] [CLEANUP] ======================================== [18:42:44] [CLEANUP] Cleaning up all agent connections and views [18:42:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:44] [CLEANUP] Stopped and removed 0 video connections [18:42:44] [CLEANUP] Removed 0 video views [18:42:44] [CLEANUP] Removed 0 feed scroll views [18:42:44] [CLEANUP] Removed 0 status labels [18:42:44] [CLEANUP] Reset agent query state [18:42:44] [CLEANUP] Updated page indicator [18:42:44] [CLEANUP] Rebuilt video layout [18:42:44] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:44] [CLEANUP] ======================================== [18:42:44] [SERVER] Starting reconnect polling (5s interval) [18:42:44] [CLEANUP] ======================================== [18:42:44] [CLEANUP] Cleaning up all agent connections and views [18:42:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:42:44] [CLEANUP] Stopped and removed 0 video connections [18:42:44] [CLEANUP] Removed 0 video views [18:42:44] [CLEANUP] Removed 0 feed scroll views [18:42:44] [CLEANUP] Removed 0 status labels [18:42:44] [CLEANUP] Reset agent query state [18:42:44] [CLEANUP] Updated page indicator [18:42:44] [CLEANUP] Rebuilt video layout [18:42:44] [CLEANUP] ✅ All agent connections and views cleaned up [18:42:44] [CLEANUP] ======================================== [18:42:44] [SERVER] Starting reconnect polling (5s interval) [18:42:44] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:42:44] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:42:44] [SECURITY] Saved background timestamp [18:42:44] [LIFECYCLE] App entering background - cleared crash flag [18:42:44] [CLIENT_SIG] Disconnecting [18:42:44] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:42:44] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:42:44] [PUSH_TRACE] 💤 BACKGROUND: memory has 102 messages, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:42:44] [LIFECYCLE] Background snapshot: count=102, maxId=23838 [18:42:44] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [18:42:44] [WS] Canceling WebSocket for query connection to iosILUIWU [18:42:44] In cleanupPeer [18:42:44] In cleanupPeer [18:42:44] [LIFECYCLE] WebRTC audio disabled [18:42:44] [LIFECYCLE] AVAudioSession deactivated [18:42:44] [LIFECYCLE] All connections stopped [18:42:44] [CLIENT_SIG] WebSocket closed with code 1001 [18:42:44] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:42:44] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:42:44] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:42:44] [SERVER] Stopped reconnect polling [18:42:44] [WS] URLSession invalidated successfully [18:42:44] Will request stop of video 0 [18:42:44] Will request stop of video 0 [18:42:44] [PIP] Removing 0 tracks from PiP for connection 0 [18:42:44] [PIP] ✅ All tracks removed for connection 0 [18:42:44] [PIP] Removing 0 tracks from PiP for connection 0 [18:42:44] [PIP] ✅ All tracks removed for connection 0 [18:44:07] [SECURITY] Timeout check: elapsed=83.27184510231018s, timeout=300.0s [18:44:07] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:44:07] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:44:07] [LIFECYCLE] App entering foreground - restoring connections [18:44:07] [PUSH_TRACE] 🔄 FOREGROUND: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:07] [PUSH_TRACE] 🔄 FOREGROUND: cache has 52 msgs, valid=true, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:07] [UPLOAD_RETRY] No pending uploads to retry [18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:44:07] [READBY_OPT] No message IDs to fetch - skipping server call [18:44:07] [LIFECYCLE] WebRTC audio re-enabled [18:44:07] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:44:07] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:44:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:44:07] [VIEWER] Reconnecting after background - querying agents [18:44:07] [FOREGROUND] 📶 Network available - retrying 1 pending messages: [-8] [18:44:07] [RETRY] 🔄 Retrying 1 pending messages... [18:44:07] [RETRY] ⚠️ Message -8 not found in memory, removing from pending [18:44:07] [UNSENT_RETRY] Checking for unsent messages... (excluding 1 already-retrying: [-8]) [18:44:07] [PENDING_UPLOAD] Total pending upload messages: 0 [18:44:07] [UNSENT_RETRY] No unsent messages found [18:44:07] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:07] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:44:07] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data [18:44:07] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=102>102=false, maxId=23838>23838=false, shouldScroll=false [18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:44:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:44:07] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [18:44:07] [SECURITY] Within timeout - cleared background flag [18:44:07] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:44:07] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 102 msgs, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:07] [PUSH] handlePollEventsNotification userInfo: [:] [18:44:07] [PUSH] No message_id in userInfo [18:44:07] [PUSH] No operation_type in userInfo [18:44:07] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:44:07] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:07] [PUSH_TRACE] 📬 POLL: memory state: count=102, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:07] [FAST_REFRESH] Already have 102 messages in memory [18:44:07] [FAST_REFRESH] maxMemoryId=23838, maxLocalId=23838 [18:44:07] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:44:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:44:07] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:44:07] [READBY_OPT] No message IDs to fetch - skipping server call [18:44:07] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=102 [18:44:07] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23838, maxMemoryId=23838 [18:44:07] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23838 [18:44:07] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [18:44:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=102 [18:44:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:44:08] [CLIENT_SIG] WebSocket opened [18:44:08] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:44:08] [CLIENT_SIG] Connected! clientId=xvfr34sHfwrb3bjp [18:44:08] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=16 [18:44:08] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=102, first5Ids=[23838, 23837, 23836, 23835, 23834] [18:44:08] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 102 messages [18:44:08] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:08] [RELOAD_TAB] 📊 Building chatRows from 102 messages [18:44:08] [RELOAD_TAB] 📊 Built 104 chatRows, estHeight=60.0 [18:44:08] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:44:08] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:44:08] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:44:08] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:08] HELLO → sent (cached token, role=query) [18:44:08] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:08] [WS] Query connection failed - cleaning up all agent connections and views [18:44:08] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:08] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:08] [CLEANUP] ======================================== [18:44:08] [CLEANUP] Cleaning up all agent connections and views [18:44:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:08] [CLEANUP] Stopped and removed 0 video connections [18:44:08] [CLEANUP] Removed 0 video views [18:44:08] [CLEANUP] Removed 0 feed scroll views [18:44:08] [CLEANUP] Removed 0 status labels [18:44:08] [CLEANUP] Reset agent query state [18:44:08] [CLEANUP] Updated page indicator [18:44:08] [CLEANUP] Rebuilt video layout [18:44:08] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:08] [CLEANUP] ======================================== [18:44:08] [SERVER] Starting reconnect polling (5s interval) [18:44:08] [CLEANUP] ======================================== [18:44:08] [CLEANUP] Cleaning up all agent connections and views [18:44:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:08] [CLEANUP] Stopped and removed 0 video connections [18:44:08] [CLEANUP] Removed 0 video views [18:44:08] [CLEANUP] Removed 0 feed scroll views [18:44:08] [CLEANUP] Removed 0 status labels [18:44:08] [CLEANUP] Reset agent query state [18:44:08] [CLEANUP] Updated page indicator [18:44:08] [CLEANUP] Rebuilt video layout [18:44:08] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:08] [CLEANUP] ======================================== [18:44:08] [SERVER] Starting reconnect polling (5s interval) [18:44:08] [INCREMENTAL_SYNC] ✅ Found 1 new messages [18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23839] [18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 102 msgs, first 10 IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23839 [18:44:08] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 103, first 10 IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:08] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1 [18:44:08] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=103 [18:44:08] [FAST_REFRESH] Incremental sync complete - 103 messages [18:44:08] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8 [18:44:08] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=103, first5Ids=[23839, 23838, 23837, 23836, 23835] [18:44:08] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 103 messages [18:44:08] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:08] [RELOAD_TAB] 📊 Building chatRows from 103 messages [18:44:08] [RELOAD_TAB] 📊 Built 105 chatRows, estHeight=60.0 [18:44:08] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23838 → 23839 [18:44:08] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9 [18:44:08] [SCROLL] 💓 alive, visible=97...104, rows=105, estHeight=60.0, heightCalls=20 [18:44:08] [MENU] dismissAnyExistingMenu called [18:44:08] [MENU] dismissAnyExistingMenu completed [18:44:09] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:09] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:10] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:10] HELLO → sent (cached token, role=query) [18:44:10] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:10] [WS] Query connection failed - cleaning up all agent connections and views [18:44:10] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:10] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:10] [CLEANUP] ======================================== [18:44:10] [CLEANUP] Cleaning up all agent connections and views [18:44:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:10] [CLEANUP] Stopped and removed 0 video connections [18:44:10] [CLEANUP] Removed 0 video views [18:44:10] [CLEANUP] Removed 0 feed scroll views [18:44:10] [CLEANUP] Removed 0 status labels [18:44:10] [CLEANUP] Reset agent query state [18:44:10] [CLEANUP] Updated page indicator [18:44:10] [CLEANUP] Rebuilt video layout [18:44:10] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:10] [CLEANUP] ======================================== [18:44:10] [SERVER] Starting reconnect polling (5s interval) [18:44:10] [CLEANUP] ======================================== [18:44:10] [CLEANUP] Cleaning up all agent connections and views [18:44:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:10] [CLEANUP] Stopped and removed 0 video connections [18:44:10] [CLEANUP] Removed 0 video views [18:44:10] [CLEANUP] Removed 0 feed scroll views [18:44:10] [CLEANUP] Removed 0 status labels [18:44:10] [CLEANUP] Reset agent query state [18:44:10] [CLEANUP] Updated page indicator [18:44:10] [CLEANUP] Rebuilt video layout [18:44:10] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:10] [CLEANUP] ======================================== [18:44:10] [SERVER] Starting reconnect polling (5s interval) [18:44:11] [CLIENT_SIG] Event received: type=3 messageId=23839 [18:44:11] [WS_EVENT] Received event: type=3, messageId=23839 [18:44:11] [WS_EVENT] Read receipt for message 23839 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:44:11] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:11] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:11] [PUSH] Silent push received [18:44:11] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 17:44:11 +0000, appState=0, message_id=nil [18:44:11] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:11] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 17:44:11 +0000 [18:44:11] [PUSH_EMBED] No embedded message_data in notification [18:44:11] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [18:44:11] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829], handled=false [18:44:11] [PUSH] No embedded data, pre-loading messages from server [18:44:11] [PUSH_PRELOAD] Fetching messages for instant display cache [18:44:11] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [18:44:11] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [18:44:11] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:11] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=52, IDs=[23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830, 23829] [18:44:11] [PRELOAD_CACHE] Preserving 3 push-inserted messages: [23789, 23788, 23787] [18:44:11] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=3, IDs=[23789, 23788, 23787] [18:44:11] [PUSH_TRACE] 🔀 mergeMessages: merged.count=53, first 10 IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:11] [PUSH_PRELOAD] ⚡ Pre-cached 53 messages for instant display (preserved 3 from push) [18:44:11] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [18:44:11] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 103 msgs, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:11] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23839, AnyHashable("session_id"): ILUIWU] [18:44:11] [PUSH] Parsed message_id: 23839 [18:44:11] [PUSH] Parsed operation_type: 3 [18:44:11] [PUSH] Taking direct action: opType=3, messageId=23839 [18:44:11] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23839 [18:44:11] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:11] HELLO → sent (cached token, role=query) [18:44:12] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:12] [WS] Query connection failed - cleaning up all agent connections and views [18:44:12] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:12] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:12] [CLEANUP] ======================================== [18:44:12] [CLEANUP] Cleaning up all agent connections and views [18:44:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:12] [CLEANUP] Stopped and removed 0 video connections [18:44:12] [CLEANUP] Removed 0 video views [18:44:12] [CLEANUP] Removed 0 feed scroll views [18:44:12] [CLEANUP] Removed 0 status labels [18:44:12] [CLEANUP] Reset agent query state [18:44:12] [CLEANUP] Updated page indicator [18:44:12] [CLEANUP] Rebuilt video layout [18:44:12] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:12] [CLEANUP] ======================================== [18:44:12] [SERVER] Starting reconnect polling (5s interval) [18:44:12] [CLEANUP] ======================================== [18:44:12] [CLEANUP] Cleaning up all agent connections and views [18:44:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:12] [CLEANUP] Stopped and removed 0 video connections [18:44:12] [CLEANUP] Removed 0 video views [18:44:12] [CLEANUP] Removed 0 feed scroll views [18:44:12] [CLEANUP] Removed 0 status labels [18:44:12] [CLEANUP] Reset agent query state [18:44:12] [CLEANUP] Updated page indicator [18:44:12] [CLEANUP] Rebuilt video layout [18:44:12] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:12] [CLEANUP] ======================================== [18:44:12] [SERVER] Starting reconnect polling (5s interval) [18:44:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:13] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:13] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:13] HELLO → sent (cached token, role=query) [18:44:13] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:13] [WS] Query connection failed - cleaning up all agent connections and views [18:44:13] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:13] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:13] [CLEANUP] ======================================== [18:44:13] [CLEANUP] Cleaning up all agent connections and views [18:44:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:13] [CLEANUP] Stopped and removed 0 video connections [18:44:13] [CLEANUP] Removed 0 video views [18:44:13] [CLEANUP] Removed 0 feed scroll views [18:44:13] [CLEANUP] Removed 0 status labels [18:44:13] [CLEANUP] Reset agent query state [18:44:13] [CLEANUP] Updated page indicator [18:44:13] [CLEANUP] Rebuilt video layout [18:44:13] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:13] [CLEANUP] ======================================== [18:44:13] [SERVER] Starting reconnect polling (5s interval) [18:44:13] [CLEANUP] ======================================== [18:44:13] [CLEANUP] Cleaning up all agent connections and views [18:44:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:13] [CLEANUP] Stopped and removed 0 video connections [18:44:13] [CLEANUP] Removed 0 video views [18:44:13] [CLEANUP] Removed 0 feed scroll views [18:44:13] [CLEANUP] Removed 0 status labels [18:44:13] [CLEANUP] Reset agent query state [18:44:13] [CLEANUP] Updated page indicator [18:44:13] [CLEANUP] Rebuilt video layout [18:44:13] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:13] [CLEANUP] ======================================== [18:44:13] [SERVER] Starting reconnect polling (5s interval) [18:44:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:15] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:15] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:15] HELLO → sent (cached token, role=query) [18:44:15] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:15] [WS] Query connection failed - cleaning up all agent connections and views [18:44:15] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:15] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:15] [CLEANUP] ======================================== [18:44:15] [CLEANUP] Cleaning up all agent connections and views [18:44:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:15] [CLEANUP] Stopped and removed 0 video connections [18:44:15] [CLEANUP] Removed 0 video views [18:44:15] [CLEANUP] Removed 0 feed scroll views [18:44:15] [CLEANUP] Removed 0 status labels [18:44:15] [CLEANUP] Reset agent query state [18:44:15] [CLEANUP] Updated page indicator [18:44:15] [CLEANUP] Rebuilt video layout [18:44:15] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:15] [CLEANUP] ======================================== [18:44:15] [SERVER] Starting reconnect polling (5s interval) [18:44:15] [CLEANUP] ======================================== [18:44:15] [CLEANUP] Cleaning up all agent connections and views [18:44:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:15] [CLEANUP] Stopped and removed 0 video connections [18:44:15] [CLEANUP] Removed 0 video views [18:44:15] [CLEANUP] Removed 0 feed scroll views [18:44:15] [CLEANUP] Removed 0 status labels [18:44:15] [CLEANUP] Reset agent query state [18:44:15] [CLEANUP] Updated page indicator [18:44:15] [CLEANUP] Rebuilt video layout [18:44:15] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:15] [CLEANUP] ======================================== [18:44:15] [SERVER] Starting reconnect polling (5s interval) [18:44:17] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:17] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:17] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:17] HELLO → sent (cached token, role=query) [18:44:17] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:17] [WS] Query connection failed - cleaning up all agent connections and views [18:44:17] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:17] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:17] [CLEANUP] ======================================== [18:44:17] [CLEANUP] Cleaning up all agent connections and views [18:44:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:17] [CLEANUP] Stopped and removed 0 video connections [18:44:17] [CLEANUP] Removed 0 video views [18:44:17] [CLEANUP] Removed 0 feed scroll views [18:44:17] [CLEANUP] Removed 0 status labels [18:44:17] [CLEANUP] Reset agent query state [18:44:17] [CLEANUP] Updated page indicator [18:44:17] [CLEANUP] Rebuilt video layout [18:44:17] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:17] [CLEANUP] ======================================== [18:44:17] [SERVER] Starting reconnect polling (5s interval) [18:44:17] [CLEANUP] ======================================== [18:44:17] [CLEANUP] Cleaning up all agent connections and views [18:44:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:17] [CLEANUP] Stopped and removed 0 video connections [18:44:17] [CLEANUP] Removed 0 video views [18:44:17] [CLEANUP] Removed 0 feed scroll views [18:44:17] [CLEANUP] Removed 0 status labels [18:44:17] [CLEANUP] Reset agent query state [18:44:17] [CLEANUP] Updated page indicator [18:44:17] [CLEANUP] Rebuilt video layout [18:44:17] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:17] [CLEANUP] ======================================== [18:44:17] [SERVER] Starting reconnect polling (5s interval) [18:44:19] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:19] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:19] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:19] HELLO → sent (cached token, role=query) [18:44:19] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:19] [WS] Query connection failed - cleaning up all agent connections and views [18:44:19] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:19] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:19] [CLEANUP] ======================================== [18:44:19] [CLEANUP] Cleaning up all agent connections and views [18:44:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:19] [CLEANUP] Stopped and removed 0 video connections [18:44:19] [CLEANUP] Removed 0 video views [18:44:19] [CLEANUP] Removed 0 feed scroll views [18:44:19] [CLEANUP] Removed 0 status labels [18:44:19] [CLEANUP] Reset agent query state [18:44:19] [CLEANUP] Updated page indicator [18:44:19] [CLEANUP] Rebuilt video layout [18:44:19] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:19] [CLEANUP] ======================================== [18:44:19] [SERVER] Starting reconnect polling (5s interval) [18:44:19] [CLEANUP] ======================================== [18:44:19] [CLEANUP] Cleaning up all agent connections and views [18:44:19] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:19] [CLEANUP] Stopped and removed 0 video connections [18:44:19] [CLEANUP] Removed 0 video views [18:44:19] [CLEANUP] Removed 0 feed scroll views [18:44:19] [CLEANUP] Removed 0 status labels [18:44:19] [CLEANUP] Reset agent query state [18:44:19] [CLEANUP] Updated page indicator [18:44:19] [CLEANUP] Rebuilt video layout [18:44:19] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:19] [CLEANUP] ======================================== [18:44:19] [SERVER] Starting reconnect polling (5s interval) [18:44:21] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:21] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:21] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:21] HELLO → sent (cached token, role=query) [18:44:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:21] [WS] Query connection failed - cleaning up all agent connections and views [18:44:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:21] [CLEANUP] ======================================== [18:44:21] [CLEANUP] Cleaning up all agent connections and views [18:44:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:21] [CLEANUP] Stopped and removed 0 video connections [18:44:21] [CLEANUP] Removed 0 video views [18:44:21] [CLEANUP] Removed 0 feed scroll views [18:44:21] [CLEANUP] Removed 0 status labels [18:44:21] [CLEANUP] Reset agent query state [18:44:21] [CLEANUP] Updated page indicator [18:44:21] [CLEANUP] Rebuilt video layout [18:44:21] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:21] [CLEANUP] ======================================== [18:44:21] [SERVER] Starting reconnect polling (5s interval) [18:44:21] [CLEANUP] ======================================== [18:44:21] [CLEANUP] Cleaning up all agent connections and views [18:44:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:21] [CLEANUP] Stopped and removed 0 video connections [18:44:21] [CLEANUP] Removed 0 video views [18:44:21] [CLEANUP] Removed 0 feed scroll views [18:44:21] [CLEANUP] Removed 0 status labels [18:44:21] [CLEANUP] Reset agent query state [18:44:21] [CLEANUP] Updated page indicator [18:44:21] [CLEANUP] Rebuilt video layout [18:44:21] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:21] [CLEANUP] ======================================== [18:44:21] [SERVER] Starting reconnect polling (5s interval) [18:44:23] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:23] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:23] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:23] HELLO → sent (cached token, role=query) [18:44:23] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:23] [WS] Query connection failed - cleaning up all agent connections and views [18:44:23] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:23] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:23] [CLEANUP] ======================================== [18:44:23] [CLEANUP] Cleaning up all agent connections and views [18:44:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:23] [CLEANUP] Stopped and removed 0 video connections [18:44:23] [CLEANUP] Removed 0 video views [18:44:23] [CLEANUP] Removed 0 feed scroll views [18:44:23] [CLEANUP] Removed 0 status labels [18:44:23] [CLEANUP] Reset agent query state [18:44:23] [CLEANUP] Updated page indicator [18:44:23] [CLEANUP] Rebuilt video layout [18:44:23] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:23] [CLEANUP] ======================================== [18:44:23] [SERVER] Starting reconnect polling (5s interval) [18:44:23] [CLEANUP] ======================================== [18:44:23] [CLEANUP] Cleaning up all agent connections and views [18:44:23] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:23] [CLEANUP] Stopped and removed 0 video connections [18:44:23] [CLEANUP] Removed 0 video views [18:44:23] [CLEANUP] Removed 0 feed scroll views [18:44:23] [CLEANUP] Removed 0 status labels [18:44:23] [CLEANUP] Reset agent query state [18:44:23] [CLEANUP] Updated page indicator [18:44:23] [CLEANUP] Rebuilt video layout [18:44:23] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:23] [CLEANUP] ======================================== [18:44:23] [SERVER] Starting reconnect polling (5s interval) [18:44:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:24] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:25] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:25] HELLO → sent (cached token, role=query) [18:44:25] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:25] [WS] Query connection failed - cleaning up all agent connections and views [18:44:25] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:25] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:25] [CLEANUP] ======================================== [18:44:25] [CLEANUP] Cleaning up all agent connections and views [18:44:25] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:25] [CLEANUP] Stopped and removed 0 video connections [18:44:25] [CLEANUP] Removed 0 video views [18:44:25] [CLEANUP] Removed 0 feed scroll views [18:44:25] [CLEANUP] Removed 0 status labels [18:44:25] [CLEANUP] Reset agent query state [18:44:25] [CLEANUP] Updated page indicator [18:44:25] [CLEANUP] Rebuilt video layout [18:44:25] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:25] [CLEANUP] ======================================== [18:44:25] [SERVER] Starting reconnect polling (5s interval) [18:44:25] [CLEANUP] ======================================== [18:44:25] [CLEANUP] Cleaning up all agent connections and views [18:44:25] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:25] [CLEANUP] Stopped and removed 0 video connections [18:44:25] [CLEANUP] Removed 0 video views [18:44:25] [CLEANUP] Removed 0 feed scroll views [18:44:25] [CLEANUP] Removed 0 status labels [18:44:25] [CLEANUP] Reset agent query state [18:44:25] [CLEANUP] Updated page indicator [18:44:25] [CLEANUP] Rebuilt video layout [18:44:25] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:25] [CLEANUP] ======================================== [18:44:25] [SERVER] Starting reconnect polling (5s interval) [18:44:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:26] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:27] HELLO → sent (cached token, role=query) [18:44:27] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:27] [WS] Query connection failed - cleaning up all agent connections and views [18:44:27] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:27] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:27] [CLEANUP] ======================================== [18:44:27] [CLEANUP] Cleaning up all agent connections and views [18:44:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:27] [CLEANUP] Stopped and removed 0 video connections [18:44:27] [CLEANUP] Removed 0 video views [18:44:27] [CLEANUP] Removed 0 feed scroll views [18:44:27] [CLEANUP] Removed 0 status labels [18:44:27] [CLEANUP] Reset agent query state [18:44:27] [CLEANUP] Updated page indicator [18:44:27] [CLEANUP] Rebuilt video layout [18:44:27] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:27] [CLEANUP] ======================================== [18:44:27] [SERVER] Starting reconnect polling (5s interval) [18:44:27] [CLEANUP] ======================================== [18:44:27] [CLEANUP] Cleaning up all agent connections and views [18:44:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:27] [CLEANUP] Stopped and removed 0 video connections [18:44:27] [CLEANUP] Removed 0 video views [18:44:27] [CLEANUP] Removed 0 feed scroll views [18:44:27] [CLEANUP] Removed 0 status labels [18:44:27] [CLEANUP] Reset agent query state [18:44:27] [CLEANUP] Updated page indicator [18:44:27] [CLEANUP] Rebuilt video layout [18:44:27] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:27] [CLEANUP] ======================================== [18:44:27] [SERVER] Starting reconnect polling (5s interval) [18:44:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:28] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:29] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:29] HELLO → sent (cached token, role=query) [18:44:29] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:29] [WS] Query connection failed - cleaning up all agent connections and views [18:44:29] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:29] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:29] [CLEANUP] ======================================== [18:44:29] [CLEANUP] Cleaning up all agent connections and views [18:44:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:29] [CLEANUP] Stopped and removed 0 video connections [18:44:29] [CLEANUP] Removed 0 video views [18:44:29] [CLEANUP] Removed 0 feed scroll views [18:44:29] [CLEANUP] Removed 0 status labels [18:44:29] [CLEANUP] Reset agent query state [18:44:29] [CLEANUP] Updated page indicator [18:44:29] [CLEANUP] Rebuilt video layout [18:44:29] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:29] [CLEANUP] ======================================== [18:44:29] [SERVER] Starting reconnect polling (5s interval) [18:44:29] [CLEANUP] ======================================== [18:44:29] [CLEANUP] Cleaning up all agent connections and views [18:44:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:29] [CLEANUP] Stopped and removed 0 video connections [18:44:29] [CLEANUP] Removed 0 video views [18:44:29] [CLEANUP] Removed 0 feed scroll views [18:44:29] [CLEANUP] Removed 0 status labels [18:44:29] [CLEANUP] Reset agent query state [18:44:29] [CLEANUP] Updated page indicator [18:44:29] [CLEANUP] Rebuilt video layout [18:44:29] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:29] [CLEANUP] ======================================== [18:44:29] [SERVER] Starting reconnect polling (5s interval) [18:44:29] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [18:44:29] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=103, isReloading=false [18:44:29] [SEND_MESSAGE] ✅ Added optimistic message id=-9 to arrays, newMsgCount=104 [18:44:29] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:44:29] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[-9, 23839, 23838, 23837, 23836] [18:44:29] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:44:29] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:29] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:44:29] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:44:29] [SCROLL] 💓 alive, visible=98...104, rows=106, estHeight=60.0, heightCalls=8 [18:44:29] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [18:44:29] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [18:44:29] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [18:44:30] [LIFECYCLE] App resigning active - cleared crash flag [18:44:30] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:30] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:30] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:44:30] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:44:30] [SECURITY] Saved background timestamp [18:44:30] [LIFECYCLE] App entering background - cleared crash flag [18:44:30] [CLIENT_SIG] Disconnecting [18:44:30] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:44:30] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:44:30] [PUSH_TRACE] 💤 BACKGROUND: memory has 104 messages, first 10 IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:30] [LIFECYCLE] Background snapshot: count=104, maxId=23839 [18:44:30] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0 [18:44:30] [WS] Canceling WebSocket for query connection to iosILUIWU [18:44:30] In cleanupPeer [18:44:30] In cleanupPeer [18:44:30] [LIFECYCLE] WebRTC audio disabled [18:44:30] [LIFECYCLE] AVAudioSession deactivated [18:44:30] [LIFECYCLE] All connections stopped [18:44:31] [CLIENT_SIG] WebSocket closed with code 1001 [18:44:31] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:44:31] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:44:31] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:44:31] [SERVER] Stopped reconnect polling [18:44:31] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled [18:44:31] [WS] Query connection error - cleaning up all agent connections and views [18:44:31] Will request stop of video 0 [18:44:31] [WS] Connection failed: cancelled [18:44:31] [WS] Query connection failed - cleaning up all agent connections and views [18:44:31] Will request stop of video 0 [18:44:31] [CLEANUP] ======================================== [18:44:31] [CLEANUP] Cleaning up all agent connections and views [18:44:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:31] [CLEANUP] Stopped and removed 0 video connections [18:44:31] [CLEANUP] Removed 0 video views [18:44:31] [CLEANUP] Removed 0 feed scroll views [18:44:31] [CLEANUP] Removed 0 status labels [18:44:31] [CLEANUP] Reset agent query state [18:44:31] [CLEANUP] Updated page indicator [18:44:31] [CLEANUP] Rebuilt video layout [18:44:31] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:31] [CLEANUP] ======================================== [18:44:31] [SERVER] Skipping reconnect polling - app is in background [18:44:31] [WS] URLSession invalidated successfully [18:44:31] [PIP] Removing 0 tracks from PiP for connection 0 [18:44:31] [PIP] ✅ All tracks removed for connection 0 [18:44:31] [CLEANUP] ======================================== [18:44:31] [CLEANUP] Cleaning up all agent connections and views [18:44:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:31] [CLEANUP] Stopped and removed 0 video connections [18:44:31] [CLEANUP] Removed 0 video views [18:44:31] [CLEANUP] Removed 0 feed scroll views [18:44:31] [CLEANUP] Removed 0 status labels [18:44:31] [CLEANUP] Reset agent query state [18:44:31] [CLEANUP] Updated page indicator [18:44:31] [CLEANUP] Rebuilt video layout [18:44:31] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:31] [CLEANUP] ======================================== [18:44:31] [SERVER] Skipping reconnect polling - app is in background [18:44:31] [PIP] Removing 0 tracks from PiP for connection 0 [18:44:31] [PIP] ✅ All tracks removed for connection 0 [18:44:43] [SECURITY] Timeout check: elapsed=12.400290966033936s, timeout=300.0s [18:44:43] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:44:43] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:44:43] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x12ed3a9a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <48E43A85-EA89-4501-B89A-45AC44D16A8C>.<125>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <48E43A85-EA89-4501-B89A-45AC44D16A8C>.<125>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} [18:44:43] [LIFECYCLE] App entering foreground - restoring connections [18:44:43] [PUSH_TRACE] 🔄 FOREGROUND: memory has 104 msgs, IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:43] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:43] [UPLOAD_RETRY] No pending uploads to retry [18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:43] [READBY_OPT] No message IDs to fetch - skipping server call [18:44:43] [LIFECYCLE] WebRTC audio re-enabled [18:44:43] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:44:43] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:44:43] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:44:43] [VIEWER] Reconnecting after background - querying agents [18:44:43] [UNSENT_RETRY] Checking for unsent messages... [18:44:43] [PENDING_UPLOAD] Found pending message: id=-9, file=, uploadStatus=0, sendStatus=1 [18:44:43] [PENDING_UPLOAD] Total pending upload messages: 1 [18:44:43] [UNSENT_RETRY] No unsent messages found [18:44:43] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:43] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:43] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:44:43] [CHAT] Network error detected - queuing for retry [18:44:43] [SEND_STATUS] 💾 Updating DB: messageId=-9, status=3 (pending_retry) [18:44:43] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-9 [18:44:43] [SEND_STATUS] ⏳ Message -9 marked as PENDING RETRY (waiting for network) [18:44:43] [SCROLL] 💓 alive, visible=99...105, rows=106, estHeight=60.0, heightCalls=20 [18:44:43] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data [18:44:43] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=104>104=false, maxId=23839>23839=false, shouldScroll=false [18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:44:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:44:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[-9, 23839, 23838, 23837, 23836] [18:44:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:44:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:43] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:44:43] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:44:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:44:43] [CLIENT_SIG] WebSocket opened [18:44:43] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:44:43] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [18:44:43] [SECURITY] Within timeout - cleared background flag [18:44:43] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:44:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:43] [PUSH] handlePollEventsNotification userInfo: [:] [18:44:43] [PUSH] No message_id in userInfo [18:44:43] [PUSH] No operation_type in userInfo [18:44:43] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:44:43] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:43] [PUSH_TRACE] 📬 POLL: memory state: count=104, first 10 IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:43] [FAST_REFRESH] Already have 104 messages in memory [18:44:43] [FAST_REFRESH] maxMemoryId=23839, maxLocalId=23839 [18:44:43] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:43] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:44:43] [READBY_OPT] No message IDs to fetch - skipping server call [18:44:43] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=104 [18:44:43] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23839, maxMemoryId=23839 [18:44:43] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23839 [18:44:43] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [18:44:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:44:43] [CLIENT_SIG] Connected! clientId=plxI985IkI0K1a5c [18:44:43] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:44:43] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:44:43] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:43] HELLO → sent (cached token, role=query) [18:44:43] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:43] [WS] Query connection failed - cleaning up all agent connections and views [18:44:43] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:43] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:43] [CLEANUP] ======================================== [18:44:43] [CLEANUP] Cleaning up all agent connections and views [18:44:43] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:43] [CLEANUP] Stopped and removed 0 video connections [18:44:43] [CLEANUP] Removed 0 video views [18:44:43] [CLEANUP] Removed 0 feed scroll views [18:44:43] [CLEANUP] Removed 0 status labels [18:44:43] [CLEANUP] Reset agent query state [18:44:43] [CLEANUP] Updated page indicator [18:44:43] [CLEANUP] Rebuilt video layout [18:44:43] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:43] [CLEANUP] ======================================== [18:44:43] [SERVER] Starting reconnect polling (5s interval) [18:44:43] [CLEANUP] ======================================== [18:44:43] [CLEANUP] Cleaning up all agent connections and views [18:44:43] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:43] [CLEANUP] Stopped and removed 0 video connections [18:44:43] [CLEANUP] Removed 0 video views [18:44:43] [CLEANUP] Removed 0 feed scroll views [18:44:43] [CLEANUP] Removed 0 status labels [18:44:43] [CLEANUP] Reset agent query state [18:44:43] [CLEANUP] Updated page indicator [18:44:43] [CLEANUP] Rebuilt video layout [18:44:43] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:43] [CLEANUP] ======================================== [18:44:43] [SERVER] Starting reconnect polling (5s interval) [18:44:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8 [18:44:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[-9, 23839, 23838, 23837, 23836] [18:44:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:44:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:43] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:44:43] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:44:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:44:44] [INCREMENTAL_SYNC] ✅ Found 1 new messages [18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: Server returned 1 new messages, IDs=[23840] [18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: BEFORE merge, memory has 104 msgs, first 10 IDs=[-9, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: Adding new message id=23840 [18:44:44] [INCREMENTAL_SYNC] Replaced optimistic message (id=-9) with server message (id=23840) [18:44:44] [PUSH_TRACE] 📡 INCREMENTAL: AFTER merge, added 1 new, total 104, first 10 IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:44] [BLACKOUT_DEBUG] blackoutView=nil, newMessages.count=1 [18:44:44] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:44] [FAST_REFRESH] Incremental sync complete - 104 messages [18:44:44] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8 [18:44:44] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836] [18:44:44] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:44:44] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:44] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:44:44] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:44:44] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:44:44] [PASTE] paste invoked; hasImages=false, hasStrings=true [18:44:45] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:45] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:45] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:45] HELLO → sent (cached token, role=query) [18:44:45] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:45] [WS] Query connection failed - cleaning up all agent connections and views [18:44:45] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:45] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:45] [CLEANUP] ======================================== [18:44:45] [CLEANUP] Cleaning up all agent connections and views [18:44:45] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:45] [CLEANUP] Stopped and removed 0 video connections [18:44:45] [CLEANUP] Removed 0 video views [18:44:45] [CLEANUP] Removed 0 feed scroll views [18:44:45] [CLEANUP] Removed 0 status labels [18:44:45] [CLEANUP] Reset agent query state [18:44:45] [CLEANUP] Updated page indicator [18:44:45] [CLEANUP] Rebuilt video layout [18:44:45] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:45] [CLEANUP] ======================================== [18:44:45] [SERVER] Starting reconnect polling (5s interval) [18:44:45] [CLEANUP] ======================================== [18:44:45] [CLEANUP] Cleaning up all agent connections and views [18:44:45] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:45] [CLEANUP] Stopped and removed 0 video connections [18:44:45] [CLEANUP] Removed 0 video views [18:44:45] [CLEANUP] Removed 0 feed scroll views [18:44:45] [CLEANUP] Removed 0 status labels [18:44:45] [CLEANUP] Reset agent query state [18:44:45] [CLEANUP] Updated page indicator [18:44:45] [CLEANUP] Rebuilt video layout [18:44:45] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:45] [CLEANUP] ======================================== [18:44:45] [SERVER] Starting reconnect polling (5s interval) [18:44:46] [LIFECYCLE] App resigning active - cleared crash flag [18:44:47] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:47] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:47] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:47] HELLO → sent (cached token, role=query) [18:44:47] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:47] [WS] Query connection failed - cleaning up all agent connections and views [18:44:47] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:47] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:47] [CLEANUP] ======================================== [18:44:47] [CLEANUP] Cleaning up all agent connections and views [18:44:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:47] [CLEANUP] Stopped and removed 0 video connections [18:44:47] [CLEANUP] Removed 0 video views [18:44:47] [CLEANUP] Removed 0 feed scroll views [18:44:47] [CLEANUP] Removed 0 status labels [18:44:47] [CLEANUP] Reset agent query state [18:44:47] [CLEANUP] Updated page indicator [18:44:47] [CLEANUP] Rebuilt video layout [18:44:47] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:47] [CLEANUP] ======================================== [18:44:47] [SERVER] Starting reconnect polling (5s interval) [18:44:47] [CLEANUP] ======================================== [18:44:47] [CLEANUP] Cleaning up all agent connections and views [18:44:47] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:47] [CLEANUP] Stopped and removed 0 video connections [18:44:47] [CLEANUP] Removed 0 video views [18:44:47] [CLEANUP] Removed 0 feed scroll views [18:44:47] [CLEANUP] Removed 0 status labels [18:44:47] [CLEANUP] Reset agent query state [18:44:47] [CLEANUP] Updated page indicator [18:44:47] [CLEANUP] Rebuilt video layout [18:44:47] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:47] [CLEANUP] ======================================== [18:44:47] [SERVER] Starting reconnect polling (5s interval) [18:44:48] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:44:48] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:44:48] [SECURITY] Saved background timestamp [18:44:48] [LIFECYCLE] App entering background - cleared crash flag [18:44:48] [CLIENT_SIG] Disconnecting [18:44:48] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:44:48] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:44:48] [PUSH_TRACE] 💤 BACKGROUND: memory has 104 messages, first 10 IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:48] [LIFECYCLE] Background snapshot: count=104, maxId=23840 [18:44:48] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [18:44:48] [WS] Canceling WebSocket for query connection to iosILUIWU [18:44:48] In cleanupPeer [18:44:48] In cleanupPeer [18:44:48] [LIFECYCLE] WebRTC audio disabled [18:44:48] [LIFECYCLE] AVAudioSession deactivated [18:44:48] [LIFECYCLE] All connections stopped [18:44:48] [CLIENT_SIG] WebSocket closed with code 1001 [18:44:48] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:44:48] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:44:48] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:44:48] [SERVER] Stopped reconnect polling [18:44:48] [WS] URLSession invalidated successfully [18:44:48] Will request stop of video 0 [18:44:48] Will request stop of video 0 [18:44:48] [PIP] Removing 0 tracks from PiP for connection 0 [18:44:48] [PIP] ✅ All tracks removed for connection 0 [18:44:48] [PIP] Removing 0 tracks from PiP for connection 0 [18:44:48] [PIP] ✅ All tracks removed for connection 0 [18:44:52] [SECURITY] Timeout check: elapsed=4.376995086669922s, timeout=300.0s [18:44:52] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:44:52] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:44:52] [LIFECYCLE] App entering foreground - restoring connections [18:44:52] [PUSH_TRACE] 🔄 FOREGROUND: memory has 104 msgs, IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:52] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:52] [UPLOAD_RETRY] No pending uploads to retry [18:44:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:52] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [18:44:52] [LIFECYCLE] WebRTC audio re-enabled [18:44:52] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:44:52] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:44:52] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:44:52] [VIEWER] Reconnecting after background - querying agents [18:44:52] [FOREGROUND] 📶 Network available - retrying 1 pending messages: [-9] [18:44:52] [RETRY] 🔄 Retrying 1 pending messages... [18:44:52] [RETRY] ⚠️ Message -9 not found in memory, removing from pending [18:44:52] [UNSENT_RETRY] Checking for unsent messages... (excluding 1 already-retrying: [-9]) [18:44:52] [PENDING_UPLOAD] Total pending upload messages: 0 [18:44:52] [UNSENT_RETRY] No unsent messages found [18:44:52] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:52] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:52] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:44:52] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=16 [18:44:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836] [18:44:52] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:44:52] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:52] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:44:52] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:44:52] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:44:52] [CLIENT_SIG] WebSocket opened [18:44:52] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:44:52] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [18:44:52] [SECURITY] Within timeout - cleared background flag [18:44:52] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:44:52] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 104 msgs, IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:52] [PUSH] handlePollEventsNotification userInfo: [:] [18:44:52] [PUSH] No message_id in userInfo [18:44:52] [PUSH] No operation_type in userInfo [18:44:52] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:44:52] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:44:52] [PUSH_TRACE] 📬 POLL: memory state: count=104, first 10 IDs=[23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:52] [FAST_REFRESH] Already have 104 messages in memory [18:44:52] [FAST_REFRESH] maxMemoryId=23840, maxLocalId=23840 [18:44:52] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:44:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:52] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:44:52] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [18:44:52] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=104 [18:44:52] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23840, maxMemoryId=23840 [18:44:52] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23840 [18:44:53] [CLIENT_SIG] Connected! clientId=aNOfcRMGSP1oLAI- [18:44:53] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:44:53] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:44:53] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:53] HELLO → sent (cached token, role=query) [18:44:53] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [18:44:53] [FOREGROUND] Enriched 0/1 unsettled messages with readBy data [18:44:53] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=104>104=false, maxId=23840>23840=false, shouldScroll=false [18:44:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:53] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:44:53] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:53] [WS] Query connection failed - cleaning up all agent connections and views [18:44:53] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:53] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:53] [CLEANUP] ======================================== [18:44:53] [CLEANUP] Cleaning up all agent connections and views [18:44:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:53] [CLEANUP] Stopped and removed 0 video connections [18:44:53] [CLEANUP] Removed 0 video views [18:44:53] [CLEANUP] Removed 0 feed scroll views [18:44:53] [CLEANUP] Removed 0 status labels [18:44:53] [CLEANUP] Reset agent query state [18:44:53] [CLEANUP] Updated page indicator [18:44:53] [CLEANUP] Rebuilt video layout [18:44:53] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:53] [CLEANUP] ======================================== [18:44:53] [SERVER] Starting reconnect polling (5s interval) [18:44:53] [CLEANUP] ======================================== [18:44:53] [CLEANUP] Cleaning up all agent connections and views [18:44:53] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:53] [CLEANUP] Stopped and removed 0 video connections [18:44:53] [CLEANUP] Removed 0 video views [18:44:53] [CLEANUP] Removed 0 feed scroll views [18:44:53] [CLEANUP] Removed 0 status labels [18:44:53] [CLEANUP] Reset agent query state [18:44:53] [CLEANUP] Updated page indicator [18:44:53] [CLEANUP] Rebuilt video layout [18:44:53] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:53] [CLEANUP] ======================================== [18:44:53] [SERVER] Starting reconnect polling (5s interval) [18:44:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8 [18:44:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836] [18:44:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:44:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:53] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:44:53] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:44:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:44:53] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [18:44:53] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data [18:44:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=104 [18:44:53] [INCREMENTAL_SYNC] ✅ No new messages [18:44:53] [FAST_REFRESH] Incremental sync complete - 104 messages [18:44:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=8 [18:44:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=104, first5Ids=[23840, 23839, 23838, 23837, 23836] [18:44:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 104 messages [18:44:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831] [18:44:53] [RELOAD_TAB] 📊 Building chatRows from 104 messages [18:44:53] [RELOAD_TAB] 📊 Built 106 chatRows, estHeight=60.0 [18:44:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=8 [18:44:54] [PASTE] paste invoked; hasImages=true, hasStrings=false [18:44:54] [PASTE] onImagePaste handler fired [18:44:54] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=false, returning=false, textView= half 22pt [18:44:55] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [18:44:55] [MEDIA_SEND] sendMessage API call completed [18:44:55] [MEDIA_SEND] Starting THUMBNAIL upload: t_edc609c733fd329e.jpg [18:44:55] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [18:44:55] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg [18:44:55] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg [18:44:55] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [18:44:55] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB [18:44:55] [UPLOAD_QUEUE] Enqueued upload id=967 for t_edc609c733fd329e.jpg [18:44:55] [UPLOAD_DEBUG] ========== START UPLOAD ========== [18:44:55] [UPLOAD_DEBUG] Item ID: 967 [18:44:55] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg [18:44:55] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg [18:44:55] [UPLOAD_DEBUG] Session ID: ILUIWU [18:44:55] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [18:44:55] [UPLOAD_DEBUG] Retry count: 0 [18:44:55] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [18:44:55] [UPLOAD_DEBUG] File exists: true [18:44:55] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB) [18:44:55] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [18:44:55] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [18:44:55] [UPLOAD_DEBUG] --- startStandardUpload --- [18:44:55] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [18:44:55] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [18:44:55] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/9937C85D-2A95-49BE-85DF-47D624B9B839.upload [18:44:55] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes [18:44:55] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [18:44:55] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes) [18:44:55] [UPLOAD_DEBUG] Creating background upload task... [18:44:55] [UPLOAD_DEBUG] Task created with identifier: 1 [18:44:55] [UPLOAD_DEBUG] Added to activeUploads dictionary [18:44:55] [UPLOAD_DEBUG] Updated DB status to 'uploading' [18:44:55] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=1 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0 [18:44:55] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [18:44:55] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [18:44:55] [GALLERY_DB] Loading ALL media messages for session: ILUIWU [18:44:55] [GALLERY_DB] Raw datesent for msg -10: '2026-03-06 17:44:55' [18:44:55] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46' [18:44:55] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34' [18:44:55] [GALLERY_DB] ✅ Loaded 778 media messages [18:44:55] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23841,"session_id":"ILUIWU","message_type":1,"file_name":"edc609c733fd329e.jpg","datesent_utc":"2026-03-06 17:44:55"} [18:44:55] [CHAT] receive_message.php JSON: ["file_name": edc609c733fd329e.jpg, "datesent_utc": 2026-03-06 17:44:55, "ok": 1, "message_type": 1, "session_id": ILUIWU, "message_id": 23841] [18:44:55] [DB_UPGRADE] Upgrading message ID: -10 → 23841, preserveOriginalDate=false [18:44:55] [DB_UPGRADE] ✅ Upgraded -10 → 23841 with send_status=0, 1 row(s) affected [18:44:55] [GALLERY] Filtered 778 -> 735 (only with local thumbnails) [18:44:55] [GALLERY] First 5 after sort (newest first): [18:44:55] [GALLERY] 0: id=-10, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg [18:44:55] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg [18:44:55] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg [18:44:55] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg [18:44:55] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov [18:44:55] [UPLOAD_TIMING] ⏱️ main.async delay: 0.367s for t_edc609c733fd329e.jpg status=uploading [18:44:55] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading) [18:44:55] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg [18:44:55] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading) [18:44:55] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages [18:44:55] [CLIENT_SIG] Event received: type=0 messageId=23841 [18:44:55] [WS_EVENT] Received event: type=0, messageId=23841 [18:44:55] [WS_EVENT] 📨 New message notification (msgId=23841) - triggering incremental refresh, currentMsgCount=105 [18:44:55] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105 [18:44:55] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23840 [18:44:55] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841 [18:44:55] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -10 → 23841 [18:44:55] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -10 → 23841 [18:44:55] ReloadData 9 [18:44:55] [INCREMENTAL_SYNC] ✅ No new messages [18:44:55] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=105 [18:44:56] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1 [18:44:56] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending [18:44:56] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:44:56] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0 [18:44:56] [SCROLL_BTN] Showing button - 386pt from bottom > half 223pt [18:44:56] [SCROLL_BTN] Showing button - 375pt from bottom > half 223pt [18:44:56] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:56] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:56] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:56] HELLO → sent (cached token, role=query) [18:44:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:56] [WS] Query connection failed - cleaning up all agent connections and views [18:44:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:56] [CLEANUP] ======================================== [18:44:56] [CLEANUP] Cleaning up all agent connections and views [18:44:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:56] [CLEANUP] Stopped and removed 0 video connections [18:44:56] [CLEANUP] Removed 0 video views [18:44:56] [CLEANUP] Removed 0 feed scroll views [18:44:56] [CLEANUP] Removed 0 status labels [18:44:56] [CLEANUP] Reset agent query state [18:44:56] [CLEANUP] Updated page indicator [18:44:56] [CLEANUP] Rebuilt video layout [18:44:56] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:56] [CLEANUP] ======================================== [18:44:56] [SERVER] Starting reconnect polling (5s interval) [18:44:56] [CLEANUP] ======================================== [18:44:56] [CLEANUP] Cleaning up all agent connections and views [18:44:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:56] [CLEANUP] Stopped and removed 0 video connections [18:44:56] [CLEANUP] Removed 0 video views [18:44:56] [CLEANUP] Removed 0 feed scroll views [18:44:56] [CLEANUP] Removed 0 status labels [18:44:56] [CLEANUP] Reset agent query state [18:44:56] [CLEANUP] Updated page indicator [18:44:56] [CLEANUP] Rebuilt video layout [18:44:56] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:56] [CLEANUP] ======================================== [18:44:56] [SERVER] Starting reconnect polling (5s interval) [18:44:57] [MENU] dismissAnyExistingMenu called [18:44:57] [MENU] dismissAnyExistingMenu completed [18:44:57] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=30 [18:44:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:44:58] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:44:58] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:44:58] HELLO → sent (cached token, role=query) [18:44:58] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:44:58] [WS] Query connection failed - cleaning up all agent connections and views [18:44:58] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:44:58] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:44:58] [CLEANUP] ======================================== [18:44:58] [CLEANUP] Cleaning up all agent connections and views [18:44:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:58] [CLEANUP] Stopped and removed 0 video connections [18:44:58] [CLEANUP] Removed 0 video views [18:44:58] [CLEANUP] Removed 0 feed scroll views [18:44:58] [CLEANUP] Removed 0 status labels [18:44:58] [CLEANUP] Reset agent query state [18:44:58] [CLEANUP] Updated page indicator [18:44:58] [CLEANUP] Rebuilt video layout [18:44:58] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:58] [CLEANUP] ======================================== [18:44:58] [SERVER] Starting reconnect polling (5s interval) [18:44:58] [CLEANUP] ======================================== [18:44:58] [CLEANUP] Cleaning up all agent connections and views [18:44:58] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:44:58] [CLEANUP] Stopped and removed 0 video connections [18:44:58] [CLEANUP] Removed 0 video views [18:44:58] [CLEANUP] Removed 0 feed scroll views [18:44:58] [CLEANUP] Removed 0 status labels [18:44:58] [CLEANUP] Reset agent query state [18:44:58] [CLEANUP] Updated page indicator [18:44:58] [CLEANUP] Rebuilt video layout [18:44:58] [CLEANUP] ✅ All agent connections and views cleaned up [18:44:58] [CLEANUP] ======================================== [18:44:58] [SERVER] Starting reconnect polling (5s interval) [18:45:00] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:00] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:00] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:00] HELLO → sent (cached token, role=query) [18:45:00] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:00] [WS] Query connection failed - cleaning up all agent connections and views [18:45:00] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:00] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:00] [CLEANUP] ======================================== [18:45:00] [CLEANUP] Cleaning up all agent connections and views [18:45:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:00] [CLEANUP] Stopped and removed 0 video connections [18:45:00] [CLEANUP] Removed 0 video views [18:45:00] [CLEANUP] Removed 0 feed scroll views [18:45:00] [CLEANUP] Removed 0 status labels [18:45:00] [CLEANUP] Reset agent query state [18:45:00] [CLEANUP] Updated page indicator [18:45:00] [CLEANUP] Rebuilt video layout [18:45:00] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:00] [CLEANUP] ======================================== [18:45:00] [SERVER] Starting reconnect polling (5s interval) [18:45:00] [CLEANUP] ======================================== [18:45:00] [CLEANUP] Cleaning up all agent connections and views [18:45:00] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:00] [CLEANUP] Stopped and removed 0 video connections [18:45:00] [CLEANUP] Removed 0 video views [18:45:00] [CLEANUP] Removed 0 feed scroll views [18:45:00] [CLEANUP] Removed 0 status labels [18:45:00] [CLEANUP] Reset agent query state [18:45:00] [CLEANUP] Updated page indicator [18:45:00] [CLEANUP] Rebuilt video layout [18:45:00] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:00] [CLEANUP] ======================================== [18:45:00] [SERVER] Starting reconnect polling (5s interval) [18:45:02] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:02] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:02] HELLO → sent (cached token, role=query) [18:45:02] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:02] [WS] Query connection failed - cleaning up all agent connections and views [18:45:02] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:02] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:02] [CLEANUP] ======================================== [18:45:02] [CLEANUP] Cleaning up all agent connections and views [18:45:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:02] [CLEANUP] Stopped and removed 0 video connections [18:45:02] [CLEANUP] Removed 0 video views [18:45:02] [CLEANUP] Removed 0 feed scroll views [18:45:02] [CLEANUP] Removed 0 status labels [18:45:02] [CLEANUP] Reset agent query state [18:45:02] [CLEANUP] Updated page indicator [18:45:02] [CLEANUP] Rebuilt video layout [18:45:02] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:02] [CLEANUP] ======================================== [18:45:02] [SERVER] Starting reconnect polling (5s interval) [18:45:02] [CLEANUP] ======================================== [18:45:02] [CLEANUP] Cleaning up all agent connections and views [18:45:02] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:02] [CLEANUP] Stopped and removed 0 video connections [18:45:02] [CLEANUP] Removed 0 video views [18:45:02] [CLEANUP] Removed 0 feed scroll views [18:45:02] [CLEANUP] Removed 0 status labels [18:45:02] [CLEANUP] Reset agent query state [18:45:02] [CLEANUP] Updated page indicator [18:45:02] [CLEANUP] Rebuilt video layout [18:45:02] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:02] [CLEANUP] ======================================== [18:45:02] [SERVER] Starting reconnect polling (5s interval) [18:45:04] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:04] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:04] HELLO → sent (cached token, role=query) [18:45:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:04] [WS] Query connection failed - cleaning up all agent connections and views [18:45:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:04] [CLEANUP] ======================================== [18:45:04] [CLEANUP] Cleaning up all agent connections and views [18:45:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:04] [CLEANUP] Stopped and removed 0 video connections [18:45:04] [CLEANUP] Removed 0 video views [18:45:04] [CLEANUP] Removed 0 feed scroll views [18:45:04] [CLEANUP] Removed 0 status labels [18:45:04] [CLEANUP] Reset agent query state [18:45:04] [CLEANUP] Updated page indicator [18:45:04] [CLEANUP] Rebuilt video layout [18:45:04] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:04] [CLEANUP] ======================================== [18:45:04] [SERVER] Starting reconnect polling (5s interval) [18:45:04] [CLEANUP] ======================================== [18:45:04] [CLEANUP] Cleaning up all agent connections and views [18:45:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:04] [CLEANUP] Stopped and removed 0 video connections [18:45:04] [CLEANUP] Removed 0 video views [18:45:04] [CLEANUP] Removed 0 feed scroll views [18:45:04] [CLEANUP] Removed 0 status labels [18:45:04] [CLEANUP] Reset agent query state [18:45:04] [CLEANUP] Updated page indicator [18:45:04] [CLEANUP] Rebuilt video layout [18:45:04] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:04] [CLEANUP] ======================================== [18:45:04] [SERVER] Starting reconnect polling (5s interval) [18:45:06] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:06] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:06] HELLO → sent (cached token, role=query) [18:45:06] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:06] [WS] Query connection failed - cleaning up all agent connections and views [18:45:06] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:06] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:06] [CLEANUP] ======================================== [18:45:06] [CLEANUP] Cleaning up all agent connections and views [18:45:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:06] [CLEANUP] Stopped and removed 0 video connections [18:45:06] [CLEANUP] Removed 0 video views [18:45:06] [CLEANUP] Removed 0 feed scroll views [18:45:06] [CLEANUP] Removed 0 status labels [18:45:06] [CLEANUP] Reset agent query state [18:45:06] [CLEANUP] Updated page indicator [18:45:06] [CLEANUP] Rebuilt video layout [18:45:06] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:06] [CLEANUP] ======================================== [18:45:06] [SERVER] Starting reconnect polling (5s interval) [18:45:06] [CLEANUP] ======================================== [18:45:06] [CLEANUP] Cleaning up all agent connections and views [18:45:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:06] [CLEANUP] Stopped and removed 0 video connections [18:45:06] [CLEANUP] Removed 0 video views [18:45:06] [CLEANUP] Removed 0 feed scroll views [18:45:06] [CLEANUP] Removed 0 status labels [18:45:06] [CLEANUP] Reset agent query state [18:45:06] [CLEANUP] Updated page indicator [18:45:06] [CLEANUP] Rebuilt video layout [18:45:06] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:06] [CLEANUP] ======================================== [18:45:06] [SERVER] Starting reconnect polling (5s interval) [18:45:06] [LIFECYCLE] App resigning active - cleared crash flag [18:45:07] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:45:07] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:45:07] [SECURITY] Saved background timestamp [18:45:07] [LIFECYCLE] App entering background - cleared crash flag [18:45:07] [CLIENT_SIG] Disconnecting [18:45:07] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:45:07] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:45:07] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:07] [LIFECYCLE] Background snapshot: count=105, maxId=23841 [18:45:07] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [18:45:07] [WS] Canceling WebSocket for query connection to iosILUIWU [18:45:07] In cleanupPeer [18:45:07] In cleanupPeer [18:45:07] [LIFECYCLE] WebRTC audio disabled [18:45:07] [LIFECYCLE] AVAudioSession deactivated [18:45:07] [LIFECYCLE] All connections stopped [18:45:07] [CLIENT_SIG] WebSocket closed with code 1001 [18:45:07] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:45:07] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:45:07] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:45:07] [SERVER] Stopped reconnect polling [18:45:07] [WS] URLSession invalidated successfully [18:45:07] Will request stop of video 0 [18:45:07] Will request stop of video 0 [18:45:07] [PIP] Removing 0 tracks from PiP for connection 0 [18:45:07] [PIP] ✅ All tracks removed for connection 0 [18:45:07] [PIP] Removing 0 tracks from PiP for connection 0 [18:45:07] [PIP] ✅ All tracks removed for connection 0 [18:45:16] [SECURITY] Timeout check: elapsed=8.85562014579773s, timeout=300.0s [18:45:16] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:45:16] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:45:16] [LIFECYCLE] App entering foreground - restoring connections [18:45:16] [PUSH_TRACE] 🔄 FOREGROUND: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:16] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:45:16] [UPLOAD_RETRY] Found 1 pending uploads to retry [18:45:16] [UPLOAD_RETRY] Retrying upload for: edc609c733fd329e.jpg [18:45:16] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading) [18:45:16] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg [18:45:16] [UPLOAD_RETRY] Re-enqueueing upload for: edc609c733fd329e.jpg [18:45:16] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [18:45:16] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [18:45:16] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg [18:45:16] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [18:45:16] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:45:16] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [18:45:16] [LIFECYCLE] WebRTC audio re-enabled [18:45:16] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:45:16] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:45:16] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:45:16] [VIEWER] Reconnecting after background - querying agents [18:45:16] [UNSENT_RETRY] Checking for unsent messages... [18:45:16] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=2, sendStatus=0 [18:45:16] [PENDING_UPLOAD] Total pending upload messages: 1 [18:45:16] [UNSENT_RETRY] No unsent messages found [18:45:16] [UPLOAD_QUEUE] Enqueued upload id=968 for edc609c733fd329e.jpg [18:45:16] [UPLOAD_DEBUG] ========== START UPLOAD ========== [18:45:16] [UPLOAD_DEBUG] Item ID: 968 [18:45:16] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg [18:45:16] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg [18:45:16] [UPLOAD_DEBUG] Session ID: ILUIWU [18:45:16] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [18:45:16] [UPLOAD_DEBUG] Retry count: 0 [18:45:16] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [18:45:16] [UPLOAD_DEBUG] File exists: true [18:45:16] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB) [18:45:16] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [18:45:16] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [18:45:16] [UPLOAD_DEBUG] --- startStandardUpload --- [18:45:16] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [18:45:16] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [18:45:16] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/9B72C401-1E1B-411B-9E75-80CE5201C969.upload [18:45:16] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes [18:45:16] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [18:45:16] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes) [18:45:16] [UPLOAD_DEBUG] Creating background upload task... [18:45:16] [UPLOAD_DEBUG] Task created with identifier: 2 [18:45:16] [UPLOAD_DEBUG] Added to activeUploads dictionary [18:45:16] [UPLOAD_DEBUG] Updated DB status to 'uploading' [18:45:16] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=2 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0 [18:45:16] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [18:45:16] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [18:45:16] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:16] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:16] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:45:16] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading) [18:45:16] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[0]: 1 → 2 [18:45:16] [UPLOAD_STATUS] 📝 Updated chatMessages[0]: status=2 [18:45:16] [UPLOAD_STATUS] 📝 Updated chatRows[106]: status=2 [18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:45:16] [UPLOAD_STATUS] 🔄 Updated visible cell at row 106 [18:45:16] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading) [18:45:16] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg [18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:45:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=3 [18:45:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:45:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:45:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:16] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:45:16] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:45:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:45:16] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:45:16] [SCROLL] 💓 alive, visible=104...106, rows=107, estHeight=60.0, heightCalls=4 [18:45:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [18:45:16] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [18:45:16] [SECURITY] Within timeout - cleared background flag [18:45:16] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:45:16] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:16] [PUSH] handlePollEventsNotification userInfo: [:] [18:45:16] [PUSH] No message_id in userInfo [18:45:16] [PUSH] No operation_type in userInfo [18:45:16] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:45:16] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:45:16] [PUSH_TRACE] 📬 POLL: memory state: count=105, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:16] [FAST_REFRESH] Already have 105 messages in memory [18:45:16] [FAST_REFRESH] maxMemoryId=23841, maxLocalId=23841 [18:45:16] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:45:16] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:45:16] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [18:45:16] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105 [18:45:16] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841 [18:45:16] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841 [18:45:16] [CLIENT_SIG] WebSocket opened [18:45:16] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:45:16] [CLIENT_SIG] Connected! clientId=2DeiCX4KeMwFuLPA [18:45:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:45:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:45:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:45:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:16] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:45:16] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:45:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:45:16] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:45:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=4 [18:45:16] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:45:16] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:45:16] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:16] HELLO → sent (cached token, role=query) [18:45:16] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [18:45:16] [FOREGROUND] Enriched 0/2 unsettled messages with readBy data [18:45:16] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=105>105=false, maxId=23841>23841=false, shouldScroll=false [18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:45:16] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:16] [WS] Query connection failed - cleaning up all agent connections and views [18:45:16] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:16] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:16] [CLEANUP] ======================================== [18:45:16] [CLEANUP] Cleaning up all agent connections and views [18:45:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:16] [CLEANUP] Stopped and removed 0 video connections [18:45:16] [CLEANUP] Removed 0 video views [18:45:16] [CLEANUP] Removed 0 feed scroll views [18:45:16] [CLEANUP] Removed 0 status labels [18:45:16] [CLEANUP] Reset agent query state [18:45:16] [CLEANUP] Updated page indicator [18:45:16] [CLEANUP] Rebuilt video layout [18:45:16] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:16] [CLEANUP] ======================================== [18:45:16] [SERVER] Starting reconnect polling (5s interval) [18:45:16] [CLEANUP] ======================================== [18:45:16] [CLEANUP] Cleaning up all agent connections and views [18:45:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:16] [CLEANUP] Stopped and removed 0 video connections [18:45:16] [CLEANUP] Removed 0 video views [18:45:16] [CLEANUP] Removed 0 feed scroll views [18:45:16] [CLEANUP] Removed 0 status labels [18:45:16] [CLEANUP] Reset agent query state [18:45:16] [CLEANUP] Updated page indicator [18:45:16] [CLEANUP] Rebuilt video layout [18:45:16] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:16] [CLEANUP] ======================================== [18:45:16] [SERVER] Starting reconnect polling (5s interval) [18:45:16] [INCREMENTAL_SYNC] ✅ No new messages [18:45:16] [FAST_REFRESH] Incremental sync complete - 105 messages [18:45:16] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [18:45:16] [FAST_REFRESH] Enriched 2/2 unsettled messages with readBy data [18:45:16] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:45:16] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:45:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=4 [18:45:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:45:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:45:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:16] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:45:16] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:45:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:45:16] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:45:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:45:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:45:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=4 [18:45:18] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:18] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:18] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:18] HELLO → sent (cached token, role=query) [18:45:18] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:18] [WS] Query connection failed - cleaning up all agent connections and views [18:45:18] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:18] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:18] [CLEANUP] ======================================== [18:45:18] [CLEANUP] Cleaning up all agent connections and views [18:45:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:18] [CLEANUP] Stopped and removed 0 video connections [18:45:18] [CLEANUP] Removed 0 video views [18:45:18] [CLEANUP] Removed 0 feed scroll views [18:45:18] [CLEANUP] Removed 0 status labels [18:45:18] [CLEANUP] Reset agent query state [18:45:18] [CLEANUP] Updated page indicator [18:45:18] [CLEANUP] Rebuilt video layout [18:45:18] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:18] [CLEANUP] ======================================== [18:45:18] [SERVER] Starting reconnect polling (5s interval) [18:45:18] [CLEANUP] ======================================== [18:45:18] [CLEANUP] Cleaning up all agent connections and views [18:45:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:18] [CLEANUP] Stopped and removed 0 video connections [18:45:18] [CLEANUP] Removed 0 video views [18:45:18] [CLEANUP] Removed 0 feed scroll views [18:45:18] [CLEANUP] Removed 0 status labels [18:45:18] [CLEANUP] Reset agent query state [18:45:18] [CLEANUP] Updated page indicator [18:45:18] [CLEANUP] Rebuilt video layout [18:45:18] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:18] [CLEANUP] ======================================== [18:45:18] [SERVER] Starting reconnect polling (5s interval) [18:45:19] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:19] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:20] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:20] HELLO → sent (cached token, role=query) [18:45:20] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:20] [WS] Query connection failed - cleaning up all agent connections and views [18:45:20] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:20] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:20] [CLEANUP] ======================================== [18:45:20] [CLEANUP] Cleaning up all agent connections and views [18:45:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:20] [CLEANUP] Stopped and removed 0 video connections [18:45:20] [CLEANUP] Removed 0 video views [18:45:20] [CLEANUP] Removed 0 feed scroll views [18:45:20] [CLEANUP] Removed 0 status labels [18:45:20] [CLEANUP] Reset agent query state [18:45:20] [CLEANUP] Updated page indicator [18:45:20] [CLEANUP] Rebuilt video layout [18:45:20] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:20] [CLEANUP] ======================================== [18:45:20] [SERVER] Starting reconnect polling (5s interval) [18:45:20] [CLEANUP] ======================================== [18:45:20] [CLEANUP] Cleaning up all agent connections and views [18:45:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:20] [CLEANUP] Stopped and removed 0 video connections [18:45:20] [CLEANUP] Removed 0 video views [18:45:20] [CLEANUP] Removed 0 feed scroll views [18:45:20] [CLEANUP] Removed 0 status labels [18:45:20] [CLEANUP] Reset agent query state [18:45:20] [CLEANUP] Updated page indicator [18:45:20] [CLEANUP] Rebuilt video layout [18:45:20] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:20] [CLEANUP] ======================================== [18:45:20] [SERVER] Starting reconnect polling (5s interval) [18:45:21] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:21] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:22] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:22] HELLO → sent (cached token, role=query) [18:45:22] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:22] [WS] Query connection failed - cleaning up all agent connections and views [18:45:22] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:22] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:22] [CLEANUP] ======================================== [18:45:22] [CLEANUP] Cleaning up all agent connections and views [18:45:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:22] [CLEANUP] Stopped and removed 0 video connections [18:45:22] [CLEANUP] Removed 0 video views [18:45:22] [CLEANUP] Removed 0 feed scroll views [18:45:22] [CLEANUP] Removed 0 status labels [18:45:22] [CLEANUP] Reset agent query state [18:45:22] [CLEANUP] Updated page indicator [18:45:22] [CLEANUP] Rebuilt video layout [18:45:22] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:22] [CLEANUP] ======================================== [18:45:22] [SERVER] Starting reconnect polling (5s interval) [18:45:22] [CLEANUP] ======================================== [18:45:22] [CLEANUP] Cleaning up all agent connections and views [18:45:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:22] [CLEANUP] Stopped and removed 0 video connections [18:45:22] [CLEANUP] Removed 0 video views [18:45:22] [CLEANUP] Removed 0 feed scroll views [18:45:22] [CLEANUP] Removed 0 status labels [18:45:22] [CLEANUP] Reset agent query state [18:45:22] [CLEANUP] Updated page indicator [18:45:22] [CLEANUP] Rebuilt video layout [18:45:22] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:22] [CLEANUP] ======================================== [18:45:22] [SERVER] Starting reconnect polling (5s interval) [18:45:23] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:23] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:23] [MENU] dismissAnyExistingMenu called [18:45:23] [MENU] dismissAnyExistingMenu completed [18:45:23] [SCROLL] 💓 alive, visible=104...106, rows=107, estHeight=60.0, heightCalls=6 [18:45:23] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView= half 223pt [18:45:27] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:27] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:27] HELLO → sent (cached token, role=query) [18:45:27] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:27] [WS] Query connection failed - cleaning up all agent connections and views [18:45:27] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:27] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:27] [CLEANUP] ======================================== [18:45:27] [CLEANUP] Cleaning up all agent connections and views [18:45:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:27] [CLEANUP] Stopped and removed 0 video connections [18:45:27] [CLEANUP] Removed 0 video views [18:45:27] [CLEANUP] Removed 0 feed scroll views [18:45:27] [CLEANUP] Removed 0 status labels [18:45:27] [CLEANUP] Reset agent query state [18:45:27] [CLEANUP] Updated page indicator [18:45:27] [CLEANUP] Rebuilt video layout [18:45:27] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:27] [CLEANUP] ======================================== [18:45:27] [SERVER] Starting reconnect polling (5s interval) [18:45:27] [CLEANUP] ======================================== [18:45:27] [CLEANUP] Cleaning up all agent connections and views [18:45:27] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:27] [CLEANUP] Stopped and removed 0 video connections [18:45:27] [CLEANUP] Removed 0 video views [18:45:27] [CLEANUP] Removed 0 feed scroll views [18:45:27] [CLEANUP] Removed 0 status labels [18:45:27] [CLEANUP] Reset agent query state [18:45:27] [CLEANUP] Updated page indicator [18:45:27] [CLEANUP] Rebuilt video layout [18:45:27] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:27] [CLEANUP] ======================================== [18:45:27] [SERVER] Starting reconnect polling (5s interval) [18:45:29] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:29] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:29] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:29] HELLO → sent (cached token, role=query) [18:45:29] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:29] [WS] Query connection failed - cleaning up all agent connections and views [18:45:29] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:29] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:29] [CLEANUP] ======================================== [18:45:29] [CLEANUP] Cleaning up all agent connections and views [18:45:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:29] [CLEANUP] Stopped and removed 0 video connections [18:45:29] [CLEANUP] Removed 0 video views [18:45:29] [CLEANUP] Removed 0 feed scroll views [18:45:29] [CLEANUP] Removed 0 status labels [18:45:29] [CLEANUP] Reset agent query state [18:45:29] [CLEANUP] Updated page indicator [18:45:29] [CLEANUP] Rebuilt video layout [18:45:29] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:29] [CLEANUP] ======================================== [18:45:29] [SERVER] Starting reconnect polling (5s interval) [18:45:29] [CLEANUP] ======================================== [18:45:29] [CLEANUP] Cleaning up all agent connections and views [18:45:29] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:29] [CLEANUP] Stopped and removed 0 video connections [18:45:29] [CLEANUP] Removed 0 video views [18:45:29] [CLEANUP] Removed 0 feed scroll views [18:45:29] [CLEANUP] Removed 0 status labels [18:45:29] [CLEANUP] Reset agent query state [18:45:29] [CLEANUP] Updated page indicator [18:45:29] [CLEANUP] Rebuilt video layout [18:45:29] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:29] [CLEANUP] ======================================== [18:45:29] [SERVER] Starting reconnect polling (5s interval) [18:45:31] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:31] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:31] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:31] HELLO → sent (cached token, role=query) [18:45:31] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:31] [WS] Query connection failed - cleaning up all agent connections and views [18:45:31] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:31] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:31] [CLEANUP] ======================================== [18:45:31] [CLEANUP] Cleaning up all agent connections and views [18:45:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:31] [CLEANUP] Stopped and removed 0 video connections [18:45:31] [CLEANUP] Removed 0 video views [18:45:31] [CLEANUP] Removed 0 feed scroll views [18:45:31] [CLEANUP] Removed 0 status labels [18:45:31] [CLEANUP] Reset agent query state [18:45:31] [CLEANUP] Updated page indicator [18:45:31] [CLEANUP] Rebuilt video layout [18:45:31] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:31] [CLEANUP] ======================================== [18:45:31] [SERVER] Starting reconnect polling (5s interval) [18:45:31] [CLEANUP] ======================================== [18:45:31] [CLEANUP] Cleaning up all agent connections and views [18:45:31] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:31] [CLEANUP] Stopped and removed 0 video connections [18:45:31] [CLEANUP] Removed 0 video views [18:45:31] [CLEANUP] Removed 0 feed scroll views [18:45:31] [CLEANUP] Removed 0 status labels [18:45:31] [CLEANUP] Reset agent query state [18:45:31] [CLEANUP] Updated page indicator [18:45:31] [CLEANUP] Rebuilt video layout [18:45:31] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:31] [CLEANUP] ======================================== [18:45:31] [SERVER] Starting reconnect polling (5s interval) [18:45:32] [SCROLL] 💓 alive, visible=99...106, rows=107, estHeight=60.0, heightCalls=0 [18:45:33] [LOG] Upload tapped with description: 'Image not sending' [18:45:33] [LOG] Uploading log as '2026-03-06-18-45-image-not-sending-Laurent.log' (949 KB) to server... [18:45:33] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:33] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:33] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:33] HELLO → sent (cached token, role=query) [18:45:33] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:33] [WS] Query connection failed - cleaning up all agent connections and views [18:45:33] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:33] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:33] [CLEANUP] ======================================== [18:45:33] [CLEANUP] Cleaning up all agent connections and views [18:45:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:33] [CLEANUP] Stopped and removed 0 video connections [18:45:33] [CLEANUP] Removed 0 video views [18:45:33] [CLEANUP] Removed 0 feed scroll views [18:45:33] [CLEANUP] Removed 0 status labels [18:45:33] [CLEANUP] Reset agent query state [18:45:33] [CLEANUP] Updated page indicator [18:45:33] [CLEANUP] Rebuilt video layout [18:45:33] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:33] [CLEANUP] ======================================== [18:45:33] [SERVER] Starting reconnect polling (5s interval) [18:45:33] [CLEANUP] ======================================== [18:45:33] [CLEANUP] Cleaning up all agent connections and views [18:45:33] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:33] [CLEANUP] Stopped and removed 0 video connections [18:45:33] [CLEANUP] Removed 0 video views [18:45:33] [CLEANUP] Removed 0 feed scroll views [18:45:33] [CLEANUP] Removed 0 status labels [18:45:33] [CLEANUP] Reset agent query state [18:45:33] [CLEANUP] Updated page indicator [18:45:33] [CLEANUP] Rebuilt video layout [18:45:33] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:33] [CLEANUP] ======================================== [18:45:33] [SERVER] Starting reconnect polling (5s interval) [18:45:34] [LOG] Upload HTTP status: 200 [18:45:34] [LOG] Upload successful: 2026-03-06-18-45-image-not-sending-Laurent.log [18:45:34] [LOG] Skipping cross-device log request (description doesn't end with '2') [18:45:35] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:35] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:35] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:45:35] HELLO → sent (cached token, role=query) [18:45:35] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:45:35] [WS] Query connection failed - cleaning up all agent connections and views [18:45:35] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:45:35] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:45:35] [CLEANUP] ======================================== [18:45:35] [CLEANUP] Cleaning up all agent connections and views [18:45:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:35] [CLEANUP] Stopped and removed 0 video connections [18:45:35] [CLEANUP] Removed 0 video views [18:45:35] [CLEANUP] Removed 0 feed scroll views [18:45:35] [CLEANUP] Removed 0 status labels [18:45:35] [CLEANUP] Reset agent query state [18:45:35] [CLEANUP] Updated page indicator [18:45:35] [CLEANUP] Rebuilt video layout [18:45:35] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:35] [CLEANUP] ======================================== [18:45:35] [SERVER] Starting reconnect polling (5s interval) [18:45:35] [CLEANUP] ======================================== [18:45:35] [CLEANUP] Cleaning up all agent connections and views [18:45:35] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:45:35] [CLEANUP] Stopped and removed 0 video connections [18:45:35] [CLEANUP] Removed 0 video views [18:45:35] [CLEANUP] Removed 0 feed scroll views [18:45:35] [CLEANUP] Removed 0 status labels [18:45:35] [CLEANUP] Reset agent query state [18:45:35] [CLEANUP] Updated page indicator [18:45:35] [CLEANUP] Rebuilt video layout [18:45:35] [CLEANUP] ✅ All agent connections and views cleaned up [18:45:35] [CLEANUP] ======================================== [18:45:35] [SERVER] Starting reconnect polling (5s interval) [18:45:36] [LIFECYCLE] App resigning active - cleared crash flag [18:45:36] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:45:36] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:45:36] [SECURITY] Saved background timestamp [18:45:36] [LIFECYCLE] App entering background - cleared crash flag [18:45:36] [CLIENT_SIG] Disconnecting [18:45:36] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:45:36] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:45:36] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:45:36] [LIFECYCLE] Background snapshot: count=105, maxId=23841 [18:45:36] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [18:45:36] [WS] Canceling WebSocket for query connection to iosILUIWU [18:45:36] In cleanupPeer [18:45:36] In cleanupPeer [18:45:36] [LIFECYCLE] WebRTC audio disabled [18:45:36] [LIFECYCLE] AVAudioSession deactivated [18:45:36] [LIFECYCLE] All connections stopped [18:45:37] [CLIENT_SIG] WebSocket closed with code 1001 [18:45:37] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:45:37] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:45:37] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:45:37] [SERVER] Stopped reconnect polling [18:45:37] [WS] URLSession invalidated successfully [18:45:37] Will request stop of video 0 [18:45:37] Will request stop of video 0 [18:45:37] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:45:37] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:45:37] [PIP] Removing 0 tracks from PiP for connection 0 [18:45:37] [PIP] ✅ All tracks removed for connection 0 [18:45:37] [PIP] Removing 0 tracks from PiP for connection 0 [18:45:37] [PIP] ✅ All tracks removed for connection 0 [18:46:36] [SECURITY] Timeout check: elapsed=59.77121591567993s, timeout=300.0s [18:46:36] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:46:36] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:46:36] [LIFECYCLE] App entering foreground - restoring connections [18:46:36] [PUSH_TRACE] 🔄 FOREGROUND: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:36] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:46:36] [UPLOAD_RETRY] No pending uploads to retry [18:46:36] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:46:36] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [18:46:36] [LIFECYCLE] WebRTC audio re-enabled [18:46:36] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:46:36] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:46:36] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:46:36] [VIEWER] Reconnecting after background - querying agents [18:46:36] [UNSENT_RETRY] Checking for unsent messages... [18:46:36] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=2, sendStatus=0 [18:46:36] [PENDING_UPLOAD] Total pending upload messages: 1 [18:46:36] [UNSENT_RETRY] No unsent messages found [18:46:36] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:46:36] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out. [18:46:36] [WS] Query connection error - cleaning up all agent connections and views [18:46:36] [WS] Connection failed: The request timed out. [18:46:36] [WS] Query connection failed - cleaning up all agent connections and views [18:46:36] [CLEANUP] ======================================== [18:46:36] [CLEANUP] Cleaning up all agent connections and views [18:46:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:46:36] [CLEANUP] Stopped and removed 0 video connections [18:46:36] [CLEANUP] Removed 0 video views [18:46:36] [CLEANUP] Removed 0 feed scroll views [18:46:36] [CLEANUP] Removed 0 status labels [18:46:36] [CLEANUP] Reset agent query state [18:46:36] [CLEANUP] Updated page indicator [18:46:36] [CLEANUP] Rebuilt video layout [18:46:36] [CLEANUP] ✅ All agent connections and views cleaned up [18:46:36] [CLEANUP] ======================================== [18:46:36] [SERVER] Starting reconnect polling (5s interval) [18:46:36] [CLEANUP] ======================================== [18:46:36] [CLEANUP] Cleaning up all agent connections and views [18:46:36] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:46:36] [CLEANUP] Stopped and removed 0 video connections [18:46:36] [CLEANUP] Removed 0 video views [18:46:36] [CLEANUP] Removed 0 feed scroll views [18:46:36] [CLEANUP] Removed 0 status labels [18:46:36] [CLEANUP] Reset agent query state [18:46:36] [CLEANUP] Updated page indicator [18:46:36] [CLEANUP] Rebuilt video layout [18:46:36] [CLEANUP] ✅ All agent connections and views cleaned up [18:46:36] [CLEANUP] ======================================== [18:46:36] [SERVER] Starting reconnect polling (5s interval) [18:46:36] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=5 [18:46:36] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:46:36] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:46:36] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:36] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:46:36] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:46:36] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:46:36] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:46:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:46:36] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:46:36] [SCROLL] 💓 alive, visible=99...106, rows=107, estHeight=60.0, heightCalls=9 [18:46:36] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [18:46:36] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [18:46:36] [SECURITY] Within timeout - cleared background flag [18:46:36] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:46:36] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:36] [PUSH] handlePollEventsNotification userInfo: [:] [18:46:36] [PUSH] No message_id in userInfo [18:46:36] [PUSH] No operation_type in userInfo [18:46:36] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:46:36] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:46:36] [PUSH_TRACE] 📬 POLL: memory state: count=105, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:36] [FAST_REFRESH] Already have 105 messages in memory [18:46:36] [FAST_REFRESH] maxMemoryId=23841, maxLocalId=23841 [18:46:36] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:46:36] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:46:36] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:46:36] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [18:46:36] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105 [18:46:36] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841 [18:46:36] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841 [18:46:37] [CLIENT_SIG] WebSocket opened [18:46:37] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:46:37] [CLIENT_SIG] Connected! clientId=69QXRF-Qmi25zt_i [18:46:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:46:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:46:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:46:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:37] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:46:37] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:46:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:46:37] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:46:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:46:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:46:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9 [18:46:37] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:46:37] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:46:37] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [18:46:37] [FOREGROUND] Enriched 0/2 unsettled messages with readBy data [18:46:37] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=105>105=false, maxId=23841>23841=false, shouldScroll=false [18:46:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:46:37] [INCREMENTAL_SYNC] ✅ No new messages [18:46:37] [FAST_REFRESH] Incremental sync complete - 105 messages [18:46:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=9 [18:46:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:46:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:46:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:37] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:46:37] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:46:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:46:37] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:46:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:46:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:46:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9 [18:46:37] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [18:46:37] [FAST_REFRESH] Enriched 2/2 unsettled messages with readBy data [18:46:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:46:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=9 [18:46:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:46:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:46:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:37] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:46:37] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:46:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:46:37] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:46:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:46:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:46:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9 [18:46:37] [MENU] dismissAnyExistingMenu called [18:46:37] [MENU] dismissAnyExistingMenu completed [18:46:37] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=11 [18:46:38] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:46:38] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:46:38] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:46:38] HELLO → sent (cached token, role=query) [18:46:38] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:46:38] [WS] Query connection failed - cleaning up all agent connections and views [18:46:38] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:46:38] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:46:38] [CLEANUP] ======================================== [18:46:38] [CLEANUP] Cleaning up all agent connections and views [18:46:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:46:38] [CLEANUP] Stopped and removed 0 video connections [18:46:38] [CLEANUP] Removed 0 video views [18:46:38] [CLEANUP] Removed 0 feed scroll views [18:46:38] [CLEANUP] Removed 0 status labels [18:46:38] [CLEANUP] Reset agent query state [18:46:38] [CLEANUP] Updated page indicator [18:46:38] [CLEANUP] Rebuilt video layout [18:46:38] [CLEANUP] ✅ All agent connections and views cleaned up [18:46:38] [CLEANUP] ======================================== [18:46:38] [SERVER] Starting reconnect polling (5s interval) [18:46:38] [CLEANUP] ======================================== [18:46:38] [CLEANUP] Cleaning up all agent connections and views [18:46:38] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:46:38] [CLEANUP] Stopped and removed 0 video connections [18:46:38] [CLEANUP] Removed 0 video views [18:46:38] [CLEANUP] Removed 0 feed scroll views [18:46:38] [CLEANUP] Removed 0 status labels [18:46:38] [CLEANUP] Reset agent query state [18:46:38] [CLEANUP] Updated page indicator [18:46:38] [CLEANUP] Rebuilt video layout [18:46:38] [CLEANUP] ✅ All agent connections and views cleaned up [18:46:38] [CLEANUP] ======================================== [18:46:38] [SERVER] Starting reconnect polling (5s interval) [18:46:38] [LIFECYCLE] App resigning active - cleared crash flag [18:46:39] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:46:39] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:46:39] [SECURITY] Saved background timestamp [18:46:39] [LIFECYCLE] App entering background - cleared crash flag [18:46:39] [CLIENT_SIG] Disconnecting [18:46:39] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:46:39] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:46:39] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:46:39] [LIFECYCLE] Background snapshot: count=105, maxId=23841 [18:46:39] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [18:46:39] [WS] Canceling WebSocket for query connection to iosILUIWU [18:46:39] In cleanupPeer [18:46:39] In cleanupPeer [18:46:39] [LIFECYCLE] WebRTC audio disabled [18:46:39] [LIFECYCLE] AVAudioSession deactivated [18:46:39] [LIFECYCLE] All connections stopped [18:46:39] [CLIENT_SIG] WebSocket closed with code 1001 [18:46:39] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:46:39] [SERVER] Stopped reconnect polling [18:46:39] [WS] URLSession invalidated successfully [18:46:39] Will request stop of video 0 [18:46:39] Will request stop of video 0 [18:46:39] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:46:39] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:46:39] [PIP] Removing 0 tracks from PiP for connection 0 [18:46:39] [PIP] ✅ All tracks removed for connection 0 [18:46:39] [PIP] Removing 0 tracks from PiP for connection 0 [18:46:39] [PIP] ✅ All tracks removed for connection 0 [18:47:53] [SECURITY] Timeout check: elapsed=74.04697799682617s, timeout=300.0s [18:47:53] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:47:53] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:47:53] [LIFECYCLE] App entering foreground - restoring connections [18:47:53] [PUSH_TRACE] 🔄 FOREGROUND: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:47:53] [PUSH_TRACE] 🔄 FOREGROUND: cache has 53 msgs, valid=true, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:47:53] [UPLOAD_RETRY] No pending uploads to retry [18:47:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:47:53] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [18:47:53] [LIFECYCLE] WebRTC audio re-enabled [18:47:53] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:47:53] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:47:53] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:47:53] [VIEWER] Reconnecting after background - querying agents [18:47:53] [UNSENT_RETRY] Checking for unsent messages... [18:47:53] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=2, sendStatus=0 [18:47:53] [PENDING_UPLOAD] Total pending upload messages: 1 [18:47:53] [UNSENT_RETRY] No unsent messages found [18:47:53] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:47:53] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:47:53] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:47:53] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=2 [18:47:53] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:47:53] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:47:53] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:47:53] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:47:53] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:47:53] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:47:53] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:47:53] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:47:53] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:47:53] [SCROLL] 💓 alive, visible=99...106, rows=107, estHeight=60.0, heightCalls=9 [18:47:53] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=0 [18:47:53] [SECURITY] sceneDidBecomeActive - isAuthenticated=true, didEnterBackground=true [18:47:53] [SECURITY] Within timeout - cleared background flag [18:47:53] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:47:53] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 105 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:47:53] [PUSH] handlePollEventsNotification userInfo: [:] [18:47:53] [PUSH] No message_id in userInfo [18:47:53] [PUSH] No operation_type in userInfo [18:47:53] [FAST_REFRESH] Evolution disabled - performing incremental sync [18:47:53] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832, 23831, 23830] [18:47:53] [PUSH_TRACE] 📬 POLL: memory state: count=105, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:47:53] [FAST_REFRESH] Already have 105 messages in memory [18:47:53] [FAST_REFRESH] maxMemoryId=23841, maxLocalId=23841 [18:47:53] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [18:47:53] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:47:53] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [18:47:53] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [18:47:53] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=105 [18:47:53] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841 [18:47:53] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841 [18:47:54] [CLIENT_SIG] WebSocket opened [18:47:54] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:47:54] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:47:54] HELLO → sent (cached token, role=query) [18:47:54] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=0 [18:47:54] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:47:54] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:47:54] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:47:54] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:47:54] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:47:54] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:47:54] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:47:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:47:54] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:47:54] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9 [18:47:54] [CLIENT_SIG] Connected! clientId=BbWDwMRBWFdygiK3 [18:47:54] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [18:47:54] [FOREGROUND] Enriched 0/2 unsettled messages with readBy data [18:47:54] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:47:54] [WS] Query connection failed - cleaning up all agent connections and views [18:47:54] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:47:54] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:47:54] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=105>105=false, maxId=23841>23841=false, shouldScroll=false [18:47:54] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:47:54] [CLEANUP] ======================================== [18:47:54] [CLEANUP] Cleaning up all agent connections and views [18:47:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:47:54] [CLEANUP] Stopped and removed 0 video connections [18:47:54] [CLEANUP] Removed 0 video views [18:47:54] [CLEANUP] Removed 0 feed scroll views [18:47:54] [CLEANUP] Removed 0 status labels [18:47:54] [CLEANUP] Reset agent query state [18:47:54] [CLEANUP] Updated page indicator [18:47:54] [CLEANUP] Rebuilt video layout [18:47:54] [CLEANUP] ✅ All agent connections and views cleaned up [18:47:54] [CLEANUP] ======================================== [18:47:54] [SERVER] Starting reconnect polling (5s interval) [18:47:54] [CLEANUP] ======================================== [18:47:54] [CLEANUP] Cleaning up all agent connections and views [18:47:54] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:47:54] [CLEANUP] Stopped and removed 0 video connections [18:47:54] [CLEANUP] Removed 0 video views [18:47:54] [CLEANUP] Removed 0 feed scroll views [18:47:54] [CLEANUP] Removed 0 status labels [18:47:54] [CLEANUP] Reset agent query state [18:47:54] [CLEANUP] Updated page indicator [18:47:54] [CLEANUP] Rebuilt video layout [18:47:54] [CLEANUP] ✅ All agent connections and views cleaned up [18:47:54] [CLEANUP] ======================================== [18:47:54] [SERVER] Starting reconnect polling (5s interval) [18:47:54] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:47:54] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:47:54] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [18:47:54] [FAST_REFRESH] Enriched 2/2 unsettled messages with readBy data [18:47:54] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=105 [18:47:54] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:47:54] [INCREMENTAL_SYNC] ✅ No new messages [18:47:54] [FAST_REFRESH] Incremental sync complete - 105 messages [18:47:54] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=60.0, heightCalls=9 [18:47:54] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=105, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:47:54] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 105 messages [18:47:54] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:47:54] [RELOAD_TAB] 📊 Building chatRows from 105 messages [18:47:54] [RELOAD_TAB] 📊 Built 107 chatRows, estHeight=60.0 [18:47:54] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [18:47:54] [CELL_UPLOAD] → has active progress=0.0, setting uploading [18:47:54] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:47:54] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:47:54] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=9 [18:47:54] [MENU] dismissAnyExistingMenu called [18:47:54] [MENU] dismissAnyExistingMenu completed [18:47:54] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=9 [18:47:55] [MENU] dismissAnyExistingMenu called [18:47:55] [MENU] dismissAnyExistingMenu completed [18:47:55] [MENU] dismissAnyExistingMenu called [18:47:55] [MENU] dismissAnyExistingMenu completed [18:47:55] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:47:55] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:47:55] [SCROLL] 💓 alive, visible=100...106, rows=107, estHeight=60.0, heightCalls=6 [18:47:55] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:47:55] HELLO → sent (cached token, role=query) [18:47:56] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:47:56] [WS] Query connection failed - cleaning up all agent connections and views [18:47:56] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:47:56] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:47:56] [CLEANUP] ======================================== [18:47:56] [CLEANUP] Cleaning up all agent connections and views [18:47:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:47:56] [CLEANUP] Stopped and removed 0 video connections [18:47:56] [CLEANUP] Removed 0 video views [18:47:56] [CLEANUP] Removed 0 feed scroll views [18:47:56] [CLEANUP] Removed 0 status labels [18:47:56] [CLEANUP] Reset agent query state [18:47:56] [CLEANUP] Updated page indicator [18:47:56] [CLEANUP] Rebuilt video layout [18:47:56] [CLEANUP] ✅ All agent connections and views cleaned up [18:47:56] [CLEANUP] ======================================== [18:47:56] [SERVER] Starting reconnect polling (5s interval) [18:47:56] [CLEANUP] ======================================== [18:47:56] [CLEANUP] Cleaning up all agent connections and views [18:47:56] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:47:56] [CLEANUP] Stopped and removed 0 video connections [18:47:56] [CLEANUP] Removed 0 video views [18:47:56] [CLEANUP] Removed 0 feed scroll views [18:47:56] [CLEANUP] Removed 0 status labels [18:47:56] [CLEANUP] Reset agent query state [18:47:56] [CLEANUP] Updated page indicator [18:47:56] [CLEANUP] Rebuilt video layout [18:47:56] [CLEANUP] ✅ All agent connections and views cleaned up [18:47:56] [CLEANUP] ======================================== [18:47:56] [SERVER] Starting reconnect polling (5s interval) [18:47:57] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [18:47:57] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:47:57] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:47:57] HELLO → sent (cached token, role=query) [18:47:57] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:47:57] [WS] Query connection failed - cleaning up all agent connections and views [18:47:57] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [18:47:57] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [18:47:57] [CLEANUP] ======================================== [18:47:57] [CLEANUP] Cleaning up all agent connections and views [18:47:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:47:57] [CLEANUP] Stopped and removed 0 video connections [18:47:57] [CLEANUP] Removed 0 video views [18:47:57] [CLEANUP] Removed 0 feed scroll views [18:47:57] [CLEANUP] Removed 0 status labels [18:47:57] [CLEANUP] Reset agent query state [18:47:57] [CLEANUP] Updated page indicator [18:47:57] [CLEANUP] Rebuilt video layout [18:47:57] [CLEANUP] ✅ All agent connections and views cleaned up [18:47:57] [CLEANUP] ======================================== [18:47:57] [SERVER] Starting reconnect polling (5s interval) [18:47:57] [CLEANUP] ======================================== [18:47:57] [CLEANUP] Cleaning up all agent connections and views [18:47:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:47:57] [CLEANUP] Stopped and removed 0 video connections [18:47:57] [CLEANUP] Removed 0 video views [18:47:57] [CLEANUP] Removed 0 feed scroll views [18:47:57] [CLEANUP] Removed 0 status labels [18:47:57] [CLEANUP] Reset agent query state [18:47:57] [CLEANUP] Updated page indicator [18:47:57] [CLEANUP] Rebuilt video layout [18:47:57] [CLEANUP] ✅ All agent connections and views cleaned up [18:47:57] [CLEANUP] ======================================== [18:47:57] [SERVER] Starting reconnect polling (5s interval) [18:47:58] [LIFECYCLE] App resigning active - cleared crash flag [18:47:59] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:47:59] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:47:59] [SECURITY] Saved background timestamp [18:47:59] [LIFECYCLE] App entering background - cleared crash flag [18:47:59] [CLIENT_SIG] Disconnecting [18:47:59] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:47:59] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:47:59] [PUSH_TRACE] 💤 BACKGROUND: memory has 105 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:47:59] [LIFECYCLE] Background snapshot: count=105, maxId=23841 [18:47:59] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [18:47:59] [WS] Canceling WebSocket for query connection to iosILUIWU [18:47:59] [CRASH] No crash detected [18:47:59] [FONT] Roboto fonts loaded successfully: Roboto-Regular [18:47:59] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto [18:47:59] [GIPHY] SDK not available - using REST API fallback [18:47:59] [BACKGROUND] Background fetch enabled [18:47:59] [SECURITY] Initial launch - within timeout (0.8827669620513916s < 300.0s) [18:47:59] [AUTH] Starting PIN authentication [18:47:59] [CLEANUP] No old timer messages to delete [18:47:59] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [18:47:59] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:47:59] [PUSH] APNs token: 0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3 [18:48:00] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [18:48:00] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [18:48:00] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23841)... [18:48:00] [CLIENT_SIG] WebSocket opened [18:48:00] [CLIENT_SIG] HELLO sent as client for session ILUIWU [18:48:00] [CLIENT_SIG] Connected! clientId=UbHas6tStsd-_UeG [18:48:00] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [18:48:00] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [18:48:00] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [18:48:00] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [18:48:00] [USER] ✅ User registered successfully [18:48:00] [PUSH] User registration after token update: success [18:48:00] [PRELOAD] No messages or parse error [18:48:01] [PIN_AUTH] Correct PIN [18:48:01] [SECURITY] Restored real session: ILUIWU [18:48:01] [SECURITY] Restored real session: ILUIWU [18:48:01] [SECURITY] Saved real session: ILUIWU [18:48:01] [SCENE] Launched directly to chat view with sessionId: ILUIWU [18:48:01] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [18:48:01] [DB] 🔄 Reset 1 stuck upload statuses from 'uploading' to 'pending' [18:48:01] [DB] 📤 Media with pending upload: msgId=23841, file=edc609c733fd329e.jpg, status=pending [18:48:01] [DB] ⚠️ Found 1 media messages with incomplete uploads [18:48:01] [UPLOAD_QUEUE] ✅ Database integrity check passed [18:48:01] [UPLOAD_QUEUE] Active background tasks: 0 [18:48:01] [UPLOAD_QUEUE] ⏰ Stale upload: id=967, file=t_edc609c733fd329e.jpg, taskId=1, hasActiveTask=false, age=3min [18:48:01] [UPLOAD_QUEUE] ⏰ Stale upload: id=968, file=edc609c733fd329e.jpg, taskId=2, hasActiveTask=false, age=2min [18:48:01] [UPLOAD_METRICS] Task 1 metrics: [18:48:01] [UPLOAD_METRICS] Total time: 183.78s [18:48:01] [UPLOAD_METRICS] Network protocol: unknown [18:48:01] [UPLOAD_METRICS] Proxy: no [18:48:01] [UPLOAD_METRICS] Reused connection: no [18:48:01] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=967, file=t_edc609c733fd329e.jpg [18:48:01] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=968, file=edc609c733fd329e.jpg [18:48:01] [UPLOAD_QUEUE] 🔄 Reset 2 stale uploads from 'uploading' to 'pending' [18:48:01] [UPLOAD_TIMING] ⏱️ didCompleteWithError ENTERED at 2026-03-06 17:48:01 +0000 [18:48:01] [UPLOAD_COMPLETE] ========== Task Completed ========== [18:48:01] [UPLOAD_COMPLETE] Task ID: 1 [18:48:01] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed) [18:48:01] Documents Directory: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents [18:48:01] [UPLOAD_COMPLETE] ⚠️ No item found in activeUploads for task 1 [18:48:01] [UPLOAD_COMPLETE] Active uploads count: 0 [18:48:01] [UPLOAD_COMPLETE] Active task IDs: [] [18:48:01] [UPLOAD_METRICS] Task 2 metrics: [18:48:01] [UPLOAD_METRICS] Total time: 163.00s [18:48:01] [UPLOAD_METRICS] Network protocol: unknown [18:48:01] [UPLOAD_METRICS] Proxy: no [18:48:01] [UPLOAD_METRICS] Reused connection: no [18:48:01] [UPLOAD_TIMING] ⏱️ didCompleteWithError ENTERED at 2026-03-06 17:48:01 +0000 [18:48:01] [UPLOAD_COMPLETE] ========== Task Completed ========== [18:48:01] [UPLOAD_COMPLETE] Task ID: 2 [18:48:01] [UPLOAD_COMPLETE] Task state: 3 (0=running, 1=suspended, 2=canceling, 3=completed) [18:48:01] [UPLOAD_COMPLETE] ⚠️ No item found in activeUploads for task 2 [18:48:01] [UPLOAD_COMPLETE] Active uploads count: 0 [18:48:01] [UPLOAD_COMPLETE] Active task IDs: [] [18:48:01] [UPLOAD_QUEUE] Found 2 pending uploads to resume [18:48:01] [THEME] Applying current theme [18:48:01] [CHAT] Applied day theme (mode: day) [18:48:01] [SECURITY] Saved real session: ILUIWU [18:48:01] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [18:48:01] [CLIENT_SIG] Already connected/connecting to session ILUIWU [18:48:01] [NETWORK] Network monitor started [18:48:01] [NETWORK] Status changed: connected [18:48:01] Did transition [18:48:01] [DB_UPLOAD] 📥 Loaded media msg id=23841 with upload_status=1 (pending), file=edc609c733fd329e.jpg [18:48:01] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU [18:48:01] [VIEWER] Screen lock enabled - normal idle behavior [18:48:01] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU [18:48:01] [VCC] ========== VideoConnectionClass INIT ========== [18:48:01] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil [18:48:01] [DATA AUDIO] ========== setupWebRTC() START ========== [18:48:01] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device [18:48:01] [DATA AUDIO] Creating encoder/decoder factories... [18:48:01] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1 [18:48:01] [CODEC] Viewer selected encoder: AV1 (best quality) [18:48:01] [DATA AUDIO] Creating RTCPeerConnectionFactory... [18:48:01] [DATA AUDIO] ✅ Factory created [18:48:01] [DATA AUDIO] RTCAudioSession locked [18:48:01] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false [18:48:01] [DATA AUDIO] RTCAudioSession unlocked [18:48:01] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer [18:48:01] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"] [18:48:01] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU [18:48:01] [WS] Opening session at ws://crivello.dyndns.org:8081/ [18:48:01] [QUERY] ✅ tempQueryConnection created for iosILUIWU [18:48:01] [VIEWER_INIT] Already have 50 messages - just filtering for tab [18:48:01] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [18:48:01] [EVENT_POLL] Event polling disabled - using WebSocket events instead [18:48:01] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0 [18:48:01] Did transition [18:48:01] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0) [18:48:01] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [18:48:01] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [18:48:01] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [18:48:01] [GALLERY_DB] Loading ALL media messages for session: ILUIWU [18:48:01] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [18:48:01] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55' [18:48:01] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46' [18:48:01] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34' [18:48:01] [USER] ✅ User registered successfully [18:48:01] [USER] User registration successful [18:48:01] [GALLERY_DB] ✅ Loaded 778 media messages [18:48:01] [MIGRATION] No messages need sender_name backfill [18:48:01] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [18:48:01] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23841, maxMemoryId=23841 [18:48:01] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23841 [18:48:01] [INCREMENTAL_SYNC] ✅ No new messages [18:48:01] [GALLERY] Filtered 778 -> 735 (only with local thumbnails) [18:48:01] [GALLERY] First 5 after sort (newest first): [18:48:01] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg [18:48:01] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg [18:48:01] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg [18:48:01] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg [18:48:01] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov [18:48:01] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0 [18:48:01] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt [18:48:01] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [18:48:01] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:48:01] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [18:48:01] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:48:01] [RELOAD_TAB] 📊 Building chatRows from 50 messages [18:48:01] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [18:48:01] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings [18:48:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [18:48:02] [SERVER] Starting reconnect polling (5s interval) [18:48:02] [ICONS] Screen width: 440.0, Tab spacing: 75.5 [18:48:02] [ICONS] Offset applied: -14.6 [18:48:02] [ICONS] New left margin: 11.2, New right margin: 11.3 [18:48:02] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [18:48:02] [READBY_ENRICH] Enriched 2/2 unsettled messages with readBy data [18:48:02] [ICONS] Chat center: (31.2, 87.0) [18:48:02] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5 [18:48:02] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5 [18:48:02] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5 [18:48:02] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5 [18:48:02] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5 [18:48:02] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2 [18:48:02] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3 [18:48:02] [ICONS] Screen width: 440.0 [18:48:02] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [18:48:02] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [18:48:02] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [18:48:02] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU [18:48:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1 [18:48:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending [18:48:02] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:48:02] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0 [18:48:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [18:48:02] [PURGE] ⚠️ Media cache purge DISABLED for debugging [18:48:02] [UNSENT_RETRY] Checking for unsent messages... [18:48:02] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ========== [18:48:02] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF [18:48:02] [UPLOAD_RECOVERY] Session: ILUIWU [18:48:02] [UPLOAD_RECOVERY] ⚠️ Found stuck upload: msgId=23841, file=edc609c733fd329e.jpg, reason=upload_status=pending [18:48:02] [UPLOAD_RECOVERY] ✅ Local file exists: edc609c733fd329e.jpg [18:48:02] new_session POST ok: token len=157 [18:48:02] HELLO → sent (fetched token, role=query) [18:48:02] [UPLOAD_RECOVERY] 🔄 File not on server, re-uploading: edc609c733fd329e.jpg [18:48:02] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [18:48:02] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [18:48:02] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg [18:48:02] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [18:48:02] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [18:48:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=968, status=pending) [18:48:02] [UPLOAD_RECOVERY] Found 1 messages with stuck/unsynced uploads [18:48:02] [UPLOAD_RECOVERY] Checking recent media messages on server... [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=pending [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete [18:48:02] [UPLOAD_RECOVERY] Verifying 9 media files exist on server... [18:48:02] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=1, sendStatus=0 [18:48:02] [PENDING_UPLOAD] Total pending upload messages: 1 [18:48:02] [UNSENT_RETRY] No unsent messages found [18:48:02] [UPLOAD_RECOVERY] ✅ Re-enqueued stuck upload: edc609c733fd329e.jpg [18:48:02] [SIG] hello_ok received for query connection - ready to query agents [18:48:02] [SIG] get_agents request sent for sessionId=ILUIWU [18:48:02] [SIG] get_agents request sent for sessionId=iosILUIWU [18:48:02] [SERVER] Stopped reconnect polling [18:48:02] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg [18:48:02] [SIG] agents_list received: [] [18:48:02] [SIG] agents_list received: [] [18:48:02] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files... [18:48:02] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [18:48:02] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [18:48:02] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg [18:48:02] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [18:48:02] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [18:48:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=968, status=pending) [18:48:02] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg [18:48:02] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=68 [18:48:02] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23841, 23840, 23839, 23838, 23837] [18:48:02] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [18:48:02] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:48:02] [RELOAD_TAB] 📊 Building chatRows from 50 messages [18:48:02] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [18:48:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1 [18:48:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending [18:48:02] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:48:02] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0 [18:48:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [18:48:02] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [18:48:02] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg [18:48:02] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg [18:48:02] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [18:48:02] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB [18:48:02] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=967, status=pending) [18:48:02] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg [18:48:03] [UPLOAD_DEBUG] ========== START UPLOAD ========== [18:48:03] [UPLOAD_DEBUG] ========== START UPLOAD ========== [18:48:03] [UPLOAD_DEBUG] Item ID: 967 [18:48:03] [UPLOAD_DEBUG] Item ID: 968 [18:48:03] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/edc609c733fd329e.jpg [18:48:03] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/Documents/MediaCache/t_edc609c733fd329e.jpg [18:48:03] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg [18:48:03] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg [18:48:03] [UPLOAD_DEBUG] Session ID: ILUIWU [18:48:03] [UPLOAD_DEBUG] Session ID: ILUIWU [18:48:03] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [18:48:03] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [18:48:03] [UPLOAD_DEBUG] Retry count: 0 [18:48:03] [UPLOAD_DEBUG] Retry count: 0 [18:48:03] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [18:48:03] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [18:48:03] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading) [18:48:03] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[0]: 1 → 2 [18:48:03] [UPLOAD_STATUS] 📝 Updated chatMessages[0]: status=2 [18:48:03] [UPLOAD_DEBUG] File exists: true [18:48:03] [UPLOAD_STATUS] 📝 Updated chatRows[50]: status=2 [18:48:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:48:03] [UPLOAD_DEBUG] File exists: true [18:48:03] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB) [18:48:03] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [18:48:03] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:48:03] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [18:48:03] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB) [18:48:03] [UPLOAD_STATUS] 🔄 Updated visible cell at row 50 [18:48:03] [UPLOAD_DEBUG] --- startStandardUpload --- [18:48:03] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading) [18:48:03] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [18:48:03] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [18:48:03] [UPLOAD_DEBUG] --- startStandardUpload --- [18:48:03] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [18:48:03] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [18:48:03] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [18:48:03] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [18:48:03] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/24E6A84F-4665-471A-8BFB-1F99BBF7F37D.upload [18:48:03] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/AD17592A-4717-43F4-A3EF-219215BADBCA/tmp/7782B495-0680-44DF-B19E-144D4B600E44.upload [18:48:03] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes [18:48:03] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [18:48:03] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes [18:48:03] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [18:48:03] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg [18:48:03] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading) [18:48:03] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg [18:48:03] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading) [18:48:03] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes) [18:48:03] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages [18:48:03] [UPLOAD_DEBUG] Creating background upload task... [18:48:03] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [18:48:03] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [18:48:03] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes) [18:48:03] [UPLOAD_DEBUG] Creating background upload task... [18:48:03] [UPLOAD_DEBUG] Task created with identifier: 3 [18:48:03] [UPLOAD_DEBUG] Added to activeUploads dictionary [18:48:03] [UPLOAD_DEBUG] Updated DB status to 'uploading' [18:48:03] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=3 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0 [18:48:03] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [18:48:03] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [18:48:03] [UPLOAD_DEBUG] Task created with identifier: 4 [18:48:03] [UPLOAD_DEBUG] Added to activeUploads dictionary [18:48:03] [UPLOAD_DEBUG] Updated DB status to 'uploading' [18:48:03] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=4 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0 [18:48:03] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [18:48:03] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [18:48:51] [LIFECYCLE] App resigning active - cleared crash flag [18:48:51] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [18:48:51] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [18:48:51] [SECURITY] Saved background timestamp [18:48:51] [LIFECYCLE] App entering background - cleared crash flag [18:48:51] [CLIENT_SIG] Disconnecting [18:48:51] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [18:48:51] [DB] ✅ Chat database flushed (WAL checkpoint) before background [18:48:51] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [18:48:51] [LIFECYCLE] Background snapshot: count=50, maxId=23841 [18:48:51] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0 [18:48:51] [WS] Canceling WebSocket for query connection to iosILUIWU [18:48:51] In cleanupPeer [18:48:51] In cleanupPeer [18:48:51] [LIFECYCLE] WebRTC audio disabled [18:48:51] [LIFECYCLE] AVAudioSession deactivated [18:48:51] [LIFECYCLE] All connections stopped [18:48:51] [CLIENT_SIG] WebSocket closed with code 1001 [18:48:51] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [18:48:51] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [18:48:51] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [18:48:51] [SERVER] Stopped reconnect polling [18:48:51] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled [18:48:51] [WS] Query connection error - cleaning up all agent connections and views [18:48:51] Will request stop of video 0 [18:48:51] Will request stop of video 0 [18:48:51] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [18:48:51] [WS] Query connection failed - cleaning up all agent connections and views [18:48:51] [CLEANUP] ======================================== [18:48:51] [CLEANUP] Cleaning up all agent connections and views [18:48:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:48:51] [CLEANUP] Stopped and removed 0 video connections [18:48:51] [CLEANUP] Removed 0 video views [18:48:51] [CLEANUP] Removed 0 feed scroll views [18:48:51] [CLEANUP] Removed 0 status labels [18:48:51] [CLEANUP] Reset agent query state [18:48:51] [CLEANUP] Updated page indicator [18:48:51] [CLEANUP] Rebuilt video layout [18:48:51] [CLEANUP] ✅ All agent connections and views cleaned up [18:48:51] [CLEANUP] ======================================== [18:48:51] [SERVER] Skipping reconnect polling - app is in background [18:48:51] [WS] URLSession invalidated successfully [18:48:51] [PIP] Removing 0 tracks from PiP for connection 0 [18:48:51] [PIP] ✅ All tracks removed for connection 0 [18:48:51] [PIP] Removing 0 tracks from PiP for connection 0 [18:48:51] [PIP] ✅ All tracks removed for connection 0 [18:48:51] [CLEANUP] ======================================== [18:48:51] [CLEANUP] Cleaning up all agent connections and views [18:48:51] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [18:48:51] [CLEANUP] Stopped and removed 0 video connections [18:48:51] [CLEANUP] Removed 0 video views [18:48:51] [CLEANUP] Removed 0 feed scroll views [18:48:51] [CLEANUP] Removed 0 status labels [18:48:51] [CLEANUP] Reset agent query state [18:48:51] [CLEANUP] Updated page indicator [18:48:51] [CLEANUP] Rebuilt video layout [18:48:51] [CLEANUP] ✅ All agent connections and views cleaned up [18:48:51] [CLEANUP] ======================================== [18:48:51] [SERVER] Skipping reconnect polling - app is in background [19:01:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:01:13] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:01:13] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:01:14] [CLIENT_SIG] WebSocket opened [19:01:14] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:01:14] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:01:14] HELLO → sent (cached token, role=query) [19:01:14] [CLIENT_SIG] Connected! clientId=6a9_iigC6Imq5j5O [19:01:14] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:01:14] [WS] Query connection failed - cleaning up all agent connections and views [19:01:14] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:01:14] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:01:14] [CLEANUP] ======================================== [19:01:14] [CLEANUP] Cleaning up all agent connections and views [19:01:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:01:14] [CLEANUP] Stopped and removed 0 video connections [19:01:14] [CLEANUP] Removed 0 video views [19:01:14] [CLEANUP] Removed 0 feed scroll views [19:01:14] [CLEANUP] Removed 0 status labels [19:01:14] [CLEANUP] Reset agent query state [19:01:14] [CLEANUP] Updated page indicator [19:01:14] [CLEANUP] Rebuilt video layout [19:01:14] [CLEANUP] ✅ All agent connections and views cleaned up [19:01:14] [CLEANUP] ======================================== [19:01:14] [SERVER] Skipping reconnect polling - app is in background [19:01:14] [CLEANUP] ======================================== [19:01:14] [CLEANUP] Cleaning up all agent connections and views [19:01:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:01:14] [CLEANUP] Stopped and removed 0 video connections [19:01:14] [CLEANUP] Removed 0 video views [19:01:14] [CLEANUP] Removed 0 feed scroll views [19:01:14] [CLEANUP] Removed 0 status labels [19:01:14] [CLEANUP] Reset agent query state [19:01:14] [CLEANUP] Updated page indicator [19:01:14] [CLEANUP] Rebuilt video layout [19:01:14] [CLEANUP] ✅ All agent connections and views cleaned up [19:01:14] [CLEANUP] ======================================== [19:01:14] [SERVER] Skipping reconnect polling - app is in background [19:01:14] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:01:14] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:01:14] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort} [19:01:14] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:01:14] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalWebSocketTask <0AAA969F-1212-4086-9FBA-0D50F0967734>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <0AAA969F-1212-4086-9FBA-0D50F0967734>.<1>} [19:01:14] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:01:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:01:15] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:03:48] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:03:48] [PUSH] Silent push received [19:03:48] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:03:48 +0000, appState=2, message_id=nil [19:03:48] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[] [19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:03:48 +0000 [19:03:48] [PUSH_EMBED] No embedded message_data in notification [19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [19:03:48] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false [19:03:48] [PUSH] No embedded data, pre-loading messages from server [19:03:48] [PUSH_PRELOAD] Fetching messages for instant display cache [19:03:48] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out. [19:03:48] [WS] Query connection error - cleaning up all agent connections and views [19:03:48] [WS] Connection failed: The request timed out. [19:03:48] [WS] Query connection failed - cleaning up all agent connections and views [19:03:48] [CLEANUP] ======================================== [19:03:48] [CLEANUP] Cleaning up all agent connections and views [19:03:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:03:48] [CLEANUP] Stopped and removed 0 video connections [19:03:48] [CLEANUP] Removed 0 video views [19:03:48] [CLEANUP] Removed 0 feed scroll views [19:03:48] [CLEANUP] Removed 0 status labels [19:03:48] [CLEANUP] Reset agent query state [19:03:48] [CLEANUP] Updated page indicator [19:03:48] [CLEANUP] Rebuilt video layout [19:03:48] [CLEANUP] ✅ All agent connections and views cleaned up [19:03:48] [CLEANUP] ======================================== [19:03:48] [SERVER] Skipping reconnect polling - app is in background [19:03:48] [CLEANUP] ======================================== [19:03:48] [CLEANUP] Cleaning up all agent connections and views [19:03:48] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:03:48] [CLEANUP] Stopped and removed 0 video connections [19:03:48] [CLEANUP] Removed 0 video views [19:03:48] [CLEANUP] Removed 0 feed scroll views [19:03:48] [CLEANUP] Removed 0 status labels [19:03:48] [CLEANUP] Reset agent query state [19:03:48] [CLEANUP] Updated page indicator [19:03:48] [CLEANUP] Rebuilt video layout [19:03:48] [CLEANUP] ✅ All agent connections and views cleaned up [19:03:48] [CLEANUP] ======================================== [19:03:48] [SERVER] Skipping reconnect polling - app is in background [19:03:48] [PUSH] Silent push received [19:03:48] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:03:48 +0000, appState=2, message_id=nil [19:03:48] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[] [19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:03:48 +0000 [19:03:48] [PUSH_EMBED] No embedded message_data in notification [19:03:48] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [19:03:48] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false [19:03:48] [PUSH] No embedded data, pre-loading messages from server [19:03:48] [PUSH_PRELOAD] Fetching messages for instant display cache [19:03:48] [CLIENT_SIG] WebSocket opened [19:03:48] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:03:48] [CLIENT_SIG] Connected! clientId=T73TXcnCiqX3cfLr [19:03:48] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:03:48] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [19:03:48] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:03:48] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [19:03:48] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [19:03:48] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:03:48] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache [19:03:48] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [19:03:48] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [19:03:48] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:03:48] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23841, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }] [19:03:48] [PUSH] Parsed message_id: 23841 [19:03:48] [PUSH] Parsed operation_type: 3 [19:03:48] [PUSH] Taking direct action: opType=3, messageId=23841 [19:03:48] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23841 [19:03:48] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [19:03:48] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [19:03:48] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:03:48] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:03:48] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[] [19:03:48] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:03:48] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [19:03:48] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [19:03:48] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:03:48] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("message_id"): 23840, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }] [19:03:48] [PUSH] Parsed message_id: 23840 [19:03:48] [PUSH] Parsed operation_type: 3 [19:03:48] [PUSH] Taking direct action: opType=3, messageId=23840 [19:03:48] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23840 [19:03:49] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:03:49] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:03:50] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:03:50] HELLO → sent (cached token, role=query) [19:03:50] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:03:50] [WS] Query connection failed - cleaning up all agent connections and views [19:03:50] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:03:50] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:03:50] [CLEANUP] ======================================== [19:03:50] [CLEANUP] Cleaning up all agent connections and views [19:03:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:03:50] [CLEANUP] Stopped and removed 0 video connections [19:03:50] [CLEANUP] Removed 0 video views [19:03:50] [CLEANUP] Removed 0 feed scroll views [19:03:50] [CLEANUP] Removed 0 status labels [19:03:50] [CLEANUP] Reset agent query state [19:03:50] [CLEANUP] Updated page indicator [19:03:50] [CLEANUP] Rebuilt video layout [19:03:50] [CLEANUP] ✅ All agent connections and views cleaned up [19:03:50] [CLEANUP] ======================================== [19:03:50] [SERVER] Skipping reconnect polling - app is in background [19:03:50] [CLEANUP] ======================================== [19:03:50] [CLEANUP] Cleaning up all agent connections and views [19:03:50] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:03:50] [CLEANUP] Stopped and removed 0 video connections [19:03:50] [CLEANUP] Removed 0 video views [19:03:50] [CLEANUP] Removed 0 feed scroll views [19:03:50] [CLEANUP] Removed 0 status labels [19:03:50] [CLEANUP] Reset agent query state [19:03:50] [CLEANUP] Updated page indicator [19:03:50] [CLEANUP] Rebuilt video layout [19:03:50] [CLEANUP] ✅ All agent connections and views cleaned up [19:03:50] [CLEANUP] ======================================== [19:03:50] [SERVER] Skipping reconnect polling - app is in background [19:05:22] [BACKGROUND] Background fetch triggered [19:05:22] [BACKGROUND] Fetching recent messages for pre-cache [19:05:22] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:05:22] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:05:22] [PUSH] Silent push received [19:05:22] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:05:22 +0000, appState=2, message_id=23842 [19:05:22] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:05:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:05:22 +0000 [19:05:22] [PUSH_TRACE] ⬇️ Processing embedded message_id=23842 [19:05:22] [PUSH_EMBED] 📩 Received embedded message: id=23842, type=0, sender=Esra [19:05:22] [PUSH_TRACE] ⬇️ Message details: text="Actually, that’s not that bad, but somehow the sto...", datesent=2026-03-06 18:05:19 [19:05:22] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [19:05:22] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23842 [19:05:22] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23842 [19:05:22] [PUSH_EMBED] ✅ Saved message 23842 to local DB (sync) [19:05:22] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23842 [19:05:22] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23842 [19:05:22] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23842 [19:05:22] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833, 23832] [19:05:22] [PUSH_EMBED] Inserted message 23842 into existing cache (now 51 messages) [19:05:22] [PUSH_TRACE] 📦 ✅ Inserted message 23842, cache now has IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:22] [PUSH_TRACE] 📦 EXITING cache update queue for message 23842 [19:05:22] [PUSH_EMBED] Fetching evolution data for message 23842 in background [19:05:22] [PUSH_EMBED] ✅ Fully processed message 23842 [19:05:22] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23842 [19:05:22] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833], handled=true [19:05:22] [PUSH] Embedded message handled instantly from silent push [19:05:22] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification [19:05:22] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23842 [19:05:22] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort} [19:05:22] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:05:22] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalWebSocketTask <22A314FE-6FE0-42AF-A7C6-181893F2135F>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <22A314FE-6FE0-42AF-A7C6-181893F2135F>.<1>} [19:05:22] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:05:22] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [19:05:22] [PUSH_TRACE] 👁️ handlePushMessageReceived START [19:05:22] [PUSH_TRACE] 👁️ Received message id=23842, text="Actually, that’s not that bad,..." [19:05:22] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [19:05:22] [PUSH_TRACE] 👁️ BEFORE insert: 50 messages, first 5 IDs: [23841, 23840, 23839, 23838, 23837] [19:05:22] [PUSH_TRACE] 👁️ Inserted message 23842 at index 0 [19:05:22] [PUSH_UI] Inserted message 23842 into UI (now 51 messages) [19:05:22] [PUSH_TRACE] 👁️ AFTER insert: 51 messages, first 5 IDs: [23842, 23841, 23840, 23839, 23838] [19:05:22] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:05:22] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success [19:05:22] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:22] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): { datesent = "2026-03-06 18:05:19"; "file_name" = ""; message = "Actually, that\U2019s not that bad, but somehow the story didn\U2019t grab me"; "message_id" = 23842; "message_type" = 0; "prev_session_message_id" = 23841; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("operation_type"): 0, AnyHashable("message_id"): 23842] [19:05:22] [PUSH_EMBED_VC] Message 23842 already in memory - skipping [19:05:22] [PUSH] ⚡ Embedded message handled directly in ViewController [19:05:22] [PUSH] Parsed message_id: 23842 [19:05:22] [PUSH] Parsed operation_type: 0 [19:05:22] [PUSH] Taking direct action: opType=0, messageId=23842 [19:05:22] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23842 [19:05:22] [PUSH] ⚡ Message 23842 already in memory - skipping duplicate notification entirely [19:05:22] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=59 [19:05:22] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:05:22] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [19:05:22] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:22] [RELOAD_TAB] 📊 Building chatRows from 51 messages [19:05:22] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [19:05:22] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [19:05:22] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [19:05:22] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:05:22] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [19:05:22] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23841 → 23842 [19:05:22] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61 [19:05:22] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:05:22] HELLO → sent (cached token, role=query) [19:05:22] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:05:22] [WS] Query connection failed - cleaning up all agent connections and views [19:05:22] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:05:22] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:05:22] [CLEANUP] ======================================== [19:05:22] [CLEANUP] Cleaning up all agent connections and views [19:05:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:22] [CLEANUP] Stopped and removed 0 video connections [19:05:22] [CLEANUP] Removed 0 video views [19:05:22] [CLEANUP] Removed 0 feed scroll views [19:05:22] [CLEANUP] Removed 0 status labels [19:05:22] [CLEANUP] Reset agent query state [19:05:22] [CLEANUP] Updated page indicator [19:05:22] [CLEANUP] Rebuilt video layout [19:05:22] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:22] [CLEANUP] ======================================== [19:05:22] [SERVER] Skipping reconnect polling - app is in background [19:05:22] [CLEANUP] ======================================== [19:05:22] [CLEANUP] Cleaning up all agent connections and views [19:05:22] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:22] [CLEANUP] Stopped and removed 0 video connections [19:05:22] [CLEANUP] Removed 0 video views [19:05:22] [CLEANUP] Removed 0 feed scroll views [19:05:22] [CLEANUP] Removed 0 status labels [19:05:22] [CLEANUP] Reset agent query state [19:05:22] [CLEANUP] Updated page indicator [19:05:22] [CLEANUP] Rebuilt video layout [19:05:22] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:22] [CLEANUP] ======================================== [19:05:22] [SERVER] Skipping reconnect polling - app is in background [19:05:23] [BACKGROUND] Fetched 50 messages - saving to DB and pre-caching [19:05:23] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [19:05:23] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:23] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:23] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23792] [19:05:23] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23792] [19:05:23] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:23] [BACKGROUND] Pre-cached 51 ChatMessage objects for instant display (preserved 1 from push) [19:05:23] [PUSH_EMBED] Got evolution data for message 23842, saving to local DB [19:05:23] [PUSH_EMBED] Saved evolution data for message 23842 [19:05:23] [BACKGROUND] Pre-downloaded 0 thumbnails [19:05:23] [BACKGROUND] ✅ Background fetch complete with thumbnail pre-download [19:05:24] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:05:24] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:05:24] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:05:24] HELLO → sent (cached token, role=query) [19:05:24] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:05:24] [WS] Query connection failed - cleaning up all agent connections and views [19:05:24] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:05:24] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:05:24] [CLEANUP] ======================================== [19:05:24] [CLEANUP] Cleaning up all agent connections and views [19:05:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:24] [CLEANUP] Stopped and removed 0 video connections [19:05:24] [CLEANUP] Removed 0 video views [19:05:24] [CLEANUP] Removed 0 feed scroll views [19:05:24] [CLEANUP] Removed 0 status labels [19:05:24] [CLEANUP] Reset agent query state [19:05:24] [CLEANUP] Updated page indicator [19:05:24] [CLEANUP] Rebuilt video layout [19:05:24] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:24] [CLEANUP] ======================================== [19:05:24] [SERVER] Skipping reconnect polling - app is in background [19:05:24] [CLEANUP] ======================================== [19:05:24] [CLEANUP] Cleaning up all agent connections and views [19:05:24] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:24] [CLEANUP] Stopped and removed 0 video connections [19:05:24] [CLEANUP] Removed 0 video views [19:05:24] [CLEANUP] Removed 0 feed scroll views [19:05:24] [CLEANUP] Removed 0 status labels [19:05:24] [CLEANUP] Reset agent query state [19:05:24] [CLEANUP] Updated page indicator [19:05:24] [CLEANUP] Rebuilt video layout [19:05:24] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:24] [CLEANUP] ======================================== [19:05:24] [SERVER] Skipping reconnect polling - app is in background [19:05:26] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:05:26] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:05:26] [BACKGROUND] Background fetch triggered [19:05:26] [BACKGROUND] Fetching recent messages for pre-cache [19:05:26] [PUSH] Silent push received [19:05:26] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:05:26 +0000, appState=2, message_id=nil [19:05:26] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:26] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:05:26 +0000 [19:05:26] [PUSH_EMBED] No embedded message_data in notification [19:05:26] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [19:05:26] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833], handled=false [19:05:26] [PUSH] No embedded data, pre-loading messages from server [19:05:26] [PUSH_PRELOAD] Fetching messages for instant display cache [19:05:26] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:05:26] [BACKGROUND] Fetched 50 messages - saving to DB and pre-caching [19:05:26] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:05:26] HELLO → sent (cached token, role=query) [19:05:26] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:26] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23792] [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23792] [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:26] [BACKGROUND] Pre-cached 51 ChatMessage objects for instant display (preserved 1 from push) [19:05:26] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:05:26] [WS] Query connection failed - cleaning up all agent connections and views [19:05:26] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:05:26] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:05:26] [CLEANUP] ======================================== [19:05:26] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [19:05:26] [CLEANUP] Cleaning up all agent connections and views [19:05:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:26] [CLEANUP] Stopped and removed 0 video connections [19:05:26] [CLEANUP] Removed 0 video views [19:05:26] [CLEANUP] Removed 0 feed scroll views [19:05:26] [CLEANUP] Removed 0 status labels [19:05:26] [CLEANUP] Reset agent query state [19:05:26] [CLEANUP] Updated page indicator [19:05:26] [CLEANUP] Rebuilt video layout [19:05:26] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:26] [CLEANUP] ======================================== [19:05:26] [SERVER] Skipping reconnect polling - app is in background [19:05:26] [CLEANUP] ======================================== [19:05:26] [CLEANUP] Cleaning up all agent connections and views [19:05:26] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:26] [CLEANUP] Stopped and removed 0 video connections [19:05:26] [CLEANUP] Removed 0 video views [19:05:26] [CLEANUP] Removed 0 feed scroll views [19:05:26] [CLEANUP] Removed 0 status labels [19:05:26] [CLEANUP] Reset agent query state [19:05:26] [CLEANUP] Updated page indicator [19:05:26] [CLEANUP] Rebuilt video layout [19:05:26] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:26] [CLEANUP] ======================================== [19:05:26] [SERVER] Skipping reconnect polling - app is in background [19:05:26] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:26] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23792] [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23792] [19:05:26] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:26] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push) [19:05:26] [BACKGROUND] Pre-downloaded 0 thumbnails [19:05:26] [BACKGROUND] ✅ Background fetch complete with thumbnail pre-download [19:05:26] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [19:05:27] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:05:27] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23842] [19:05:27] [PUSH] Parsed message_id: 23842 [19:05:27] [PUSH] Parsed operation_type: 3 [19:05:27] [PUSH] Taking direct action: opType=3, messageId=23842 [19:05:27] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23842 [19:05:27] [CLIENT_SIG] WebSocket opened [19:05:27] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:05:27] [CLIENT_SIG] Connected! clientId=jivMn4OMF0tnZ_y- [19:05:27] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:05:27] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [19:05:27] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:05:28] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:05:28] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:05:28] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:05:28] HELLO → sent (cached token, role=query) [19:05:28] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:05:28] [WS] Query connection failed - cleaning up all agent connections and views [19:05:28] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:05:28] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:05:28] [CLEANUP] ======================================== [19:05:28] [CLEANUP] Cleaning up all agent connections and views [19:05:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:28] [CLEANUP] Stopped and removed 0 video connections [19:05:28] [CLEANUP] Removed 0 video views [19:05:28] [CLEANUP] Removed 0 feed scroll views [19:05:28] [CLEANUP] Removed 0 status labels [19:05:28] [CLEANUP] Reset agent query state [19:05:28] [CLEANUP] Updated page indicator [19:05:28] [CLEANUP] Rebuilt video layout [19:05:28] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:28] [CLEANUP] ======================================== [19:05:28] [SERVER] Skipping reconnect polling - app is in background [19:05:28] [CLEANUP] ======================================== [19:05:28] [CLEANUP] Cleaning up all agent connections and views [19:05:28] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:28] [CLEANUP] Stopped and removed 0 video connections [19:05:28] [CLEANUP] Removed 0 video views [19:05:28] [CLEANUP] Removed 0 feed scroll views [19:05:28] [CLEANUP] Removed 0 status labels [19:05:28] [CLEANUP] Reset agent query state [19:05:28] [CLEANUP] Updated page indicator [19:05:28] [CLEANUP] Rebuilt video layout [19:05:28] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:28] [CLEANUP] ======================================== [19:05:28] [SERVER] Skipping reconnect polling - app is in background [19:05:30] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:05:30] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:05:32] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:05:32] HELLO → sent (cached token, role=query) [19:05:32] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:05:32] [WS] Query connection failed - cleaning up all agent connections and views [19:05:32] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:05:32] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:05:32] [CLEANUP] ======================================== [19:05:32] [CLEANUP] Cleaning up all agent connections and views [19:05:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:32] [CLEANUP] Stopped and removed 0 video connections [19:05:32] [CLEANUP] Removed 0 video views [19:05:32] [CLEANUP] Removed 0 feed scroll views [19:05:32] [CLEANUP] Removed 0 status labels [19:05:32] [CLEANUP] Reset agent query state [19:05:32] [CLEANUP] Updated page indicator [19:05:32] [CLEANUP] Rebuilt video layout [19:05:32] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:32] [CLEANUP] ======================================== [19:05:32] [SERVER] Skipping reconnect polling - app is in background [19:05:32] [CLEANUP] ======================================== [19:05:32] [CLEANUP] Cleaning up all agent connections and views [19:05:32] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:32] [CLEANUP] Stopped and removed 0 video connections [19:05:32] [CLEANUP] Removed 0 video views [19:05:32] [CLEANUP] Removed 0 feed scroll views [19:05:32] [CLEANUP] Removed 0 status labels [19:05:32] [CLEANUP] Reset agent query state [19:05:32] [CLEANUP] Updated page indicator [19:05:32] [CLEANUP] Rebuilt video layout [19:05:32] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:32] [CLEANUP] ======================================== [19:05:32] [SERVER] Skipping reconnect polling - app is in background [19:05:34] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:05:34] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:05:34] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:05:34] HELLO → sent (cached token, role=query) [19:05:34] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:05:34] [WS] Query connection failed - cleaning up all agent connections and views [19:05:34] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:05:34] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:05:34] [CLEANUP] ======================================== [19:05:34] [CLEANUP] Cleaning up all agent connections and views [19:05:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:34] [CLEANUP] Stopped and removed 0 video connections [19:05:34] [CLEANUP] Removed 0 video views [19:05:34] [CLEANUP] Removed 0 feed scroll views [19:05:34] [CLEANUP] Removed 0 status labels [19:05:34] [CLEANUP] Reset agent query state [19:05:34] [CLEANUP] Updated page indicator [19:05:34] [CLEANUP] Rebuilt video layout [19:05:34] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:34] [CLEANUP] ======================================== [19:05:34] [SERVER] Skipping reconnect polling - app is in background [19:05:34] [CLEANUP] ======================================== [19:05:34] [CLEANUP] Cleaning up all agent connections and views [19:05:34] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:05:34] [CLEANUP] Stopped and removed 0 video connections [19:05:34] [CLEANUP] Removed 0 video views [19:05:34] [CLEANUP] Removed 0 feed scroll views [19:05:34] [CLEANUP] Removed 0 status labels [19:05:34] [CLEANUP] Reset agent query state [19:05:34] [CLEANUP] Updated page indicator [19:05:34] [CLEANUP] Rebuilt video layout [19:05:34] [CLEANUP] ✅ All agent connections and views cleaned up [19:05:34] [CLEANUP] ======================================== [19:05:34] [SERVER] Skipping reconnect polling - app is in background [19:05:41] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [19:05:41] [CLIENT_SIG] Client disconnected: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) on session 'ILUIWU' (my session: 'ILUIWU') [19:07:59] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:07:59] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:07:59] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort} [19:07:59] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:07:59] [CLIENT_SIG] Task completed with error: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={NSDescription=Software caused connection abort, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalWebSocketTask <6DC225E3-DF0F-4941-8F51-FBFCF4AB686A>.<1>" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <6DC225E3-DF0F-4941-8F51-FBFCF4AB686A>.<1>} [19:07:59] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:08:01] [SECURITY] Timeout check: elapsed=1150.469650030136s, timeout=300.0s [19:08:01] [SECURITY] sceneWillEnterForeground - timeout exceeded, showing lock screen immediately [19:08:01] [AUTH] ✅ All guards passed, showing privacy cover [19:08:01] [LIFECYCLE] App entering foreground - restoring connections [19:08:01] [PUSH_TRACE] 🔄 FOREGROUND: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:01] [PUSH_TRACE] 🔄 FOREGROUND: cache has 51 msgs, valid=true, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:01] [LIFECYCLE] Away > 2 minutes (1150s) - will scroll to bottom [19:08:01] [UPLOAD_RETRY] No pending uploads to retry [19:08:01] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:08:01] [READBY_OPT] Fetching readBy for 2 unsettled messages (targeted) [19:08:01] [LIFECYCLE] WebRTC audio re-enabled [19:08:01] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [19:08:01] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [19:08:01] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:08:01] [VIEWER] Reconnecting after background - querying agents [19:08:01] [UNSENT_RETRY] Checking for unsent messages... [19:08:01] [PENDING_UPLOAD] Total pending upload messages: 0 [19:08:01] [UNSENT_RETRY] No unsent messages found [19:08:01] [PUSH] Notification tapped - session_id: ILUIWU [19:08:01] [PUSH] Max message_id before tap: 23842 [19:08:01] [PUSH] Stored pending session: ILUIWU [19:08:01] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:08:01 +0000 [19:08:01] [PUSH_TRACE] ⬇️ Processing embedded message_id=23842 [19:08:01] [PUSH_EMBED] 📩 Received embedded message: id=23842, type=0, sender=Esra [19:08:01] [PUSH_TRACE] ⬇️ Message details: text="Actually, that’s not that bad, but somehow the sto...", datesent=2026-03-06 18:05:19 [19:08:01] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [19:08:01] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23842 [19:08:01] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23842 [19:08:01] [PUSH_EMBED] ✅ Saved message 23842 to local DB (sync) [19:08:01] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23842 [19:08:01] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23842 [19:08:01] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23842 [19:08:01] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:01] [PUSH_TRACE] 📦 ⚠️ Message 23842 already in cache, skipping insert [19:08:01] [PUSH_TRACE] 📦 EXITING cache update queue for message 23842 [19:08:01] [PUSH_EMBED] Fetching evolution data for message 23842 in background [19:08:01] [PUSH_EMBED] ✅ Fully processed message 23842 [19:08:01] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23842 [19:08:01] [PUSH] Embedded message handled instantly on tap [19:08:01] [PUSH] Fetching server messages since_id=23842 to catch coalesced notifications on tap [19:08:01] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:01] HELLO → sent (cached token, role=query) [19:08:01] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [19:08:01] [PUSH_TRACE] 👁️ handlePushMessageReceived START [19:08:01] [PUSH_TRACE] 👁️ Received message id=23842, text="Actually, that’s not that bad,..." [19:08:01] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [19:08:01] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23842 to catch coalesced notifications [19:08:01] [PUSH_UI] Message 23842 already in memory - skipping insert [19:08:01] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists [19:08:01] [PUSH_PRELOAD] Fetching messages for instant display cache [19:08:01] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:01] [WS] Query connection failed - cleaning up all agent connections and views [19:08:01] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:01] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:01] [CLEANUP] ======================================== [19:08:01] [CLEANUP] Cleaning up all agent connections and views [19:08:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:01] [CLEANUP] Stopped and removed 0 video connections [19:08:01] [CLEANUP] Removed 0 video views [19:08:01] [CLEANUP] Removed 0 feed scroll views [19:08:01] [CLEANUP] Removed 0 status labels [19:08:01] [CLEANUP] Reset agent query state [19:08:01] [CLEANUP] Updated page indicator [19:08:01] [CLEANUP] Rebuilt video layout [19:08:01] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:01] [CLEANUP] ======================================== [19:08:01] [SERVER] Starting reconnect polling (5s interval) [19:08:01] [CLEANUP] ======================================== [19:08:01] [CLEANUP] Cleaning up all agent connections and views [19:08:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:01] [CLEANUP] Stopped and removed 0 video connections [19:08:01] [CLEANUP] Removed 0 video views [19:08:01] [CLEANUP] Removed 0 feed scroll views [19:08:01] [CLEANUP] Removed 0 status labels [19:08:01] [CLEANUP] Reset agent query state [19:08:01] [CLEANUP] Updated page indicator [19:08:01] [CLEANUP] Rebuilt video layout [19:08:01] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:01] [CLEANUP] ======================================== [19:08:01] [SERVER] Starting reconnect polling (5s interval) [19:08:01] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=61 [19:08:01] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:08:01] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [19:08:01] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:01] [RELOAD_TAB] 📊 Building chatRows from 51 messages [19:08:01] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [19:08:01] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [19:08:01] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [19:08:01] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:08:01] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [19:08:01] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61 [19:08:02] [CLIENT_SIG] WebSocket opened [19:08:02] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:08:02] [CLIENT_SIG] Connected! clientId=pTcIcrc2RRLMb82B [19:08:02] [COMBINED_FETCH] Loaded 2 read receipts, 0 messages with reactions [19:08:02] [FOREGROUND] Enriched 2/2 unsettled messages with readBy data [19:08:02] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=51>50=true, maxId=23842>23841=true, shouldScroll=true [19:08:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:08:02] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:08:02] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:08:02] [PUSH_EMBED] Got evolution data for message 23842, saving to local DB [19:08:02] [PUSH_EMBED] Saved evolution data for message 23842 [19:08:02] [PUSH_PRELOAD] No messages or parse error [19:08:02] [PUSH] Server fetch on tap completed (success=false) [19:08:02] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:02] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-06 18:05:19"; "file_name" = ""; message = "Actually, that\U2019s not that bad, but somehow the story didn\U2019t grab me"; "message_id" = 23842; "message_type" = 0; "prev_session_message_id" = 23841; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23842] [19:08:02] [PUSH_EMBED_VC] Message 23842 already in memory - skipping [19:08:02] [PUSH] ⚡ Embedded message handled directly in ViewController [19:08:02] [PUSH] Parsed message_id: 23842 [19:08:02] [PUSH] Parsed operation_type: 0 [19:08:02] [PUSH] Taking direct action: opType=0, messageId=23842 [19:08:02] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23842 [19:08:02] [PUSH] ⚡ Message 23842 already in memory - skipping duplicate notification entirely [19:08:02] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=61 [19:08:02] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:08:02] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [19:08:02] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:02] [RELOAD_TAB] 📊 Building chatRows from 51 messages [19:08:02] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [19:08:02] [SCROLL] 💓 alive, visible=45...51, rows=52, estHeight=0.0, heightCalls=0 [19:08:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [19:08:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [19:08:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:08:02] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [19:08:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [19:08:02] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [19:08:02] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [19:08:02] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:02] [PUSH] handlePollEventsNotification userInfo: [:] [19:08:02] [PUSH] No message_id in userInfo [19:08:02] [PUSH] No operation_type in userInfo [19:08:02] [FAST_REFRESH] Evolution disabled - performing incremental sync [19:08:02] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=51, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:02] [PUSH_TRACE] 📬 POLL: memory state: count=51, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:02] [FAST_REFRESH] Already have 51 messages in memory [19:08:02] [FAST_REFRESH] maxMemoryId=23842, maxLocalId=23842 [19:08:02] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [19:08:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:08:02] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [19:08:02] [READBY_OPT] No message IDs to fetch - skipping server call [19:08:02] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51 [19:08:02] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23842, maxMemoryId=23842 [19:08:02] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23842 [19:08:02] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [19:08:02] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:08:02] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:08:02] [INCREMENTAL_SYNC] ✅ No new messages [19:08:02] [FAST_REFRESH] Incremental sync complete - 51 messages [19:08:02] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=59 [19:08:02] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:08:02] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [19:08:02] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:02] [RELOAD_TAB] 📊 Building chatRows from 51 messages [19:08:02] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [19:08:02] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [19:08:02] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [19:08:02] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:08:02] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [19:08:02] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [19:08:03] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:08:03] [WS] Opening session at ws://crivello.dyndns.org:8081/[19:08:03] [LOG] Pruned 351 entries older than 3 hours [19:08:03] [SECURITY] Restored real session: ILUIWU [19:08:03] [SECURITY] Restored real session: ILUIWU [19:08:03] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:08:03] [FAKE MODE] Exiting fake mode, restoring real session [19:08:03] [SECURITY] Restored real session: ILUIWU [19:08:03] [SECURITY] Saved real session: ILUIWU [19:08:03] [FAKE MODE] ✅ Restored real session: ILUIWU [19:08:03] [FAKE MODE] Loaded 50 messages (limited to page size) [19:08:03] [READBY_OPT] No message IDs to fetch - skipping server call [19:08:03] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [19:08:03] [AUTH] Cache had 51 messages, maxExistingId=23842, inserted 0 truly new [19:08:03] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23841=true, shouldScroll=true [19:08:03] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:08:03] [AUTH] UI update complete [19:08:03] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [19:08:03] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:08:03] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:03] HELLO → sent (cached token, role=query) [19:08:03] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [19:08:03] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [19:08:03] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data [19:08:03] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:08:03] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:08:03] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:08:03] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:08:03] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:08:03] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=117 [19:08:03] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:03] [WS] Query connection failed - cleaning up all agent connections and views [19:08:03] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:03] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:03] [CLEANUP] ======================================== [19:08:03] [CLEANUP] Cleaning up all agent connections and views [19:08:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:03] [CLEANUP] Stopped and removed 0 video connections [19:08:03] [CLEANUP] Removed 0 video views [19:08:03] [CLEANUP] Removed 0 feed scroll views [19:08:03] [CLEANUP] Removed 0 status labels [19:08:03] [CLEANUP] Reset agent query state [19:08:03] [CLEANUP] Updated page indicator [19:08:03] [CLEANUP] Rebuilt video layout [19:08:03] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:03] [CLEANUP] ======================================== [19:08:03] [SERVER] Starting reconnect polling (5s interval) [19:08:03] [CLEANUP] ======================================== [19:08:03] [CLEANUP] Cleaning up all agent connections and views [19:08:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:03] [CLEANUP] Stopped and removed 0 video connections [19:08:03] [CLEANUP] Removed 0 video views [19:08:03] [CLEANUP] Removed 0 feed scroll views [19:08:03] [CLEANUP] Removed 0 status labels [19:08:03] [CLEANUP] Reset agent query state [19:08:03] [CLEANUP] Updated page indicator [19:08:03] [CLEANUP] Rebuilt video layout [19:08:03] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:03] [CLEANUP] ======================================== [19:08:03] [SERVER] Starting reconnect polling (5s interval) [19:08:03] [USER] ✅ User registered successfully [19:08:03] [PUSH] User registration after token update: success [19:08:03] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [19:08:03] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:08:03] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:08:03] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:03] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:08:03] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:08:03] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:08:03] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:08:03] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:08:03] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:08:05] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:08:05] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:08:05] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:05] HELLO → sent (cached token, role=query) [19:08:05] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:05] [WS] Query connection failed - cleaning up all agent connections and views [19:08:05] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:05] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:05] [CLEANUP] ======================================== [19:08:05] [CLEANUP] Cleaning up all agent connections and views [19:08:05] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:05] [CLEANUP] Stopped and removed 0 video connections [19:08:05] [CLEANUP] Removed 0 video views [19:08:05] [CLEANUP] Removed 0 feed scroll views [19:08:05] [CLEANUP] Removed 0 status labels [19:08:05] [CLEANUP] Reset agent query state [19:08:05] [CLEANUP] Updated page indicator [19:08:05] [CLEANUP] Rebuilt video layout [19:08:05] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:05] [CLEANUP] ======================================== [19:08:05] [SERVER] Starting reconnect polling (5s interval) [19:08:05] [CLEANUP] ======================================== [19:08:05] [CLEANUP] Cleaning up all agent connections and views [19:08:05] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:05] [CLEANUP] Stopped and removed 0 video connections [19:08:05] [CLEANUP] Removed 0 video views [19:08:05] [CLEANUP] Removed 0 feed scroll views [19:08:05] [CLEANUP] Removed 0 status labels [19:08:05] [CLEANUP] Reset agent query state [19:08:05] [CLEANUP] Updated page indicator [19:08:05] [CLEANUP] Rebuilt video layout [19:08:05] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:05] [CLEANUP] ======================================== [19:08:05] [SERVER] Starting reconnect polling (5s interval) [19:08:07] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:08:07] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:08:07] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:07] HELLO → sent (cached token, role=query) [19:08:07] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:07] [WS] Query connection failed - cleaning up all agent connections and views [19:08:07] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:07] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:07] [CLEANUP] ======================================== [19:08:07] [CLEANUP] Cleaning up all agent connections and views [19:08:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:07] [CLEANUP] Stopped and removed 0 video connections [19:08:07] [CLEANUP] Removed 0 video views [19:08:07] [CLEANUP] Removed 0 feed scroll views [19:08:07] [CLEANUP] Removed 0 status labels [19:08:07] [CLEANUP] Reset agent query state [19:08:07] [CLEANUP] Updated page indicator [19:08:07] [CLEANUP] Rebuilt video layout [19:08:07] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:07] [CLEANUP] ======================================== [19:08:07] [SERVER] Starting reconnect polling (5s interval) [19:08:07] [CLEANUP] ======================================== [19:08:07] [CLEANUP] Cleaning up all agent connections and views [19:08:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:07] [CLEANUP] Stopped and removed 0 video connections [19:08:07] [CLEANUP] Removed 0 video views [19:08:07] [CLEANUP] Removed 0 feed scroll views [19:08:07] [CLEANUP] Removed 0 status labels [19:08:07] [CLEANUP] Reset agent query state [19:08:07] [CLEANUP] Updated page indicator [19:08:07] [CLEANUP] Rebuilt video layout [19:08:07] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:07] [CLEANUP] ======================================== [19:08:07] [SERVER] Starting reconnect polling (5s interval) [19:08:07] [MENU] dismissAnyExistingMenu called [19:08:07] [MENU] dismissAnyExistingMenu completed [19:08:07] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=59 [19:08:08] [SCROLL_BTN] Showing button - 380pt from bottom > half 379pt [19:08:08] [MENU] dismissAnyExistingMenu called [19:08:08] [MENU] dismissAnyExistingMenu completed [19:08:08] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:08:08] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:08:08] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:08:08] [SCROLL] 💓 alive, visible=45...50, rows=51, estHeight=0.0, heightCalls=19 [19:08:09] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:08:09] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:08:09] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:09] HELLO → sent (cached token, role=query) [19:08:09] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:09] [WS] Query connection failed - cleaning up all agent connections and views [19:08:09] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:09] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:09] [CLEANUP] ======================================== [19:08:09] [CLEANUP] Cleaning up all agent connections and views [19:08:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:09] [CLEANUP] Stopped and removed 0 video connections [19:08:09] [CLEANUP] Removed 0 video views [19:08:09] [CLEANUP] Removed 0 feed scroll views [19:08:09] [CLEANUP] Removed 0 status labels [19:08:09] [CLEANUP] Reset agent query state [19:08:09] [CLEANUP] Updated page indicator [19:08:09] [CLEANUP] Rebuilt video layout [19:08:09] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:09] [CLEANUP] ======================================== [19:08:09] [SERVER] Starting reconnect polling (5s interval) [19:08:09] [CLEANUP] ======================================== [19:08:09] [CLEANUP] Cleaning up all agent connections and views [19:08:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:09] [CLEANUP] Stopped and removed 0 video connections [19:08:09] [CLEANUP] Removed 0 video views [19:08:09] [CLEANUP] Removed 0 feed scroll views [19:08:09] [CLEANUP] Removed 0 status labels [19:08:09] [CLEANUP] Reset agent query state [19:08:09] [CLEANUP] Updated page indicator [19:08:09] [CLEANUP] Rebuilt video layout [19:08:09] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:09] [CLEANUP] ======================================== [19:08:09] [SERVER] Starting reconnect polling (5s interval) [19:08:11] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:08:11] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:08:11] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:11] HELLO → sent (cached token, role=query) [19:08:11] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:11] [WS] Query connection failed - cleaning up all agent connections and views [19:08:11] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:11] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:11] [CLEANUP] ======================================== [19:08:11] [CLEANUP] Cleaning up all agent connections and views [19:08:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:11] [CLEANUP] Stopped and removed 0 video connections [19:08:11] [CLEANUP] Removed 0 video views [19:08:11] [CLEANUP] Removed 0 feed scroll views [19:08:11] [CLEANUP] Removed 0 status labels [19:08:11] [CLEANUP] Reset agent query state [19:08:11] [CLEANUP] Updated page indicator [19:08:11] [CLEANUP] Rebuilt video layout [19:08:11] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:11] [CLEANUP] ======================================== [19:08:11] [SERVER] Starting reconnect polling (5s interval) [19:08:11] [CLEANUP] ======================================== [19:08:11] [CLEANUP] Cleaning up all agent connections and views [19:08:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:11] [CLEANUP] Stopped and removed 0 video connections [19:08:11] [CLEANUP] Removed 0 video views [19:08:11] [CLEANUP] Removed 0 feed scroll views [19:08:11] [CLEANUP] Removed 0 status labels [19:08:11] [CLEANUP] Reset agent query state [19:08:11] [CLEANUP] Updated page indicator [19:08:11] [CLEANUP] Rebuilt video layout [19:08:11] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:11] [CLEANUP] ======================================== [19:08:11] [SERVER] Starting reconnect polling (5s interval) [19:08:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:08:13] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:08:13] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:13] HELLO → sent (cached token, role=query) [19:08:13] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:13] [WS] Query connection failed - cleaning up all agent connections and views [19:08:13] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:13] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:13] [CLEANUP] ======================================== [19:08:13] [CLEANUP] Cleaning up all agent connections and views [19:08:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:13] [CLEANUP] Stopped and removed 0 video connections [19:08:13] [CLEANUP] Removed 0 video views [19:08:13] [CLEANUP] Removed 0 feed scroll views [19:08:13] [CLEANUP] Removed 0 status labels [19:08:13] [CLEANUP] Reset agent query state [19:08:13] [CLEANUP] Updated page indicator [19:08:13] [CLEANUP] Rebuilt video layout [19:08:13] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:13] [CLEANUP] ======================================== [19:08:13] [SERVER] Starting reconnect polling (5s interval) [19:08:13] [CLEANUP] ======================================== [19:08:13] [CLEANUP] Cleaning up all agent connections and views [19:08:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:13] [CLEANUP] Stopped and removed 0 video connections [19:08:13] [CLEANUP] Removed 0 video views [19:08:13] [CLEANUP] Removed 0 feed scroll views [19:08:13] [CLEANUP] Removed 0 status labels [19:08:13] [CLEANUP] Reset agent query state [19:08:13] [CLEANUP] Updated page indicator [19:08:13] [CLEANUP] Rebuilt video layout [19:08:13] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:13] [CLEANUP] ======================================== [19:08:13] [SERVER] Starting reconnect polling (5s interval) [19:08:14] [LOCK] Lock button tapped - locking app immediately [19:08:14] [LOCK] Received lock app notification [19:08:14] [LIFECYCLE] App resigning active - cleared crash flag [19:08:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:08:15] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:08:15] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:08:15] HELLO → sent (cached token, role=query) [19:08:15] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:08:15] [WS] Query connection failed - cleaning up all agent connections and views [19:08:15] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:08:15] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:08:15] [CLEANUP] ======================================== [19:08:15] [CLEANUP] Cleaning up all agent connections and views [19:08:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:15] [CLEANUP] Stopped and removed 0 video connections [19:08:15] [CLEANUP] Removed 0 video views [19:08:15] [CLEANUP] Removed 0 feed scroll views [19:08:15] [CLEANUP] Removed 0 status labels [19:08:15] [CLEANUP] Reset agent query state [19:08:15] [CLEANUP] Updated page indicator [19:08:15] [CLEANUP] Rebuilt video layout [19:08:15] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:15] [CLEANUP] ======================================== [19:08:15] [SERVER] Starting reconnect polling (5s interval) [19:08:15] [CLEANUP] ======================================== [19:08:15] [CLEANUP] Cleaning up all agent connections and views [19:08:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:08:15] [CLEANUP] Stopped and removed 0 video connections [19:08:15] [CLEANUP] Removed 0 video views [19:08:15] [CLEANUP] Removed 0 feed scroll views [19:08:15] [CLEANUP] Removed 0 status labels [19:08:15] [CLEANUP] Reset agent query state [19:08:15] [CLEANUP] Updated page indicator [19:08:15] [CLEANUP] Rebuilt video layout [19:08:15] [CLEANUP] ✅ All agent connections and views cleaned up [19:08:15] [CLEANUP] ======================================== [19:08:15] [SERVER] Starting reconnect polling (5s interval) [19:08:15] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [19:08:15] [SECURITY] sceneDidEnterBackground - isAuthenticated=false [19:08:15] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false [19:08:15] [LIFECYCLE] App entering background - cleared crash flag [19:08:15] [CLIENT_SIG] Disconnecting [19:08:15] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [19:08:15] [DB] ✅ Chat database flushed (WAL checkpoint) before background [19:08:15] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:08:15] [LIFECYCLE] Background snapshot: count=50, maxId=23842 [19:08:15] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [19:08:15] [WS] Canceling WebSocket for query connection to iosILUIWU [19:08:15] In cleanupPeer [19:08:15] In cleanupPeer [19:08:15] [LIFECYCLE] WebRTC audio disabled [19:08:15] [LIFECYCLE] AVAudioSession deactivated [19:08:15] [LIFECYCLE] All connections stopped [19:08:15] [CLIENT_SIG] WebSocket closed with code 1001 [19:08:15] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:08:15] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [19:08:15] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:08:15] [SERVER] Stopped reconnect polling [19:08:15] [WS] URLSession invalidated successfully [19:08:15] Will request stop of video 0 [19:08:15] Will request stop of video 0 [19:08:15] [PIP] Removing 0 tracks from PiP for connection 0 [19:08:15] [PIP] ✅ All tracks removed for connection 0 [19:08:15] [PIP] Removing 0 tracks from PiP for connection 0 [19:08:15] [PIP] ✅ All tracks removed for connection 0 [19:09:07] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [19:09:07] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:09:07] [LIFECYCLE] App entering foreground - restoring connections [19:09:07] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:07] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[] [19:09:07] [UPLOAD_RETRY] No pending uploads to retry [19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:07] [READBY_OPT] No message IDs to fetch - skipping server call [19:09:07] [LIFECYCLE] WebRTC audio re-enabled [19:09:07] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [19:09:07] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [19:09:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:09:07] [VIEWER] Reconnecting after background - querying agents [19:09:07] [UNSENT_RETRY] Checking for unsent messages... [19:09:07] [PENDING_UPLOAD] Total pending upload messages: 0 [19:09:07] [UNSENT_RETRY] No unsent messages found [19:09:07] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:09:07] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:09:07] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:09:07] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data [19:09:07] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false [19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:09:07] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [19:09:07] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [19:09:07] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:07] [PUSH] handlePollEventsNotification userInfo: [:] [19:09:07] [PUSH] No message_id in userInfo [19:09:07] [PUSH] No operation_type in userInfo [19:09:07] [FAST_REFRESH] Evolution disabled - performing incremental sync [19:09:07] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[] [19:09:07] [PUSH_TRACE] 📬 POLL: memory state: count=50, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:07] [FAST_REFRESH] Already have 50 messages in memory [19:09:07] [FAST_REFRESH] maxMemoryId=23842, maxLocalId=23842 [19:09:07] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:09:07] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [19:09:07] [READBY_OPT] No message IDs to fetch - skipping server call [19:09:07] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [19:09:07] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23842, maxMemoryId=23842 [19:09:07] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23842 [19:09:07] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [19:09:07] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:07] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:09:07] [CLIENT_SIG] WebSocket opened [19:09:07] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:09:07] [CLIENT_SIG] Connected! clientId=26yicYQoMit1d5Kt [19:09:07] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=2 [19:09:07] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:09:07] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:09:07] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:07] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:09:07] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:09:07] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:09:07] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:09:07] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:09:07] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:09:07] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:09:07] HELLO → sent (cached token, role=query) [19:09:07] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:09:07] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:09:07] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:09:07] [WS] Query connection failed - cleaning up all agent connections and views [19:09:07] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:09:07] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:09:07] [CLEANUP] ======================================== [19:09:07] [CLEANUP] Cleaning up all agent connections and views [19:09:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:07] [CLEANUP] Stopped and removed 0 video connections [19:09:07] [CLEANUP] Removed 0 video views [19:09:07] [CLEANUP] Removed 0 feed scroll views [19:09:07] [CLEANUP] Removed 0 status labels [19:09:07] [CLEANUP] Reset agent query state [19:09:07] [CLEANUP] Updated page indicator [19:09:07] [CLEANUP] Rebuilt video layout [19:09:07] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:07] [CLEANUP] ======================================== [19:09:07] [SERVER] Starting reconnect polling (5s interval) [19:09:07] [CLEANUP] ======================================== [19:09:07] [CLEANUP] Cleaning up all agent connections and views [19:09:07] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:07] [CLEANUP] Stopped and removed 0 video connections [19:09:07] [CLEANUP] Removed 0 video views [19:09:07] [CLEANUP] Removed 0 feed scroll views [19:09:07] [CLEANUP] Removed 0 status labels [19:09:07] [CLEANUP] Reset agent query state [19:09:07] [CLEANUP] Updated page indicator [19:09:07] [CLEANUP] Rebuilt video layout [19:09:07] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:07] [CLEANUP] ======================================== [19:09:07] [SERVER] Starting reconnect polling (5s interval) [19:09:07] [INCREMENTAL_SYNC] ✅ No new messages [19:09:07] [FAST_REFRESH] Incremental sync complete - 50 messages [19:09:08] [PIN_AUTH] Correct PIN [19:09:08] [SECURITY] Restored real session: ILUIWU [19:09:08] [SECURITY] Restored real session: ILUIWU [19:09:09] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true [19:09:09] [FAKE MODE] Exiting fake mode, restoring real session [19:09:09] [SECURITY] Restored real session: ILUIWU [19:09:09] [SECURITY] Saved real session: ILUIWU [19:09:09] [FAKE MODE] ✅ Restored real session: ILUIWU [19:09:09] [FAKE MODE] Loaded 50 messages (limited to page size) [19:09:09] [READBY_OPT] No message IDs to fetch - skipping server call [19:09:09] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [19:09:09] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false [19:09:09] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:09] [AUTH] UI update complete [19:09:09] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data [19:09:09] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:09] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:09:09] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [19:09:09] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [19:09:09] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:09:09] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:09:09] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:09:09] [USER] ✅ User registered successfully [19:09:09] [PUSH] User registration after token update: success [19:09:09] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:09:09] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:09:09] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=116 [19:09:09] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:09:09] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:09:09] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:09] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:09:09] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:09:09] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:09:09] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:09:09] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:09:09] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:09:09] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:09:09] HELLO → sent (cached token, role=query) [19:09:09] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:09:09] [WS] Query connection failed - cleaning up all agent connections and views [19:09:09] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:09:09] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:09:09] [CLEANUP] ======================================== [19:09:09] [CLEANUP] Cleaning up all agent connections and views [19:09:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:09] [CLEANUP] Stopped and removed 0 video connections [19:09:09] [CLEANUP] Removed 0 video views [19:09:09] [CLEANUP] Removed 0 feed scroll views [19:09:09] [CLEANUP] Removed 0 status labels [19:09:09] [CLEANUP] Reset agent query state [19:09:09] [CLEANUP] Updated page indicator [19:09:09] [CLEANUP] Rebuilt video layout [19:09:09] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:09] [CLEANUP] ======================================== [19:09:09] [SERVER] Starting reconnect polling (5s interval) [19:09:09] [CLEANUP] ======================================== [19:09:09] [CLEANUP] Cleaning up all agent connections and views [19:09:09] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:09] [CLEANUP] Stopped and removed 0 video connections [19:09:09] [CLEANUP] Removed 0 video views [19:09:09] [CLEANUP] Removed 0 feed scroll views [19:09:09] [CLEANUP] Removed 0 status labels [19:09:09] [CLEANUP] Reset agent query state [19:09:09] [CLEANUP] Updated page indicator [19:09:09] [CLEANUP] Rebuilt video layout [19:09:09] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:09] [CLEANUP] ======================================== [19:09:09] [SERVER] Starting reconnect polling (5s interval) [19:09:09] [MENU] dismissAnyExistingMenu called [19:09:09] [MENU] dismissAnyExistingMenu completed [19:09:09] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=59 [19:09:10] [BOTTOM_PULL] Refreshing (not in windowed mode) [19:09:10] [REFRESH_ALL] 🔄 refreshAllFromServer called from: editMessage, currentMsgCount=50 [19:09:10] [REFRESH_ALL] 📸 Captured 50 message IDs before request [19:09:10] [REFRESH_ALL] 📡 Fetching URL: https://crivello.dyndns.org:443/WebRTC/chat/chat_get_messages.php?viewer=1&session_id=ILUIWU&mark_read=0&viewer_id=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF [19:09:10] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=6 [19:09:11] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:09:11] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:09:11] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:09:11] HELLO → sent (cached token, role=query) [19:09:11] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:09:11] [WS] Query connection failed - cleaning up all agent connections and views [19:09:11] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:09:11] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:09:11] [CLEANUP] ======================================== [19:09:11] [CLEANUP] Cleaning up all agent connections and views [19:09:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:11] [CLEANUP] Stopped and removed 0 video connections [19:09:11] [CLEANUP] Removed 0 video views [19:09:11] [CLEANUP] Removed 0 feed scroll views [19:09:11] [CLEANUP] Removed 0 status labels [19:09:11] [CLEANUP] Reset agent query state [19:09:11] [CLEANUP] Updated page indicator [19:09:11] [CLEANUP] Rebuilt video layout [19:09:11] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:11] [CLEANUP] ======================================== [19:09:11] [SERVER] Starting reconnect polling (5s interval) [19:09:11] [CLEANUP] ======================================== [19:09:11] [CLEANUP] Cleaning up all agent connections and views [19:09:11] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:11] [CLEANUP] Stopped and removed 0 video connections [19:09:11] [CLEANUP] Removed 0 video views [19:09:11] [CLEANUP] Removed 0 feed scroll views [19:09:11] [CLEANUP] Removed 0 status labels [19:09:11] [CLEANUP] Reset agent query state [19:09:11] [CLEANUP] Updated page indicator [19:09:11] [CLEANUP] Rebuilt video layout [19:09:11] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:11] [CLEANUP] ======================================== [19:09:11] [SERVER] Starting reconnect polling (5s interval) [19:09:11] [PENDING_UPLOAD] Total pending upload messages: 0 [19:09:11] [PENDING_UPLOAD] Preserved 0 pending messages before server refresh [19:09:11] [TIMER] Preserving 4 played timer IDs before DB refresh [19:09:11] [TIMER] Restored 4 played timer flags after DB refresh [19:09:12] DOWNLOADIIING t_2425CB14-29B7-4D9F-AF75-DF547604ED9A.jpg [19:09:12] DOWNLOADIIING t_A838C8A7-6ACB-4EC0-8A9C-B457DDC4006E.jpg [19:09:12] DOWNLOADIIING t_203DADEC-DEED-4A33-908B-8F8E344461B1.jpg [19:09:12] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_2425CB14-29B7-4D9F-AF75-DF547604ED9A.jpg [19:09:12] DOWNLOADIIING t_1b1a78050ebe099b.jpg [19:09:12] DOWNLOADIIING t_bae538c2a3076c11.jpg [19:09:12] DOWNLOADIIING t_ee42d57ffd8ab767.jpg [19:09:12] DOWNLOADIIING t_5cfd84d52271d308.jpg [19:09:12] DOWNLOADIIING t_919f4df51be24b2c.jpg [19:09:12] DOWNLOADIIING t_0f2dda66cccdeadf.jpg [19:09:12] DOWNLOADIIING t_32675c319a37fee7.jpg [19:09:12] DOWNLOADIIING t_a45f085b5a2c50aa.jpg [19:09:12] DOWNLOADIIING t_7cd3ce3d7797eb3c.jpg [19:09:12] DOWNLOADIIING t_abb65f630e55dc61.jpg [19:09:12] DOWNLOADIIING t_2a4c7380908d6595.jpg [19:09:12] DOWNLOADIIING t_1ee77a72ee5013e0.jpg [19:09:12] DOWNLOADIIING t_02f48c94671cc64e.jpg [19:09:12] DOWNLOADIIING t_d0fd8cabebf807d5.jpg [19:09:13] DOWNLOADIIING t_364b0669ed2f3378.jpg [19:09:13] DOWNLOADIIING t_7f3c34ff05eb7c95.jpg [19:09:13] DOWNLOADIIING t_66e5f4c7c82fef18.jpg [19:09:13] DOWNLOADIIING t_f4d9bbe2fc21d5ae.jpg [19:09:13] DOWNLOADIIING t_e1d06c52c18e20ce.jpg [19:09:13] DOWNLOADIIING t_722d39e0d91dd954.jpg [19:09:13] DOWNLOADIIING t_97828ef5de49a612.jpg [19:09:13] DOWNLOADIIING t_98986cbb2cd2ae48.jpg [19:09:13] [CHANNEL_SWITCH] 📊 About to set loaded messages. Count=12524 [19:09:13] [REFRESH_ALL] 📊 Server returned 12524 messages [19:09:13] [REFRESH_ALL] 📊 Final merge: server=12524, preserved=0, total=12524 [19:09:13] [REFRESH_ALL] 📊 Displaying 50 of 12524 messages, hasMore=true [19:09:13] [IMAGE] refreshAllFromServer: set hasMoreMessages=true, offset=50 [19:09:13] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_A838C8A7-6ACB-4EC0-8A9C-B457DDC4006E.jpg [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_203DADEC-DEED-4A33-908B-8F8E344461B1.jpg [19:09:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:09:13] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:09:13] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [19:09:13] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:09:13] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:09:13] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:13] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:09:13] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:09:13] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:09:13] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:09:13] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:09:13] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_1b1a78050ebe099b.jpg [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_ee42d57ffd8ab767.jpg [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_919f4df51be24b2c.jpg [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_a45f085b5a2c50aa.jpg [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_0f2dda66cccdeadf.jpg [19:09:13] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_bae538c2a3076c11.jpg [19:09:13] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:09:13] HELLO → sent (cached token, role=query) [19:09:13] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:09:13] [WS] Query connection failed - cleaning up all agent connections and views [19:09:13] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:09:13] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:09:13] [CLEANUP] ======================================== [19:09:13] [CLEANUP] Cleaning up all agent connections and views [19:09:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:13] [CLEANUP] Stopped and removed 0 video connections [19:09:13] [CLEANUP] Removed 0 video views [19:09:13] [CLEANUP] Removed 0 feed scroll views [19:09:13] [CLEANUP] Removed 0 status labels [19:09:13] [CLEANUP] Reset agent query state [19:09:13] [CLEANUP] Updated page indicator [19:09:13] [CLEANUP] Rebuilt video layout [19:09:13] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:13] [CLEANUP] ======================================== [19:09:13] [SERVER] Starting reconnect polling (5s interval) [19:09:13] [CLEANUP] ======================================== [19:09:13] [CLEANUP] Cleaning up all agent connections and views [19:09:13] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:13] [CLEANUP] Stopped and removed 0 video connections [19:09:13] [CLEANUP] Removed 0 video views [19:09:13] [CLEANUP] Removed 0 feed scroll views [19:09:13] [CLEANUP] Removed 0 status labels [19:09:13] [CLEANUP] Reset agent query state [19:09:13] [CLEANUP] Updated page indicator [19:09:13] [CLEANUP] Rebuilt video layout [19:09:13] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:13] [CLEANUP] ======================================== [19:09:13] [SERVER] Starting reconnect polling (5s interval) [19:09:14] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_7cd3ce3d7797eb3c.jpg [19:09:14] [MENU] dismissAnyExistingMenu called [19:09:14] [MENU] dismissAnyExistingMenu completed [19:09:14] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=59 [19:09:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:09:15] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:09:15] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_32675c319a37fee7.jpg [19:09:15] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_5cfd84d52271d308.jpg [19:09:15] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:09:15] HELLO → sent (cached token, role=query) [19:09:15] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:09:15] [WS] Query connection failed - cleaning up all agent connections and views [19:09:15] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:09:15] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:09:15] [CLEANUP] ======================================== [19:09:15] [CLEANUP] Cleaning up all agent connections and views [19:09:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:15] [CLEANUP] Stopped and removed 0 video connections [19:09:15] [CLEANUP] Removed 0 video views [19:09:15] [CLEANUP] Removed 0 feed scroll views [19:09:15] [CLEANUP] Removed 0 status labels [19:09:15] [CLEANUP] Reset agent query state [19:09:15] [CLEANUP] Updated page indicator [19:09:15] [CLEANUP] Rebuilt video layout [19:09:15] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:15] [CLEANUP] ======================================== [19:09:15] [SERVER] Starting reconnect polling (5s interval) [19:09:15] [CLEANUP] ======================================== [19:09:15] [CLEANUP] Cleaning up all agent connections and views [19:09:15] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:15] [CLEANUP] Stopped and removed 0 video connections [19:09:15] [CLEANUP] Removed 0 video views [19:09:15] [CLEANUP] Removed 0 feed scroll views [19:09:15] [CLEANUP] Removed 0 status labels [19:09:15] [CLEANUP] Reset agent query state [19:09:15] [CLEANUP] Updated page indicator [19:09:15] [CLEANUP] Rebuilt video layout [19:09:15] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:15] [CLEANUP] ======================================== [19:09:15] [SERVER] Starting reconnect polling (5s interval) [19:09:15] [LOCK] Lock button tapped - locking app immediately [19:09:15] [LOCK] Received lock app notification [19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_abb65f630e55dc61.jpg [19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_2a4c7380908d6595.jpg [19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_02f48c94671cc64e.jpg [19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_1ee77a72ee5013e0.jpg [19:09:16] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_d0fd8cabebf807d5.jpg [19:09:16] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:09:16] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:09:17] [LIFECYCLE] App resigning active - cleared crash flag [19:09:17] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [19:09:17] [SECURITY] sceneDidEnterBackground - isAuthenticated=false [19:09:17] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false [19:09:17] [LIFECYCLE] App entering background - cleared crash flag [19:09:17] [CLIENT_SIG] Disconnecting [19:09:17] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [19:09:17] [DB] ✅ Chat database flushed (WAL checkpoint) before background [19:09:17] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:17] [LIFECYCLE] Background snapshot: count=50, maxId=23842 [19:09:17] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=0 [19:09:17] [WS] Canceling WebSocket for query connection to iosILUIWU [19:09:17] In cleanupPeer [19:09:17] In cleanupPeer [19:09:17] [LIFECYCLE] WebRTC audio disabled [19:09:17] [LIFECYCLE] AVAudioSession deactivated [19:09:17] [LIFECYCLE] All connections stopped [19:09:17] [CLIENT_SIG] WebSocket closed with code 1001 [19:09:17] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:09:17] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [19:09:17] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:09:17] [SERVER] Stopped reconnect polling [19:09:17] Will request stop of video 0 [19:09:17] Will request stop of video 0 [19:09:17] [WS] WebSocket task completed with error - isQueryOnly=true: cancelled [19:09:17] [WS] Query connection error - cleaning up all agent connections and views [19:09:17] [WS] Connection failed: cancelled [19:09:17] [WS] Query connection failed - cleaning up all agent connections and views [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_66e5f4c7c82fef18.jpg [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_364b0669ed2f3378.jpg [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_722d39e0d91dd954.jpg [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_7f3c34ff05eb7c95.jpg [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_f4d9bbe2fc21d5ae.jpg [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_97828ef5de49a612.jpg [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_98986cbb2cd2ae48.jpg [19:09:17] [MEDIA_DOWNLOAD] ❌ HTTP 404 for t_e1d06c52c18e20ce.jpg [19:09:17] [PIP] Removing 0 tracks from PiP for connection 0 [19:09:17] [PIP] ✅ All tracks removed for connection 0 [19:09:17] [PIP] Removing 0 tracks from PiP for connection 0 [19:09:17] [PIP] ✅ All tracks removed for connection 0 [19:09:17] [CLEANUP] ======================================== [19:09:17] [CLEANUP] Cleaning up all agent connections and views [19:09:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:17] [CLEANUP] Stopped and removed 0 video connections [19:09:17] [CLEANUP] Removed 0 video views [19:09:17] [CLEANUP] Removed 0 feed scroll views [19:09:17] [CLEANUP] Removed 0 status labels [19:09:17] [CLEANUP] Reset agent query state [19:09:17] [CLEANUP] Updated page indicator [19:09:17] [CLEANUP] Rebuilt video layout [19:09:17] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:17] [CLEANUP] ======================================== [19:09:17] [SERVER] Skipping reconnect polling - app is in background [19:09:17] [WS] URLSession invalidated successfully [19:09:17] [CLEANUP] ======================================== [19:09:17] [CLEANUP] Cleaning up all agent connections and views [19:09:17] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:09:17] [CLEANUP] Stopped and removed 0 video connections [19:09:17] [CLEANUP] Removed 0 video views [19:09:17] [CLEANUP] Removed 0 feed scroll views [19:09:17] [CLEANUP] Removed 0 status labels [19:09:17] [CLEANUP] Reset agent query state [19:09:17] [CLEANUP] Updated page indicator [19:09:17] [CLEANUP] Rebuilt video layout [19:09:17] [CLEANUP] ✅ All agent connections and views cleaned up [19:09:17] [CLEANUP] ======================================== [19:09:17] [SERVER] Skipping reconnect polling - app is in background [19:09:17] ReloadData 14 (all 46 media thumbnails loaded) - applying tab 0 filtering [19:09:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:09:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=2 [19:09:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:09:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:09:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:09:17] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:09:17] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:09:17] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:09:17] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:09:17] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:09:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:12:49] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:12:49] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:12:49] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:12:49] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [19:12:49] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:12:49] [LIFECYCLE] App entering foreground - restoring connections [19:12:49] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:49] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[] [19:12:49] [LIFECYCLE] Away > 2 minutes (212s) - will scroll to bottom [19:12:49] [UPLOAD_RETRY] No pending uploads to retry [19:12:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:12:49] [READBY_OPT] No message IDs to fetch - skipping server call [19:12:49] [LIFECYCLE] WebRTC audio re-enabled [19:12:49] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [19:12:49] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [19:12:49] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:12:49] [VIEWER] Reconnecting after background - querying agents [19:12:49] [UNSENT_RETRY] Checking for unsent messages... [19:12:49] [PENDING_UPLOAD] Total pending upload messages: 0 [19:12:49] [UNSENT_RETRY] No unsent messages found [19:12:49] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data [19:12:49] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:12:49] HELLO → sent (cached token, role=query) [19:12:49] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=50>50=false, maxId=23842>23842=false, shouldScroll=true [19:12:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:12:49] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:12:49] [CLIENT_SIG] WebSocket opened [19:12:49] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:12:49] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:12:49] [WS] Query connection failed - cleaning up all agent connections and views [19:12:49] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:12:49] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:12:49] [CLEANUP] ======================================== [19:12:49] [CLEANUP] Cleaning up all agent connections and views [19:12:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:12:49] [CLEANUP] Stopped and removed 0 video connections [19:12:49] [CLEANUP] Removed 0 video views [19:12:49] [CLEANUP] Removed 0 feed scroll views [19:12:49] [CLEANUP] Removed 0 status labels [19:12:49] [CLEANUP] Reset agent query state [19:12:49] [CLEANUP] Updated page indicator [19:12:49] [CLEANUP] Rebuilt video layout [19:12:49] [CLEANUP] ✅ All agent connections and views cleaned up [19:12:49] [CLEANUP] ======================================== [19:12:49] [SERVER] Starting reconnect polling (5s interval) [19:12:49] [CLEANUP] ======================================== [19:12:49] [CLEANUP] Cleaning up all agent connections and views [19:12:49] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:12:49] [CLEANUP] Stopped and removed 0 video connections [19:12:49] [CLEANUP] Removed 0 video views [19:12:49] [CLEANUP] Removed 0 feed scroll views [19:12:49] [CLEANUP] Removed 0 status labels [19:12:49] [CLEANUP] Reset agent query state [19:12:49] [CLEANUP] Updated page indicator [19:12:49] [CLEANUP] Rebuilt video layout [19:12:49] [CLEANUP] ✅ All agent connections and views cleaned up [19:12:49] [CLEANUP] ======================================== [19:12:49] [SERVER] Starting reconnect polling (5s interval) [19:12:49] [CLIENT_SIG] Connected! clientId=pK2NVlLcMVroUhWp [19:12:49] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:12:49] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:12:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=58 [19:12:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:12:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:12:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:49] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:12:49] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:12:49] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:12:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:12:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:12:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:12:50] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [19:12:50] [SECURITY] sceneDidEnterBackground - isAuthenticated=false [19:12:50] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false [19:12:50] [LIFECYCLE] App entering background - cleared crash flag [19:12:50] [CLIENT_SIG] Disconnecting [19:12:50] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [19:12:50] [DB] ✅ Chat database flushed (WAL checkpoint) before background [19:12:50] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:50] [LIFECYCLE] Background snapshot: count=50, maxId=23842 [19:12:50] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [19:12:50] [WS] Canceling WebSocket for query connection to iosILUIWU [19:12:50] In cleanupPeer [19:12:50] In cleanupPeer [19:12:50] [LIFECYCLE] WebRTC audio disabled [19:12:50] [LIFECYCLE] AVAudioSession deactivated [19:12:50] [LIFECYCLE] All connections stopped [19:12:51] [CLIENT_SIG] WebSocket closed with code 1001 [19:12:51] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:12:51] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [19:12:51] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:12:51] [SERVER] Stopped reconnect polling [19:12:51] Will request stop of video 0 [19:12:51] [WS] URLSession invalidated successfully [19:12:51] Will request stop of video 0 [19:12:51] [PIP] Removing 0 tracks from PiP for connection 0 [19:12:51] [PIP] ✅ All tracks removed for connection 0 [19:12:51] [PIP] Removing 0 tracks from PiP for connection 0 [19:12:51] [PIP] ✅ All tracks removed for connection 0 [19:12:51] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:12:51] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:12:57] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [19:12:57] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:12:57] [LIFECYCLE] App entering foreground - restoring connections [19:12:57] [PUSH_TRACE] 🔄 FOREGROUND: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:57] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[] [19:12:57] [UPLOAD_RETRY] No pending uploads to retry [19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:12:57] [READBY_OPT] No message IDs to fetch - skipping server call [19:12:57] [LIFECYCLE] WebRTC audio re-enabled [19:12:57] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [19:12:57] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [19:12:57] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:12:57] [VIEWER] Reconnecting after background - querying agents [19:12:57] [UNSENT_RETRY] Checking for unsent messages... [19:12:57] [PENDING_UPLOAD] Total pending upload messages: 0 [19:12:57] [UNSENT_RETRY] No unsent messages found [19:12:57] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:12:57] [WS] Connection failed: The request timed out. [19:12:57] [WS] Query connection failed - cleaning up all agent connections and views [19:12:57] [WS] WebSocket task completed with error - isQueryOnly=true: The request timed out. [19:12:57] [WS] Query connection error - cleaning up all agent connections and views [19:12:57] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data [19:12:57] [CLEANUP] ======================================== [19:12:57] [CLEANUP] Cleaning up all agent connections and views [19:12:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:12:57] [CLEANUP] Stopped and removed 0 video connections [19:12:57] [CLEANUP] Removed 0 video views [19:12:57] [CLEANUP] Removed 0 feed scroll views [19:12:57] [CLEANUP] Removed 0 status labels [19:12:57] [CLEANUP] Reset agent query state [19:12:57] [CLEANUP] Updated page indicator [19:12:57] [CLEANUP] Rebuilt video layout [19:12:57] [CLEANUP] ✅ All agent connections and views cleaned up [19:12:57] [CLEANUP] ======================================== [19:12:57] [SERVER] Starting reconnect polling (5s interval) [19:12:57] [CLEANUP] ======================================== [19:12:57] [CLEANUP] Cleaning up all agent connections and views [19:12:57] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:12:57] [CLEANUP] Stopped and removed 0 video connections [19:12:57] [CLEANUP] Removed 0 video views [19:12:57] [CLEANUP] Removed 0 feed scroll views [19:12:57] [CLEANUP] Removed 0 status labels [19:12:57] [CLEANUP] Reset agent query state [19:12:57] [CLEANUP] Updated page indicator [19:12:57] [CLEANUP] Rebuilt video layout [19:12:57] [CLEANUP] ✅ All agent connections and views cleaned up [19:12:57] [CLEANUP] ======================================== [19:12:57] [SERVER] Starting reconnect polling (5s interval) [19:12:57] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false [19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:12:57] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:12:57] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=58 [19:12:57] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:12:57] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:12:57] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:57] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:12:57] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:12:57] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:12:57] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:12:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:12:57] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:12:57] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [19:12:57] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [19:12:57] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:57] [PUSH] handlePollEventsNotification userInfo: [:] [19:12:57] [PUSH] No message_id in userInfo [19:12:57] [PUSH] No operation_type in userInfo [19:12:57] [FAST_REFRESH] Evolution disabled - performing incremental sync [19:12:57] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[] [19:12:57] [PUSH_TRACE] 📬 POLL: memory state: count=50, first 10 IDs=[23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:57] [FAST_REFRESH] Already have 50 messages in memory [19:12:57] [FAST_REFRESH] maxMemoryId=23842, maxLocalId=23842 [19:12:57] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:12:57] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [19:12:57] [READBY_OPT] No message IDs to fetch - skipping server call [19:12:57] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [19:12:57] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23842, maxMemoryId=23842 [19:12:57] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23842 [19:12:57] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [19:12:57] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:12:57] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:12:57] [CLIENT_SIG] WebSocket opened [19:12:57] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:12:57] [CLIENT_SIG] Connected! clientId=8O7coJYACpixtKs7 [19:12:57] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:12:57] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:12:57] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=58 [19:12:57] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:12:57] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:12:57] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:12:57] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:12:57] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:12:57] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:12:57] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:12:57] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:12:57] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:12:57] [INCREMENTAL_SYNC] ✅ No new messages [19:12:57] [FAST_REFRESH] Incremental sync complete - 50 messages [19:12:58] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:12:58] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:12:59] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:12:59] HELLO → sent (cached token, role=query) [19:12:59] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:12:59] [WS] Query connection failed - cleaning up all agent connections and views [19:12:59] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:12:59] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:12:59] [CLEANUP] ======================================== [19:12:59] [CLEANUP] Cleaning up all agent connections and views [19:12:59] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:12:59] [CLEANUP] Stopped and removed 0 video connections [19:12:59] [CLEANUP] Removed 0 video views [19:12:59] [CLEANUP] Removed 0 feed scroll views [19:12:59] [CLEANUP] Removed 0 status labels [19:12:59] [CLEANUP] Reset agent query state [19:12:59] [CLEANUP] Updated page indicator [19:12:59] [CLEANUP] Rebuilt video layout [19:12:59] [CLEANUP] ✅ All agent connections and views cleaned up [19:12:59] [CLEANUP] ======================================== [19:12:59] [SERVER] Starting reconnect polling (5s interval) [19:12:59] [CLEANUP] ======================================== [19:12:59] [CLEANUP] Cleaning up all agent connections and views [19:12:59] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:12:59] [CLEANUP] Stopped and removed 0 video connections [19:12:59] [CLEANUP] Removed 0 video views [19:12:59] [CLEANUP] Removed 0 feed scroll views [19:12:59] [CLEANUP] Removed 0 status labels [19:12:59] [CLEANUP] Reset agent query state [19:12:59] [CLEANUP] Updated page indicator [19:12:59] [CLEANUP] Rebuilt video layout [19:12:59] [CLEANUP] ✅ All agent connections and views cleaned up [19:12:59] [CLEANUP] ======================================== [19:12:59] [SERVER] Starting reconnect polling (5s interval)[19:12:59] [LOG] Pruned 198 entries older than 3 hours [19:12:59] [SECURITY] Restored real session: ILUIWU [19:12:59] [SECURITY] Restored real session: ILUIWU [19:13:00] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true [19:13:00] [FAKE MODE] Exiting fake mode, restoring real session [19:13:00] [SECURITY] Restored real session: ILUIWU [19:13:00] [SECURITY] Saved real session: ILUIWU [19:13:00] [FAKE MODE] ✅ Restored real session: ILUIWU [19:13:00] [FAKE MODE] Loaded 50 messages (limited to page size) [19:13:00] [READBY_OPT] No message IDs to fetch - skipping server call [19:13:00] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [19:13:00] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>50=false, maxId=23842>23842=false, shouldScroll=false [19:13:00] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:13:00] [AUTH] UI update complete [19:13:00] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [19:13:00] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [19:13:00] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data [19:13:00] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:13:00] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:13:00] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:13:00] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:13:00] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:13:00] [USER] ✅ User registered successfully [19:13:00] [PUSH] User registration after token update: success [19:13:00] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=116 [19:13:00] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23842, 23841, 23840, 23839, 23838] [19:13:00] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:13:00] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834, 23833] [19:13:00] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:13:00] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:13:00] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:13:00] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:13:00] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:13:00] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:13:00] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:00] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:01] [SCROLL] 💓 alive, visible=44...50, rows=51, estHeight=0.0, heightCalls=58 [19:13:01] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:01] HELLO → sent (cached token, role=query) [19:13:01] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:01] [WS] Query connection failed - cleaning up all agent connections and views [19:13:01] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:01] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:01] [CLEANUP] ======================================== [19:13:01] [CLEANUP] Cleaning up all agent connections and views [19:13:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:01] [CLEANUP] Stopped and removed 0 video connections [19:13:01] [CLEANUP] Removed 0 video views [19:13:01] [CLEANUP] Removed 0 feed scroll views [19:13:01] [CLEANUP] Removed 0 status labels [19:13:01] [CLEANUP] Reset agent query state [19:13:01] [CLEANUP] Updated page indicator [19:13:01] [CLEANUP] Rebuilt video layout [19:13:01] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:01] [CLEANUP] ======================================== [19:13:01] [SERVER] Starting reconnect polling (5s interval) [19:13:01] [CLEANUP] ======================================== [19:13:01] [CLEANUP] Cleaning up all agent connections and views [19:13:01] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:01] [CLEANUP] Stopped and removed 0 video connections [19:13:01] [CLEANUP] Removed 0 video views [19:13:01] [CLEANUP] Removed 0 feed scroll views [19:13:01] [CLEANUP] Removed 0 status labels [19:13:01] [CLEANUP] Reset agent query state [19:13:01] [CLEANUP] Updated page indicator [19:13:01] [CLEANUP] Rebuilt video layout [19:13:01] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:01] [CLEANUP] ======================================== [19:13:01] [SERVER] Starting reconnect polling (5s interval) [19:13:02] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:02] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:03] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:03] HELLO → sent (cached token, role=query) [19:13:03] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:03] [WS] Query connection failed - cleaning up all agent connections and views [19:13:03] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:03] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:03] [CLEANUP] ======================================== [19:13:03] [CLEANUP] Cleaning up all agent connections and views [19:13:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:03] [CLEANUP] Stopped and removed 0 video connections [19:13:03] [CLEANUP] Removed 0 video views [19:13:03] [CLEANUP] Removed 0 feed scroll views [19:13:03] [CLEANUP] Removed 0 status labels [19:13:03] [CLEANUP] Reset agent query state [19:13:03] [CLEANUP] Updated page indicator [19:13:03] [CLEANUP] Rebuilt video layout [19:13:03] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:03] [CLEANUP] ======================================== [19:13:03] [SERVER] Starting reconnect polling (5s interval) [19:13:03] [CLEANUP] ======================================== [19:13:03] [CLEANUP] Cleaning up all agent connections and views [19:13:03] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:03] [CLEANUP] Stopped and removed 0 video connections [19:13:03] [CLEANUP] Removed 0 video views [19:13:03] [CLEANUP] Removed 0 feed scroll views [19:13:03] [CLEANUP] Removed 0 status labels [19:13:03] [CLEANUP] Reset agent query state [19:13:03] [CLEANUP] Updated page indicator [19:13:03] [CLEANUP] Rebuilt video layout [19:13:03] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:03] [CLEANUP] ======================================== [19:13:03] [SERVER] Starting reconnect polling (5s interval) [19:13:04] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:04] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:04] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:04] HELLO → sent (cached token, role=query) [19:13:04] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:04] [WS] Query connection failed - cleaning up all agent connections and views [19:13:04] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:04] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:04] [CLEANUP] ======================================== [19:13:04] [CLEANUP] Cleaning up all agent connections and views [19:13:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:04] [CLEANUP] Stopped and removed 0 video connections [19:13:04] [CLEANUP] Removed 0 video views [19:13:04] [CLEANUP] Removed 0 feed scroll views [19:13:04] [CLEANUP] Removed 0 status labels [19:13:04] [CLEANUP] Reset agent query state [19:13:04] [CLEANUP] Updated page indicator [19:13:04] [CLEANUP] Rebuilt video layout [19:13:04] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:04] [CLEANUP] ======================================== [19:13:04] [SERVER] Starting reconnect polling (5s interval) [19:13:04] [CLEANUP] ======================================== [19:13:04] [CLEANUP] Cleaning up all agent connections and views [19:13:04] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:04] [CLEANUP] Stopped and removed 0 video connections [19:13:04] [CLEANUP] Removed 0 video views [19:13:04] [CLEANUP] Removed 0 feed scroll views [19:13:04] [CLEANUP] Removed 0 status labels [19:13:04] [CLEANUP] Reset agent query state [19:13:04] [CLEANUP] Updated page indicator [19:13:04] [CLEANUP] Rebuilt video layout [19:13:04] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:04] [CLEANUP] ======================================== [19:13:04] [SERVER] Starting reconnect polling (5s interval) [19:13:06] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:06] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:06] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:06] HELLO → sent (cached token, role=query) [19:13:06] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:06] [WS] Query connection failed - cleaning up all agent connections and views [19:13:06] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:06] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:06] [CLEANUP] ======================================== [19:13:06] [CLEANUP] Cleaning up all agent connections and views [19:13:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:06] [CLEANUP] Stopped and removed 0 video connections [19:13:06] [CLEANUP] Removed 0 video views [19:13:06] [CLEANUP] Removed 0 feed scroll views [19:13:06] [CLEANUP] Removed 0 status labels [19:13:06] [CLEANUP] Reset agent query state [19:13:06] [CLEANUP] Updated page indicator [19:13:06] [CLEANUP] Rebuilt video layout [19:13:06] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:06] [CLEANUP] ======================================== [19:13:06] [SERVER] Starting reconnect polling (5s interval) [19:13:06] [CLEANUP] ======================================== [19:13:06] [CLEANUP] Cleaning up all agent connections and views [19:13:06] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:06] [CLEANUP] Stopped and removed 0 video connections [19:13:06] [CLEANUP] Removed 0 video views [19:13:06] [CLEANUP] Removed 0 feed scroll views [19:13:06] [CLEANUP] Removed 0 status labels [19:13:06] [CLEANUP] Reset agent query state [19:13:06] [CLEANUP] Updated page indicator [19:13:06] [CLEANUP] Rebuilt video layout [19:13:06] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:06] [CLEANUP] ======================================== [19:13:06] [SERVER] Starting reconnect polling (5s interval) [19:13:08] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:08] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:08] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:08] HELLO → sent (cached token, role=query) [19:13:08] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:08] [WS] Query connection failed - cleaning up all agent connections and views [19:13:08] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:08] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:08] [CLEANUP] ======================================== [19:13:08] [CLEANUP] Cleaning up all agent connections and views [19:13:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:08] [CLEANUP] Stopped and removed 0 video connections [19:13:08] [CLEANUP] Removed 0 video views [19:13:08] [CLEANUP] Removed 0 feed scroll views [19:13:08] [CLEANUP] Removed 0 status labels [19:13:08] [CLEANUP] Reset agent query state [19:13:08] [CLEANUP] Updated page indicator [19:13:08] [CLEANUP] Rebuilt video layout [19:13:08] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:08] [CLEANUP] ======================================== [19:13:08] [SERVER] Starting reconnect polling (5s interval) [19:13:08] [CLEANUP] ======================================== [19:13:08] [CLEANUP] Cleaning up all agent connections and views [19:13:08] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:08] [CLEANUP] Stopped and removed 0 video connections [19:13:08] [CLEANUP] Removed 0 video views [19:13:08] [CLEANUP] Removed 0 feed scroll views [19:13:08] [CLEANUP] Removed 0 status labels [19:13:08] [CLEANUP] Reset agent query state [19:13:08] [CLEANUP] Updated page indicator [19:13:08] [CLEANUP] Rebuilt video layout [19:13:08] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:08] [CLEANUP] ======================================== [19:13:08] [SERVER] Starting reconnect polling (5s interval) [19:13:10] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:10] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:10] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:10] HELLO → sent (cached token, role=query) [19:13:10] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:10] [WS] Query connection failed - cleaning up all agent connections and views [19:13:10] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:10] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:10] [CLEANUP] ======================================== [19:13:10] [CLEANUP] Cleaning up all agent connections and views [19:13:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:10] [CLEANUP] Stopped and removed 0 video connections [19:13:10] [CLEANUP] Removed 0 video views [19:13:10] [CLEANUP] Removed 0 feed scroll views [19:13:10] [CLEANUP] Removed 0 status labels [19:13:10] [CLEANUP] Reset agent query state [19:13:10] [CLEANUP] Updated page indicator [19:13:10] [CLEANUP] Rebuilt video layout [19:13:10] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:10] [CLEANUP] ======================================== [19:13:10] [SERVER] Starting reconnect polling (5s interval) [19:13:10] [CLEANUP] ======================================== [19:13:10] [CLEANUP] Cleaning up all agent connections and views [19:13:10] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:10] [CLEANUP] Stopped and removed 0 video connections [19:13:10] [CLEANUP] Removed 0 video views [19:13:10] [CLEANUP] Removed 0 feed scroll views [19:13:10] [CLEANUP] Removed 0 status labels [19:13:10] [CLEANUP] Reset agent query state [19:13:10] [CLEANUP] Updated page indicator [19:13:10] [CLEANUP] Rebuilt video layout [19:13:10] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:10] [CLEANUP] ======================================== [19:13:10] [SERVER] Starting reconnect polling (5s interval) [19:13:12] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:12] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:12] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:12] HELLO → sent (cached token, role=query) [19:13:12] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:12] [WS] Query connection failed - cleaning up all agent connections and views [19:13:12] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:12] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:12] [CLEANUP] ======================================== [19:13:12] [CLEANUP] Cleaning up all agent connections and views [19:13:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:12] [CLEANUP] Stopped and removed 0 video connections [19:13:12] [CLEANUP] Removed 0 video views [19:13:12] [CLEANUP] Removed 0 feed scroll views [19:13:12] [CLEANUP] Removed 0 status labels [19:13:12] [CLEANUP] Reset agent query state [19:13:12] [CLEANUP] Updated page indicator [19:13:12] [CLEANUP] Rebuilt video layout [19:13:12] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:12] [CLEANUP] ======================================== [19:13:12] [SERVER] Starting reconnect polling (5s interval) [19:13:12] [CLEANUP] ======================================== [19:13:12] [CLEANUP] Cleaning up all agent connections and views [19:13:12] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:12] [CLEANUP] Stopped and removed 0 video connections [19:13:12] [CLEANUP] Removed 0 video views [19:13:12] [CLEANUP] Removed 0 feed scroll views [19:13:12] [CLEANUP] Removed 0 status labels [19:13:12] [CLEANUP] Reset agent query state [19:13:12] [CLEANUP] Updated page indicator [19:13:12] [CLEANUP] Rebuilt video layout [19:13:12] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:12] [CLEANUP] ======================================== [19:13:12] [SERVER] Starting reconnect polling (5s interval) [19:13:13] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:13] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:14] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:14] HELLO → sent (cached token, role=query) [19:13:14] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:14] [WS] Query connection failed - cleaning up all agent connections and views [19:13:14] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:14] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:14] [CLEANUP] ======================================== [19:13:14] [CLEANUP] Cleaning up all agent connections and views [19:13:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:14] [CLEANUP] Stopped and removed 0 video connections [19:13:14] [CLEANUP] Removed 0 video views [19:13:14] [CLEANUP] Removed 0 feed scroll views [19:13:14] [CLEANUP] Removed 0 status labels [19:13:14] [CLEANUP] Reset agent query state [19:13:14] [CLEANUP] Updated page indicator [19:13:14] [CLEANUP] Rebuilt video layout [19:13:14] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:14] [CLEANUP] ======================================== [19:13:14] [SERVER] Starting reconnect polling (5s interval) [19:13:14] [CLEANUP] ======================================== [19:13:14] [CLEANUP] Cleaning up all agent connections and views [19:13:14] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:14] [CLEANUP] Stopped and removed 0 video connections [19:13:14] [CLEANUP] Removed 0 video views [19:13:14] [CLEANUP] Removed 0 feed scroll views [19:13:14] [CLEANUP] Removed 0 status labels [19:13:14] [CLEANUP] Reset agent query state [19:13:14] [CLEANUP] Updated page indicator [19:13:14] [CLEANUP] Rebuilt video layout [19:13:14] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:14] [CLEANUP] ======================================== [19:13:14] [SERVER] Starting reconnect polling (5s interval) [19:13:15] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:15] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:16] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:16] HELLO → sent (cached token, role=query) [19:13:16] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:16] [WS] Query connection failed - cleaning up all agent connections and views [19:13:16] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:16] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:16] [CLEANUP] ======================================== [19:13:16] [CLEANUP] Cleaning up all agent connections and views [19:13:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:16] [CLEANUP] Stopped and removed 0 video connections [19:13:16] [CLEANUP] Removed 0 video views [19:13:16] [CLEANUP] Removed 0 feed scroll views [19:13:16] [CLEANUP] Removed 0 status labels [19:13:16] [CLEANUP] Reset agent query state [19:13:16] [CLEANUP] Updated page indicator [19:13:16] [CLEANUP] Rebuilt video layout [19:13:16] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:16] [CLEANUP] ======================================== [19:13:16] [SERVER] Starting reconnect polling (5s interval) [19:13:16] [CLEANUP] ======================================== [19:13:16] [CLEANUP] Cleaning up all agent connections and views [19:13:16] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:16] [CLEANUP] Stopped and removed 0 video connections [19:13:16] [CLEANUP] Removed 0 video views [19:13:16] [CLEANUP] Removed 0 feed scroll views [19:13:16] [CLEANUP] Removed 0 status labels [19:13:16] [CLEANUP] Reset agent query state [19:13:16] [CLEANUP] Updated page indicator [19:13:16] [CLEANUP] Rebuilt video layout [19:13:16] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:16] [CLEANUP] ======================================== [19:13:16] [SERVER] Starting reconnect polling (5s interval) [19:13:17] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:17] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:18] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:18] HELLO → sent (cached token, role=query) [19:13:18] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:18] [WS] Query connection failed - cleaning up all agent connections and views [19:13:18] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:18] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:18] [CLEANUP] ======================================== [19:13:18] [CLEANUP] Cleaning up all agent connections and views [19:13:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:18] [CLEANUP] Stopped and removed 0 video connections [19:13:18] [CLEANUP] Removed 0 video views [19:13:18] [CLEANUP] Removed 0 feed scroll views [19:13:18] [CLEANUP] Removed 0 status labels [19:13:18] [CLEANUP] Reset agent query state [19:13:18] [CLEANUP] Updated page indicator [19:13:18] [CLEANUP] Rebuilt video layout [19:13:18] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:18] [CLEANUP] ======================================== [19:13:18] [SERVER] Starting reconnect polling (5s interval) [19:13:18] [CLEANUP] ======================================== [19:13:18] [CLEANUP] Cleaning up all agent connections and views [19:13:18] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:18] [CLEANUP] Stopped and removed 0 video connections [19:13:18] [CLEANUP] Removed 0 video views [19:13:18] [CLEANUP] Removed 0 feed scroll views [19:13:18] [CLEANUP] Removed 0 status labels [19:13:18] [CLEANUP] Reset agent query state [19:13:18] [CLEANUP] Updated page indicator [19:13:18] [CLEANUP] Rebuilt video layout [19:13:18] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:18] [CLEANUP] ======================================== [19:13:18] [SERVER] Starting reconnect polling (5s interval) [19:13:19] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:19] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:20] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:20] HELLO → sent (cached token, role=query) [19:13:20] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:20] [WS] Query connection failed - cleaning up all agent connections and views [19:13:20] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:20] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:20] [CLEANUP] ======================================== [19:13:20] [CLEANUP] Cleaning up all agent connections and views [19:13:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:20] [CLEANUP] Stopped and removed 0 video connections [19:13:20] [CLEANUP] Removed 0 video views [19:13:20] [CLEANUP] Removed 0 feed scroll views [19:13:20] [CLEANUP] Removed 0 status labels [19:13:20] [CLEANUP] Reset agent query state [19:13:20] [CLEANUP] Updated page indicator [19:13:20] [CLEANUP] Rebuilt video layout [19:13:20] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:20] [CLEANUP] ======================================== [19:13:20] [SERVER] Starting reconnect polling (5s interval) [19:13:20] [CLEANUP] ======================================== [19:13:20] [CLEANUP] Cleaning up all agent connections and views [19:13:20] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:20] [CLEANUP] Stopped and removed 0 video connections [19:13:20] [CLEANUP] Removed 0 video views [19:13:20] [CLEANUP] Removed 0 feed scroll views [19:13:20] [CLEANUP] Removed 0 status labels [19:13:20] [CLEANUP] Reset agent query state [19:13:20] [CLEANUP] Updated page indicator [19:13:20] [CLEANUP] Rebuilt video layout [19:13:20] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:20] [CLEANUP] ======================================== [19:13:20] [SERVER] Starting reconnect polling (5s interval) [19:13:20] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [19:13:20] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false [19:13:20] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=51 [19:13:20] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [19:13:20] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-1, 23842, 23841, 23840, 23839] [19:13:20] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [19:13:20] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:13:20] [RELOAD_TAB] 📊 Building chatRows from 51 messages [19:13:20] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [19:13:20] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:13:20] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:13:20] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:13:20] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=55 [19:13:20] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [19:13:20] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [19:13:20] [SCROLL] 💓 alive, visible=48...51, rows=52, estHeight=0.0, heightCalls=108 [19:13:21] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:13:21] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:13:21] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:13:21] HELLO → sent (cached token, role=query) [19:13:21] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:13:21] [WS] Query connection failed - cleaning up all agent connections and views [19:13:21] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:13:21] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:13:21] [CLEANUP] ======================================== [19:13:21] [CLEANUP] Cleaning up all agent connections and views [19:13:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:21] [CLEANUP] Stopped and removed 0 video connections [19:13:21] [CLEANUP] Removed 0 video views [19:13:21] [CLEANUP] Removed 0 feed scroll views [19:13:21] [CLEANUP] Removed 0 status labels [19:13:21] [CLEANUP] Reset agent query state [19:13:21] [CLEANUP] Updated page indicator [19:13:21] [CLEANUP] Rebuilt video layout [19:13:21] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:21] [CLEANUP] ======================================== [19:13:21] [SERVER] Starting reconnect polling (5s interval) [19:13:21] [CLEANUP] ======================================== [19:13:21] [CLEANUP] Cleaning up all agent connections and views [19:13:21] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:13:21] [CLEANUP] Stopped and removed 0 video connections [19:13:21] [CLEANUP] Removed 0 video views [19:13:21] [CLEANUP] Removed 0 feed scroll views [19:13:21] [CLEANUP] Removed 0 status labels [19:13:21] [CLEANUP] Reset agent query state [19:13:21] [CLEANUP] Updated page indicator [19:13:21] [CLEANUP] Rebuilt video layout [19:13:21] [CLEANUP] ✅ All agent connections and views cleaned up [19:13:21] [CLEANUP] ======================================== [19:13:21] [SERVER] Starting reconnect polling (5s interval) [19:13:22] [LIFECYCLE] App resigning active - cleared crash flag [19:13:22] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [19:13:22] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [19:13:22] [SECURITY] Saved background timestamp [19:13:22] [LIFECYCLE] App entering background - cleared crash flag [19:13:22] [CLIENT_SIG] Disconnecting [19:13:22] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [19:13:22] [DB] ✅ Chat database flushed (WAL checkpoint) before background [19:13:22] [PUSH_TRACE] 💤 BACKGROUND: memory has 51 messages, first 10 IDs=[-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:13:22] [LIFECYCLE] Background snapshot: count=51, maxId=23842 [19:13:22] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [19:13:22] [WS] Canceling WebSocket for query connection to iosILUIWU [19:13:22] In cleanupPeer [19:13:22] In cleanupPeer [19:13:22] [LIFECYCLE] WebRTC audio disabled [19:13:22] [LIFECYCLE] AVAudioSession deactivated [19:13:22] [LIFECYCLE] All connections stopped [19:13:22] [CLIENT_SIG] WebSocket closed with code 1001 [19:13:22] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:13:22] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [19:13:22] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:13:22] [SERVER] Stopped reconnect polling [19:13:22] [WS] URLSession invalidated successfully [19:13:22] Will request stop of video 0 [19:13:22] Will request stop of video 0 [19:13:22] [PIP] Removing 0 tracks from PiP for connection 0 [19:13:22] [PIP] ✅ All tracks removed for connection 0 [19:13:22] [PIP] Removing 0 tracks from PiP for connection 0 [19:13:22] [PIP] ✅ All tracks removed for connection 0 [19:18:40] [CHAT] send error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x11896cba0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask .<63>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask .<63>" ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, NSErrorFailingURLKey=https://crivello.dyndns.org:443/WebRTC/chat/receive_message.php, _kCFStreamErrorDomainKey=4} [19:18:40] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:18:40] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:18:40] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:18:40] [CHAT] Network error detected - queuing for retry [19:18:40] [SEND_STATUS] 💾 Updating DB: messageId=-1, status=3 (pending_retry) [19:18:40] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-1 [19:18:40] [SEND_STATUS] ⏳ Message -1 marked as PENDING RETRY (waiting for network) [19:18:40] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:40] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:40] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:42] [SECURITY] Timeout check: elapsed=320.3326530456543s, timeout=300.0s [19:18:42] [SECURITY] sceneWillEnterForeground - timeout exceeded, showing lock screen immediately [19:18:42] [AUTH] ✅ All guards passed, showing privacy cover [19:18:42] [SCROLL] 💓 alive, visible=46...51, rows=52, estHeight=0.0, heightCalls=56 [19:18:42] [LIFECYCLE] App entering foreground - restoring connections [19:18:42] [PUSH_TRACE] 🔄 FOREGROUND: memory has 51 msgs, IDs=[-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:42] [PUSH_TRACE] 🔄 FOREGROUND: cache has 0 msgs, valid=false, IDs=[] [19:18:42] [LIFECYCLE] Away > 2 minutes (320s) - will scroll to bottom [19:18:42] [UPLOAD_RETRY] No pending uploads to retry [19:18:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:18:42] [READBY_OPT] No message IDs to fetch - skipping server call [19:18:42] [LIFECYCLE] WebRTC audio re-enabled [19:18:42] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [19:18:42] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [19:18:42] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:18:42] [VIEWER] Reconnecting after background - querying agents [19:18:42] [FOREGROUND] 📶 Network available - retrying 1 pending messages: [-1] [19:18:42] [RETRY] 🔄 Retrying 1 pending messages... [19:18:42] [RETRY] 📤 Resending message -1 with original clientMessageId [19:18:42] [SEND_STATUS] 💾 Updating DB: messageId=-1, status=1 (sending) [19:18:42] [SEND_STATUS] ✅ DB updated: 1 row(s) affected for messageId=-1 [19:18:42] [UNSENT_RETRY] 🔑 Including client_message_id=E5734E02-29C9-472C-9C26-7C6802330CDC for idempotent retry [19:18:42] [UNSENT_RETRY] 📤 Sending message id=-1 to server [19:18:42] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:42] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:42] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:42] [UNSENT_RETRY] Checking for unsent messages... (excluding 1 already-retrying: [-1]) [19:18:42] [PENDING_UPLOAD] Found pending message: id=-1, file=, uploadStatus=0, sendStatus=1 [19:18:42] [PENDING_UPLOAD] Total pending upload messages: 1 [19:18:42] [UNSENT_RETRY] ⏭️ Skipping message id=-1 - already being retried by foreground retry [19:18:42] [UNSENT_RETRY] ⏭️ Skipping stuck message id=-1 - already being retried by foreground retry [19:18:42] [UNSENT_RETRY] No unsent messages found [19:18:42] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:18:42] HELLO → sent (cached token, role=query) [19:18:42] [CLIENT_SIG] WebSocket opened [19:18:42] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:18:42] [FOREGROUND] Enriched 0/0 unsettled messages with readBy data [19:18:42] [LIFECYCLE] scrollToBottomIfNeeded time=true, count=51>51=false, maxId=23842>23842=false, shouldScroll=true [19:18:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:18:42] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:18:42] [CLIENT_SIG] Connected! clientId=tXj3YoT4ATM4Eg8x [19:18:42] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:18:42] [WS] Query connection failed - cleaning up all agent connections and views [19:18:42] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:18:42] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:18:42] [CLEANUP] ======================================== [19:18:42] [CLEANUP] Cleaning up all agent connections and views [19:18:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:18:42] [CLEANUP] Stopped and removed 0 video connections [19:18:42] [CLEANUP] Removed 0 video views [19:18:42] [CLEANUP] Removed 0 feed scroll views [19:18:42] [CLEANUP] Removed 0 status labels [19:18:42] [CLEANUP] Reset agent query state [19:18:42] [CLEANUP] Updated page indicator [19:18:42] [CLEANUP] Rebuilt video layout [19:18:42] [CLEANUP] ✅ All agent connections and views cleaned up [19:18:42] [CLEANUP] ======================================== [19:18:42] [SERVER] Starting reconnect polling (5s interval) [19:18:42] [CLEANUP] ======================================== [19:18:42] [CLEANUP] Cleaning up all agent connections and views [19:18:42] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:18:42] [CLEANUP] Stopped and removed 0 video connections [19:18:42] [CLEANUP] Removed 0 video views [19:18:42] [CLEANUP] Removed 0 feed scroll views [19:18:42] [CLEANUP] Removed 0 status labels [19:18:42] [CLEANUP] Reset agent query state [19:18:42] [CLEANUP] Updated page indicator [19:18:42] [CLEANUP] Rebuilt video layout [19:18:42] [CLEANUP] ✅ All agent connections and views cleaned up [19:18:42] [CLEANUP] ======================================== [19:18:42] [SERVER] Starting reconnect polling (5s interval) [19:18:42] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:18:42] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:18:42] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=61 [19:18:42] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-1, 23842, 23841, 23840, 23839] [19:18:42] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [19:18:42] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:42] [RELOAD_TAB] 📊 Building chatRows from 51 messages [19:18:42] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [19:18:42] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:42] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:42] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:42] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:18:43] [UNSENT_RETRY] 📥 receive_message.php HTTP 200: {"ok":true,"message_id":23843,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 18:13:20","idempotent":true} [19:18:43] [UNSENT_RETRY] ✅ Message synced (IDEMPOTENT - server already had it)! Old id=-1 → existing server id=23843 [19:18:43] [DB_UPGRADE] Upgrading message ID: -1 → 23843, preserveOriginalDate=true [19:18:43] [DB_UPGRADE] ✅ Upgraded -1 → 23843 with send_status=0, 1 row(s) affected [19:18:43] [UNSENT_RETRY] ✅ Updated chatMessages[0].id: -1 → 23843 [19:18:43] [UNSENT_RETRY] ✅ Updated allMessagesWithReadBy[0].id: -1 → 23843 [19:18:43] ReloadData unsent_retry [19:18:43] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:43] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:43] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:43] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [19:18:43] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [19:18:43] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:43] [PUSH] handlePollEventsNotification userInfo: [:] [19:18:43] [PUSH] No message_id in userInfo [19:18:43] [PUSH] No operation_type in userInfo [19:18:43] [FAST_REFRESH] Evolution disabled - performing incremental sync [19:18:43] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[] [19:18:43] [PUSH_TRACE] 📬 POLL: memory state: count=51, first 10 IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:43] [FAST_REFRESH] Already have 51 messages in memory [19:18:43] [FAST_REFRESH] maxMemoryId=23843, maxLocalId=23843 [19:18:43] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [19:18:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:18:43] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [19:18:43] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [19:18:43] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51 [19:18:43] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23843, maxMemoryId=23843 [19:18:43] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23843 [19:18:43] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [19:18:43] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data [19:18:43] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [19:18:43] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:18:43] [INCREMENTAL_SYNC] ✅ No new messages [19:18:43] [FAST_REFRESH] Incremental sync complete - 51 messages [19:18:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=116 [19:18:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23843, 23842, 23841, 23840, 23839] [19:18:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [19:18:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:43] [RELOAD_TAB] 📊 Building chatRows from 51 messages [19:18:43] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [19:18:43] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:43] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:43] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=58 [19:18:44] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:18:44] [WS] Opening session at ws://crivello.dyndns.org:8081/[19:18:44] [LOG] Pruned 355 entries older than 3 hours [19:18:44] [SECURITY] Restored real session: ILUIWU [19:18:44] [SECURITY] Restored real session: ILUIWU [19:18:44] [FAKE MODE] Exiting fake mode, restoring real session [19:18:44] [SECURITY] Restored real session: ILUIWU [19:18:44] [SECURITY] Saved real session: ILUIWU [19:18:44] [FAKE MODE] ✅ Restored real session: ILUIWU [19:18:44] [FAKE MODE] Loaded 50 messages (limited to page size) [19:18:44] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [19:18:44] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"0ab6a756829337abc30a5f859b28f12d96b690840dccd5a59896bc5475ff5ca3","role":"viewer","muted":0,"removed_from_other_channels":0} [19:18:44] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [19:18:44] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [19:18:44] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>51=false, maxId=23843>23842=true, shouldScroll=true [19:18:44] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:18:44] [AUTH] UI update complete [19:18:44] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [19:18:44] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:18:44] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:18:44] HELLO → sent (cached token, role=query) [19:18:44] [SCROLL] 💓 alive, visible=46...50, rows=51, estHeight=0.0, heightCalls=109 [19:18:44] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:44] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:44] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:44] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [19:18:44] [FAKE MODE] Enriched 1/1 unsettled messages with readBy data [19:18:44] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:18:44] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:18:44] [USER] ✅ User registered successfully [19:18:44] [PUSH] User registration after token update: success [19:18:44] [WS] Connection failed: The operation couldn’t be completed. Socket is not connected [19:18:44] [WS] Query connection failed - cleaning up all agent connections and views [19:18:44] [WS] WebSocket ACTUALLY CLOSED - isQueryOnly=true, connectionStr=iosILUIWU, closeCode=1000 [19:18:44] [WS] Query connection to iosILUIWU closed - cleaning up all agent connections and views [19:18:44] [CLEANUP] ======================================== [19:18:44] [CLEANUP] Cleaning up all agent connections and views [19:18:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:18:44] [CLEANUP] Stopped and removed 0 video connections [19:18:44] [CLEANUP] Removed 0 video views [19:18:44] [CLEANUP] Removed 0 feed scroll views [19:18:44] [CLEANUP] Removed 0 status labels [19:18:44] [CLEANUP] Reset agent query state [19:18:44] [CLEANUP] Updated page indicator [19:18:44] [CLEANUP] Rebuilt video layout [19:18:44] [CLEANUP] ✅ All agent connections and views cleaned up [19:18:44] [CLEANUP] ======================================== [19:18:44] [SERVER] Starting reconnect polling (5s interval) [19:18:44] [CLEANUP] ======================================== [19:18:44] [CLEANUP] Cleaning up all agent connections and views [19:18:44] [CLEANUP] Current state: vccs=0, videoViews=0, feedScrollViews=0 [19:18:44] [CLEANUP] Stopped and removed 0 video connections [19:18:44] [CLEANUP] Removed 0 video views [19:18:44] [CLEANUP] Removed 0 feed scroll views [19:18:44] [CLEANUP] Removed 0 status labels [19:18:44] [CLEANUP] Reset agent query state [19:18:44] [CLEANUP] Updated page indicator [19:18:44] [CLEANUP] Rebuilt video layout [19:18:44] [CLEANUP] ✅ All agent connections and views cleaned up [19:18:44] [CLEANUP] ======================================== [19:18:44] [SERVER] Starting reconnect polling (5s interval) [19:18:44] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=5 [19:18:44] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839] [19:18:44] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:18:44] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:44] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:18:44] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:18:44] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:44] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:44] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:44] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=54 [19:18:46] [WS] Creating new WebSocket - isQueryOnly=true, connectionStr=iosILUIWU [19:18:46] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:18:46] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=50=false, maxId=23843>23843=false, shouldScroll=false [19:18:48] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:18:48] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [19:18:48] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [19:18:48] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:48] [PUSH] handlePollEventsNotification userInfo: [:] [19:18:48] [PUSH] No message_id in userInfo [19:18:48] [PUSH] No operation_type in userInfo [19:18:48] [FAST_REFRESH] Evolution disabled - performing incremental sync [19:18:48] [PUSH_TRACE] 📬 POLL: cache state: valid=false, count=0, IDs=[] [19:18:48] [PUSH_TRACE] 📬 POLL: memory state: count=50, first 10 IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:48] [FAST_REFRESH] Already have 50 messages in memory [19:18:48] [FAST_REFRESH] maxMemoryId=23843, maxLocalId=23843 [19:18:48] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [19:18:48] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:18:48] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:18:48] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [19:18:48] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [19:18:48] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [19:18:48] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23843, maxMemoryId=23843 [19:18:48] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23843 [19:18:49] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [19:18:49] [FAST_REFRESH] Enriched 1/1 unsettled messages with readBy data [19:18:49] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:18:49] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:18:49] [INCREMENTAL_SYNC] ✅ No new messages [19:18:49] [FAST_REFRESH] Incremental sync complete - 50 messages [19:18:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=57 [19:18:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839] [19:18:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:18:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:49] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:18:49] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:18:49] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:18:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:18:49] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:18:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=57 [19:18:49] [LIFECYCLE] App resigning active - cleared crash flag [19:18:50] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [19:18:50] [SECURITY] sceneDidEnterBackground - isAuthenticated=false [19:18:50] [SECURITY] ⚠️ NOT saving timestamp - isAuthenticated is false [19:18:50] [LIFECYCLE] App entering background - cleared crash flag [19:18:50] [CLIENT_SIG] Disconnecting [19:18:50] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [19:18:50] [DB] ✅ Chat database flushed (WAL checkpoint) before background [19:18:50] [PUSH_TRACE] 💤 BACKGROUND: memory has 50 messages, first 10 IDs=[23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:18:50] [LIFECYCLE] Background snapshot: count=50, maxId=23843 [19:18:50] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [19:18:50] [WS] Canceling WebSocket for query connection to iosILUIWU [19:18:50] In cleanupPeer [19:18:50] In cleanupPeer [19:18:50] [LIFECYCLE] WebRTC audio disabled [19:18:50] [LIFECYCLE] AVAudioSession deactivated [19:18:50] [LIFECYCLE] All connections stopped [19:18:50] [CLIENT_SIG] WebSocket closed with code 1001 [19:18:50] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [19:18:50] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [19:18:50] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [19:18:50] [SERVER] Stopped reconnect polling [19:18:50] [WS] URLSession invalidated successfully [19:18:50] Will request stop of video 0 [19:18:50] Will request stop of video 0 [19:18:50] [PIP] Removing 0 tracks from PiP for connection 0 [19:18:50] [PIP] ✅ All tracks removed for connection 0 [19:18:50] [PIP] Removing 0 tracks from PiP for connection 0 [19:18:50] [PIP] ✅ All tracks removed for connection 0 [19:20:24] [CRASH] No crash detected [19:20:24] [FONT] Roboto fonts loaded successfully: Roboto-Regular [19:20:24] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto [19:20:24] [GIPHY] SDK not available - using REST API fallback [19:20:24] [BACKGROUND] Background fetch enabled [19:20:24] [AUTH] Starting PIN authentication [19:20:24] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [19:20:24] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:20:24] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [19:20:24] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [19:20:24] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c [19:20:24] [CLEANUP] ✅ Deleted 4 timer messages older than 24h [19:20:24] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23843)... [19:20:24] [CLIENT_SIG] WebSocket opened [19:20:24] [CLIENT_SIG] HELLO sent as client for session ILUIWU [19:20:25] [CLIENT_SIG] Connected! clientId=w73mnWSFbmp0Uy-Q [19:20:25] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [19:20:25] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [19:20:25] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0} [19:20:25] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [19:20:25] [PRELOAD] No messages or parse error [19:20:25] [USER] ✅ User registered successfully [19:20:25] [PUSH] User registration after token update: success [19:20:25] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 18:20:25 +0000 - type: unknown, operation_type: 0, message_id: 23843, session_id: ILUIWU, state: 0 [19:20:25] [PUSH_DEBUG] Full userInfo: [AnyHashable("message_data"): { datesent = "2026-03-06 18:13:20"; "file_name" = ""; message = "Did you see A battle after another ? With DiCaprio and Sean Penn"; "message_id" = 23843; "message_type" = 0; "prev_session_message_id" = 23842; "sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "sender_name" = Laurent; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 0; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23843, AnyHashable("operation_type"): 0] [19:20:25] [PUSH] App active - suppressing notification UI, posting internal event [19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:20:25 +0000 [19:20:25] [PUSH_TRACE] ⬇️ Processing embedded message_id=23843 [19:20:25] [PUSH_EMBED] 📩 Received embedded message: id=23843, type=0, sender=Laurent [19:20:25] [PUSH_TRACE] ⬇️ Message details: text="Did you see A battle after another ? With DiCaprio...", datesent=2026-03-06 18:13:20 [19:20:25] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [19:20:25] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23843 [19:20:25] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23843 [19:20:25] [PUSH_EMBED] ✅ Saved message 23843 to local DB (sync) [19:20:25] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23843 [19:20:25] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23843 [19:20:25] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23843 [19:20:25] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[] [19:20:25] [PUSH_EMBED] Created new cache with embedded message 23843 [19:20:25] [PUSH_TRACE] 📦 ✅ Created new cache with message 23843 [19:20:25] [PUSH_TRACE] 📦 EXITING cache update queue for message 23843 [19:20:25] [PUSH_EMBED] Fetching evolution data for message 23843 in background [19:20:25] [PUSH_EMBED] ✅ Fully processed message 23843 [19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23843 [19:20:25] [PUSH] Silent push received [19:20:25] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 18:20:25 +0000, appState=0, message_id=23843 [19:20:25] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=1, IDs=[23843] [19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 18:20:25 +0000 [19:20:25] [PUSH_TRACE] ⬇️ Processing embedded message_id=23843 [19:20:25] [PUSH_EMBED] 📩 Received embedded message: id=23843, type=0, sender=Laurent [19:20:25] [PUSH_TRACE] ⬇️ Message details: text="Did you see A battle after another ? With DiCaprio...", datesent=2026-03-06 18:13:20 [19:20:25] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [19:20:25] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23843 [19:20:25] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23843 [19:20:25] [PUSH_EMBED] ✅ Saved message 23843 to local DB (sync) [19:20:25] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23843 [19:20:25] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23843 [19:20:25] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23843 [19:20:25] [PUSH_TRACE] 📦 Cache state: valid=true, count=1, IDs=[23843] [19:20:25] [PUSH_TRACE] 📦 ⚠️ Message 23843 already in cache, skipping insert [19:20:25] [PUSH_TRACE] 📦 EXITING cache update queue for message 23843 [19:20:25] [PUSH_EMBED] Fetching evolution data for message 23843 in background [19:20:25] [PUSH_EMBED] ✅ Fully processed message 23843 [19:20:25] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23843 [19:20:25] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=1, IDs=[23843], handled=true [19:20:25] [PUSH] Embedded message handled instantly from silent push [19:20:25] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification [19:20:25] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23843 [19:20:25] [PUSH_EMBED] Got evolution data for message 23843, saving to local DB [19:20:25] [PUSH_EMBED] Saved evolution data for message 23843 [19:20:25] [PUSH_EMBED] Got evolution data for message 23843, saving to local DB [19:20:25] [PUSH_EMBED] Saved evolution data for message 23843 [19:20:26] [PIN_AUTH] Correct PIN [19:20:26] [SECURITY] Restored real session: ILUIWU [19:20:26] [SECURITY] Restored real session: ILUIWU [19:20:26] [SECURITY] Saved real session: ILUIWU [19:20:26] [SCENE] Launched directly to chat view with sessionId: ILUIWU [19:20:26] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [19:20:26] [UPLOAD_QUEUE] ✅ Database integrity check passed [19:20:26] [UPLOAD_QUEUE] Active background tasks: 2 [19:20:26] [UPLOAD_QUEUE] ⏰ Stale upload: id=967, file=t_edc609c733fd329e.jpg, taskId=3, hasActiveTask=true, age=32min [19:20:26] [UPLOAD_QUEUE] ⏰ Stale upload: id=968, file=edc609c733fd329e.jpg, taskId=4, hasActiveTask=true, age=32min [19:20:26] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=967, file=t_edc609c733fd329e.jpg [19:20:26] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=968, file=edc609c733fd329e.jpg [19:20:26] [UPLOAD_QUEUE] 🔄 Reset 2 stale uploads from 'uploading' to 'pending' [19:20:26] Documents Directory: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents [19:20:26] [UPLOAD_QUEUE] Found 2 pending uploads to resume [19:20:26] [UPLOAD_QUEUE] File not found for upload id=967, marking as failed [19:20:26] [UPLOAD_QUEUE] File not found for upload id=968, marking as failed [19:20:26] [THEME] Applying current theme [19:20:26] [CHAT] Applied day theme (mode: day) [19:20:26] [SECURITY] Saved real session: ILUIWU [19:20:26] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [19:20:26] [CLIENT_SIG] Already connected/connecting to session ILUIWU [19:20:26] [NETWORK] Network monitor started [19:20:26] [NETWORK] Status changed: connected [19:20:26] Did transition [19:20:26] [CHUNK] Pre-cache has only 1 messages - supplementing from local DB [19:20:26] [CHUNK] After merge: 50 messages (added 49 from local DB) [19:20:26] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU [19:20:26] [VIEWER] Screen lock enabled - normal idle behavior [19:20:26] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU [19:20:26] [VCC] ========== VideoConnectionClass INIT ========== [19:20:26] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil [19:20:26] [DATA AUDIO] ========== setupWebRTC() START ========== [19:20:26] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device [19:20:26] [DATA AUDIO] Creating encoder/decoder factories... [19:20:26] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1 [19:20:26] [CODEC] Viewer selected encoder: AV1 (best quality) [19:20:26] [DATA AUDIO] Creating RTCPeerConnectionFactory... [19:20:26] [DATA AUDIO] ✅ Factory created [19:20:26] [DATA AUDIO] RTCAudioSession locked [19:20:26] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false [19:20:26] [DATA AUDIO] RTCAudioSession unlocked [19:20:26] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer [19:20:26] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"] [19:20:26] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU [19:20:26] [WS] Opening session at ws://crivello.dyndns.org:8081/ [19:20:26] [QUERY] ✅ tempQueryConnection created for iosILUIWU [19:20:26] [VIEWER_INIT] Already have 50 messages - just filtering for tab [19:20:26] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:20:26] [EVENT_POLL] Event polling disabled - using WebSocket events instead [19:20:26] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0 [19:20:26] Did transition [19:20:26] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0) [19:20:26] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [19:20:26] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:20:26] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [19:20:26] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [19:20:26] [GALLERY_DB] Loading ALL media messages for session: ILUIWU [19:20:26] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55' [19:20:26] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46' [19:20:26] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34' [19:20:27] [USER] ✅ User registered successfully [19:20:27] [USER] User registration successful [19:20:27] [GALLERY_DB] ✅ Loaded 778 media messages [19:20:27] [MIGRATION] No messages need sender_name backfill [19:20:27] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [19:20:27] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23843, maxMemoryId=23843 [19:20:27] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23843 [19:20:27] [INCREMENTAL_SYNC] ✅ No new messages [19:20:27] [GALLERY] Filtered 778 -> 735 (only with local thumbnails) [19:20:27] [GALLERY] First 5 after sort (newest first): [19:20:27] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg [19:20:27] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg [19:20:27] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg [19:20:27] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg [19:20:27] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov [19:20:27] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0 [19:20:27] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt [19:20:27] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [19:20:27] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839] [19:20:27] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:20:27] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:20:27] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:20:27] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:20:27] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings [19:20:27] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [19:20:27] [SERVER] Starting reconnect polling (5s interval) [19:20:27] [ICONS] Screen width: 440.0, Tab spacing: 75.5 [19:20:27] [ICONS] Offset applied: -14.6 [19:20:27] [ICONS] New left margin: 11.2, New right margin: 11.3 [19:20:27] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [19:20:27] [READBY_ENRICH] Enriched 1/1 unsettled messages with readBy data [19:20:27] [ICONS] Chat center: (31.2, 87.0) [19:20:27] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5 [19:20:27] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5 [19:20:27] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5 [19:20:27] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5 [19:20:27] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5 [19:20:27] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2 [19:20:27] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3 [19:20:27] [ICONS] Screen width: 440.0 [19:20:27] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [19:20:27] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [19:20:27] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [19:20:27] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU [19:20:27] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [19:20:27] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [19:20:27] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:20:27] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [19:20:27] [PURGE] ⚠️ Media cache purge DISABLED for debugging [19:20:27] [UNSENT_RETRY] Checking for unsent messages... [19:20:27] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ========== [19:20:27] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF [19:20:27] [UPLOAD_RECOVERY] Session: ILUIWU [19:20:27] [UPLOAD_RECOVERY] ✅ No stuck uploads found [19:20:27] [UPLOAD_RECOVERY] Checking recent media messages on server... [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete [19:20:27] [UPLOAD_RECOVERY] Verifying 9 media files exist on server... [19:20:27] [PENDING_UPLOAD] Total pending upload messages: 0 [19:20:27] [UNSENT_RETRY] No unsent messages found [19:20:27] new_session POST ok: token len=157 [19:20:27] HELLO → sent (fetched token, role=query) [19:20:27] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg [19:20:27] [SIG] hello_ok received for query connection - ready to query agents [19:20:27] [SIG] get_agents request sent for sessionId=ILUIWU [19:20:27] [SIG] get_agents request sent for sessionId=iosILUIWU [19:20:27] [SERVER] Stopped reconnect polling [19:20:27] [SIG] agents_list received: [] [19:20:27] [SIG] agents_list received: [] [19:20:27] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files... [19:20:27] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [19:20:27] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [19:20:27] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg [19:20:27] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [19:20:27] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [19:20:27] [UPLOAD_QUEUE] Enqueued upload id=969 for edc609c733fd329e.jpg [19:20:27] [UPLOAD_DEBUG] ========== START UPLOAD ========== [19:20:27] [UPLOAD_DEBUG] Item ID: 969 [19:20:27] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg [19:20:27] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg [19:20:27] [UPLOAD_DEBUG] Session ID: ILUIWU [19:20:27] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [19:20:27] [UPLOAD_DEBUG] Retry count: 0 [19:20:27] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [19:20:27] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading) [19:20:27] [UPLOAD_DEBUG] File exists: true [19:20:27] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[2]: 0 → 2 [19:20:27] [UPLOAD_STATUS] 📝 Updated chatMessages[2]: status=2 [19:20:27] [UPLOAD_STATUS] 📝 Updated chatRows[48]: status=2 [19:20:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:20:27] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [19:20:27] [UPLOAD_STATUS] 🔄 Updated visible cell at row 48 [19:20:27] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading) [19:20:27] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB) [19:20:27] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [19:20:27] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [19:20:27] [UPLOAD_DEBUG] --- startStandardUpload --- [19:20:27] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [19:20:27] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [19:20:27] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/113B5224-7B5E-4B15-AC19-C21648646500.upload [19:20:27] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg [19:20:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:20:27] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [19:20:27] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes [19:20:27] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [19:20:27] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes) [19:20:27] [UPLOAD_DEBUG] Creating background upload task... [19:20:27] [UPLOAD_DEBUG] Task created with identifier: 5 [19:20:27] [UPLOAD_DEBUG] Added to activeUploads dictionary [19:20:27] [UPLOAD_DEBUG] Updated DB status to 'uploading' [19:20:27] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=5 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0 [19:20:27] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [19:20:27] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [19:20:27] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [19:20:27] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg [19:20:27] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg [19:20:27] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [19:20:27] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB [19:20:27] [UPLOAD_QUEUE] Enqueued upload id=970 for t_edc609c733fd329e.jpg [19:20:27] [UPLOAD_DEBUG] ========== START UPLOAD ========== [19:20:27] [UPLOAD_DEBUG] Item ID: 970 [19:20:27] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg [19:20:27] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg [19:20:27] [UPLOAD_DEBUG] Session ID: ILUIWU [19:20:27] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [19:20:27] [UPLOAD_DEBUG] Retry count: 0 [19:20:27] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [19:20:27] [UPLOAD_DEBUG] File exists: true [19:20:27] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading) [19:20:27] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg [19:20:27] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading) [19:20:27] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB) [19:20:27] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [19:20:27] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [19:20:27] [UPLOAD_DEBUG] --- startStandardUpload --- [19:20:27] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [19:20:27] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [19:20:27] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/9F6078E4-47C3-48BA-9D23-5816E1772368.upload [19:20:27] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages [19:20:27] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes [19:20:27] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [19:20:27] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes) [19:20:27] [UPLOAD_DEBUG] Creating background upload task... [19:20:27] [UPLOAD_DEBUG] Task created with identifier: 6 [19:20:27] [UPLOAD_DEBUG] Added to activeUploads dictionary [19:20:27] [UPLOAD_DEBUG] Updated DB status to 'uploading' [19:20:27] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=6 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0 [19:20:27] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [19:20:27] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [19:20:27] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=65 [19:20:27] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23843, 23842, 23841, 23840, 23839] [19:20:27] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [19:20:27] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835, 23834] [19:20:27] [RELOAD_TAB] 📊 Building chatRows from 50 messages [19:20:27] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [19:20:27] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [19:20:27] [CELL_UPLOAD] → has active progress=0.0, setting uploading [19:20:27] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [19:20:27] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [19:20:27] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=57[20:26:32] [LOG] Pruned 783 entries older than 3 hours [20:26:32] [FONT] Roboto fonts loaded successfully: Roboto-Regular [20:26:32] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto [20:26:32] [GIPHY] SDK not available - using REST API fallback [20:26:32] [BACKGROUND] Background fetch enabled [20:26:32] [AUTH] Starting PIN authentication [20:26:32] [PUSH] Notification tapped - session_id: ILUIWU [20:26:32] [CLEANUP] No old timer messages to delete [20:26:32] [PUSH] Max message_id before tap: 23843 [20:26:32] [PUSH] Stored pending session: ILUIWU [20:26:32] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:32 +0000 [20:26:32] [PUSH_TRACE] ⬇️ Processing embedded message_id=23844 [20:26:32] [PUSH_EMBED] 📩 Received embedded message: id=23844, type=0, sender=Esra [20:26:32] [PUSH_TRACE] ⬇️ Message details: text="Noooo🙄🙄🙄...", datesent=2026-03-06 19:26:28 [20:26:32] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [20:26:32] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23844 [20:26:32] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23844 [20:26:32] [PUSH_EMBED] ✅ Saved message 23844 to local DB (sync) [20:26:32] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23844 [20:26:32] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23844 [20:26:32] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23844 [20:26:32] [PUSH_TRACE] 📦 Cache state: valid=false, count=0, IDs=[] [20:26:32] [PUSH_EMBED] Created new cache with embedded message 23844 [20:26:32] [PUSH_TRACE] 📦 ✅ Created new cache with message 23844 [20:26:32] [PUSH_TRACE] 📦 EXITING cache update queue for message 23844 [20:26:32] [PUSH_EMBED] Fetching evolution data for message 23844 in background [20:26:32] [PUSH_EMBED] ✅ Fully processed message 23844 [20:26:32] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23844 [20:26:32] [PUSH] Embedded message handled instantly on tap [20:26:32] [PUSH] Fetching server messages since_id=23843 to catch coalesced notifications on tap [20:26:32] [PUSH_PRELOAD] Fetching up to 50 messages since_id=23843 to catch coalesced notifications [20:26:32] [PUSH_PRELOAD] Fetching messages for instant display cache [20:26:32] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [20:26:32] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:26:32] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c [20:26:32] [PRELOAD] Cache already valid (1 messages), skipping pre-load [20:26:32] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [20:26:32] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [20:26:32] [CLIENT_SIG] WebSocket opened [20:26:32] [CLIENT_SIG] HELLO sent as client for session ILUIWU [20:26:32] [CLIENT_SIG] Connected! clientId=-BA1FH3ADDSR4Lah [20:26:32] [PUSH_EMBED] Got evolution data for message 23844, saving to local DB [20:26:32] [PUSH_EMBED] Saved evolution data for message 23844 [20:26:32] [CLIENT_SIG] Received 2 clients for session 'ILUIWU' (my session: 'ILUIWU') [20:26:32] [CLIENT_SIG] - Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [20:26:32] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:26:32] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0} [20:26:32] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [20:26:32] [USER] ✅ User registered successfully [20:26:32] [PUSH] User registration after token update: success [20:26:32] [PUSH_PRELOAD] Fetched 1 messages - caching for instant display [20:26:32] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=1, sessionId=ILUIWU [20:26:32] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23844] [20:26:32] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=1, IDs=[23844] [20:26:32] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[] [20:26:32] [PUSH_TRACE] 🔀 mergeMessages: merged.count=1, first 10 IDs=[23844] [20:26:32] [PUSH_PRELOAD] ⚡ Pre-cached 1 messages for instant display (preserved 0 from push) [20:26:32] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [20:26:32] [PUSH] Server fetch on tap completed (success=true) [20:26:34] [PIN_AUTH] Correct PIN [20:26:34] [SECURITY] Restored real session: ILUIWU [20:26:34] [SECURITY] Restored real session: ILUIWU [20:26:34] [SECURITY] Saved real session: ILUIWU [20:26:34] [SCENE] Launched directly to chat view with sessionId: ILUIWU [20:26:34] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [20:26:34] [DB] 🔄 Reset 1 stuck upload statuses from 'uploading' to 'pending' [20:26:34] [DB] 📤 Media with pending upload: msgId=23841, file=edc609c733fd329e.jpg, status=pending [20:26:34] [DB] ⚠️ Found 1 media messages with incomplete uploads [20:26:34] [UPLOAD_QUEUE] ✅ Database integrity check passed [20:26:34] [UPLOAD_QUEUE] Active background tasks: 4 [20:26:34] [UPLOAD_QUEUE] ⏰ Stale upload: id=969, file=edc609c733fd329e.jpg, taskId=5, hasActiveTask=true, age=66min [20:26:34] [UPLOAD_QUEUE] ⏰ Stale upload: id=970, file=t_edc609c733fd329e.jpg, taskId=6, hasActiveTask=true, age=66min [20:26:34] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=969, file=edc609c733fd329e.jpg [20:26:34] [UPLOAD_QUEUE] 🔄 Reset stale upload: id=970, file=t_edc609c733fd329e.jpg [20:26:34] [UPLOAD_QUEUE] 🔄 Reset 2 stale uploads from 'uploading' to 'pending' [20:26:34] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=969, file=edc609c733fd329e.jpg, status=pending, age=66min [20:26:34] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=970, file=t_edc609c733fd329e.jpg, status=pending, age=66min [20:26:34] [UPLOAD_QUEUE] ⚠️ Found 2 uploads pending for >1 hour [20:26:34] Documents Directory: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents [20:26:34] [UPLOAD_QUEUE] Found 2 pending uploads to resume [20:26:34] [THEME] Applying current theme [20:26:34] [CHAT] Applied day theme (mode: day) [20:26:34] [SECURITY] Saved real session: ILUIWU [20:26:34] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [20:26:34] [CLIENT_SIG] Already connected/connecting to session ILUIWU [20:26:34] [NETWORK] Network monitor started [20:26:34] [NETWORK] Status changed: connected [20:26:34] Did transition [20:26:34] [CHUNK] Pre-cache has only 1 messages - supplementing from local DB [20:26:34] [DB_UPLOAD] 📥 Loaded media msg id=23841 with upload_status=1 (pending), file=edc609c733fd329e.jpg [20:26:34] [CHUNK] After merge: 50 messages (added 49 from local DB) [20:26:34] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU [20:26:34] [VIEWER] Screen lock enabled - normal idle behavior [20:26:34] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU [20:26:34] [VCC] ========== VideoConnectionClass INIT ========== [20:26:34] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil [20:26:34] [DATA AUDIO] ========== setupWebRTC() START ========== [20:26:34] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device [20:26:34] [DATA AUDIO] Creating encoder/decoder factories... [20:26:34] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1 [20:26:34] [CODEC] Viewer selected encoder: AV1 (best quality) [20:26:34] [DATA AUDIO] Creating RTCPeerConnectionFactory... [20:26:34] [DATA AUDIO] ✅ Factory created [20:26:34] [DATA AUDIO] RTCAudioSession locked [20:26:34] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false [20:26:34] [DATA AUDIO] RTCAudioSession unlocked [20:26:34] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer [20:26:34] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"] [20:26:34] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU [20:26:34] [WS] Opening session at ws://crivello.dyndns.org:8081/ [20:26:34] [QUERY] ✅ tempQueryConnection created for iosILUIWU [20:26:34] [VIEWER_INIT] Already have 50 messages - just filtering for tab [20:26:34] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:26:34] [EVENT_POLL] Event polling disabled - using WebSocket events instead [20:26:34] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0 [20:26:34] Did transition [20:26:34] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0) [20:26:34] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [20:26:34] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:26:34] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [20:26:34] [GALLERY_DB] Loading ALL media messages for session: ILUIWU [20:26:34] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [20:26:34] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55' [20:26:34] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46' [20:26:34] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34' [20:26:34] [USER] ✅ User registered successfully [20:26:34] [USER] User registration successful [20:26:34] [GALLERY_DB] ✅ Loaded 778 media messages [20:26:34] [MIGRATION] No messages need sender_name backfill [20:26:34] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [20:26:34] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23844, maxMemoryId=23844 [20:26:34] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23844 [20:26:34] [INCREMENTAL_SYNC] ✅ No new messages [20:26:34] [GALLERY] Filtered 778 -> 735 (only with local thumbnails) [20:26:34] [GALLERY] First 5 after sort (newest first): [20:26:34] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg [20:26:34] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg [20:26:34] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg [20:26:34] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg [20:26:34] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov [20:26:34] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0 [20:26:34] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt [20:26:34] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [20:26:34] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23844, 23843, 23842, 23841, 23840] [20:26:34] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [20:26:34] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835] [20:26:34] [RELOAD_TAB] 📊 Building chatRows from 50 messages [20:26:34] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [20:26:34] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings [20:26:34] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [20:26:34] [SERVER] Starting reconnect polling (5s interval) [20:26:34] [ICONS] Screen width: 440.0, Tab spacing: 75.5 [20:26:34] [ICONS] Offset applied: -14.6 [20:26:34] [ICONS] New left margin: 11.2, New right margin: 11.3 [20:26:34] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [20:26:34] [READBY_ENRICH] Enriched 1/1 unsettled messages with readBy data [20:26:34] [ICONS] Chat center: (31.2, 87.0) [20:26:34] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5 [20:26:34] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5 [20:26:34] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5 [20:26:34] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5 [20:26:34] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5 [20:26:34] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2 [20:26:34] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3 [20:26:34] [ICONS] Screen width: 440.0 [20:26:34] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [20:26:34] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [20:26:34] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [20:26:34] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU [20:26:34] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1 [20:26:34] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending [20:26:34] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:34] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0 [20:26:34] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23843 → 23844 [20:26:34] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:26:34] [PURGE] ⚠️ Media cache purge DISABLED for debugging [20:26:34] [UNSENT_RETRY] Checking for unsent messages... [20:26:34] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ========== [20:26:34] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF [20:26:34] [UPLOAD_RECOVERY] Session: ILUIWU [20:26:34] [UPLOAD_RECOVERY] ⚠️ Found stuck upload: msgId=23841, file=edc609c733fd329e.jpg, reason=upload_status=pending [20:26:34] [UPLOAD_RECOVERY] ✅ Local file exists: edc609c733fd329e.jpg [20:26:35] new_session POST ok: token len=157 [20:26:35] HELLO → sent (fetched token, role=query) [20:26:35] [UPLOAD_RECOVERY] 🔄 File not on server, re-uploading: edc609c733fd329e.jpg [20:26:35] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [20:26:35] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [20:26:35] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg [20:26:35] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [20:26:35] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [20:26:35] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=pending) [20:26:35] [UPLOAD_RECOVERY] Found 1 messages with stuck/unsynced uploads [20:26:35] [UPLOAD_RECOVERY] Checking recent media messages on server... [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=pending [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete [20:26:35] [UPLOAD_RECOVERY] Verifying 9 media files exist on server... [20:26:35] [PENDING_UPLOAD] Found pending message: id=23841, file=edc609c733fd329e.jpg, uploadStatus=1, sendStatus=0 [20:26:35] [PENDING_UPLOAD] Total pending upload messages: 1 [20:26:35] [UNSENT_RETRY] No unsent messages found [20:26:35] [UPLOAD_RECOVERY] ✅ Re-enqueued stuck upload: edc609c733fd329e.jpg [20:26:35] [SIG] hello_ok received for query connection - ready to query agents [20:26:35] [SIG] get_agents request sent for sessionId=ILUIWU [20:26:35] [SIG] get_agents request sent for sessionId=iosILUIWU [20:26:35] [SERVER] Stopped reconnect polling [20:26:35] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg [20:26:35] [SIG] agents_list received: [] [20:26:35] [SIG] agents_list received: [] [20:26:35] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files... [20:26:35] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [20:26:35] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [20:26:35] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg [20:26:35] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [20:26:35] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [20:26:35] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=pending) [20:26:35] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg [20:26:35] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=65 [20:26:35] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23844, 23843, 23842, 23841, 23840] [20:26:35] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [20:26:35] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835] [20:26:35] [RELOAD_TAB] 📊 Building chatRows from 50 messages [20:26:35] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [20:26:35] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=1 [20:26:35] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=1 → pending [20:26:35] [CELL_UPLOAD] setUploadStatus(pending, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:35] [CELL_UPLOAD] → pending: overlay.isHidden=false, alpha=1.0 [20:26:35] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=57 [20:26:35] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [20:26:35] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg [20:26:35] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg [20:26:35] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [20:26:35] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB [20:26:35] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=970, status=pending) [20:26:35] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg [20:26:36] [CLIENT_SIG] Typing stop from: Esra (EDAD55A1-003F-415D-AA60-672B34B504FE) [20:26:36] [UPLOAD_DEBUG] ========== START UPLOAD ========== [20:26:36] [UPLOAD_DEBUG] ========== START UPLOAD ========== [20:26:36] [UPLOAD_DEBUG] Item ID: 969 [20:26:36] [UPLOAD_DEBUG] Item ID: 970 [20:26:36] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/edc609c733fd329e.jpg [20:26:36] [UPLOAD_DEBUG] Local URL: /var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/Documents/MediaCache/t_edc609c733fd329e.jpg [20:26:36] [UPLOAD_DEBUG] Random filename: t_edc609c733fd329e.jpg [20:26:36] [UPLOAD_DEBUG] Random filename: edc609c733fd329e.jpg [20:26:36] [UPLOAD_DEBUG] Session ID: ILUIWU [20:26:36] [UPLOAD_DEBUG] Session ID: ILUIWU [20:26:36] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [20:26:36] [UPLOAD_DEBUG] API Base: https://crivello.dyndns.org:443/WebRTC/chat/ [20:26:36] [UPLOAD_DEBUG] Retry count: 0 [20:26:36] [UPLOAD_DEBUG] Retry count: 0 [20:26:36] [UPLOAD_NOTIFY] 📣 Posting notification: file=t_edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [20:26:36] [UPLOAD_NOTIFY] 📣 Posting notification: file=edc609c733fd329e.jpg, status=uploading (2), progress=0.0% [20:26:36] [UPLOAD_STATUS] 📬 Received notification: file=t_edc609c733fd329e.jpg, status=2 (uploading) [20:26:36] [UPLOAD_DEBUG] File exists: true [20:26:36] [UPLOAD_DEBUG] File exists: true [20:26:36] [UPLOAD_STATUS] ⚠️ File not found in memory arrays: t_edc609c733fd329e.jpg [20:26:36] [UPLOAD_STATUS] 💾 Updating DB: file=t_edc609c733fd329e.jpg, status=2 (uploading) [20:26:36] [UPLOAD_DEBUG] File size: 38689 bytes (0.0 MB) [20:26:36] [UPLOAD_DEBUG] File size: 793022 bytes (0.8 MB) [20:26:36] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [20:26:36] [UPLOAD_DEBUG] Chunked threshold: 104857600 bytes (100 MB) [20:26:36] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [20:26:36] [UPLOAD_DEBUG] → Using STANDARD upload (file <= threshold) [20:26:36] [UPLOAD_DEBUG] --- startStandardUpload --- [20:26:36] [UPLOAD_DEBUG] --- startStandardUpload --- [20:26:36] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [20:26:36] [UPLOAD_DEBUG] Upload URL: https://crivello.dyndns.org:443/WebRTC/chat/upload_media.php [20:26:36] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [20:26:36] [UPLOAD_DEBUG] File extension: jpg, MIME type: image/jpeg [20:26:36] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/8B8C3919-AE18-4846-BC25-1196B519C91D.upload [20:26:36] [UPLOAD_DEBUG] Temp file URL: /private/var/mobile/Containers/Data/Application/CEB0E87D-CA3B-4D02-BC2D-18EB8397CBA4/tmp/423858A0-1AC7-496F-88C8-E1EA227417BB.upload [20:26:36] [UPLOAD_DEBUG] File size: 38689 bytes, in-memory threshold: 10485760 bytes [20:26:36] [UPLOAD_DEBUG] File size: 793022 bytes, in-memory threshold: 10485760 bytes [20:26:36] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [20:26:36] [UPLOAD_DEBUG] Creating multipart body (in-memory mode)... [20:26:36] [UPLOAD_STATUS] ⚠️ DB update: 0 rows affected - file=t_edc609c733fd329e.jpg not found in local_messages [20:26:36] [UPLOAD_STATUS] 📬 Received notification: file=edc609c733fd329e.jpg, status=2 (uploading) [20:26:36] [UPLOAD_STATUS] 📝 Updated allMessagesWithReadBy[3]: 1 → 2 [20:26:36] [UPLOAD_STATUS] 📝 Updated chatMessages[3]: status=2 [20:26:36] [UPLOAD_STATUS] 📝 Updated chatRows[47]: status=2 [20:26:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:36] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [20:26:36] [UPLOAD_STATUS] 🔄 Updated visible cell at row 47 [20:26:36] [UPLOAD_STATUS] 💾 Updating DB: file=edc609c733fd329e.jpg, status=2 (uploading) [20:26:36] [UPLOAD_STATUS] ✅ DB updated: 1 row(s) affected for file=edc609c733fd329e.jpg [20:26:36] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:36] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [20:26:36] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (39171 bytes) [20:26:36] [UPLOAD_DEBUG] Creating background upload task... [20:26:36] [UPLOAD_DEBUG] ✓ In-memory body written to temp file (793498 bytes) [20:26:36] [UPLOAD_DEBUG] Creating background upload task... [20:26:36] [UPLOAD_DEBUG] Task created with identifier: 7 [20:26:36] [UPLOAD_DEBUG] Added to activeUploads dictionary [20:26:36] [UPLOAD_DEBUG] Updated DB status to 'uploading' [20:26:36] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=7 | file=t_edc609c733fd329e.jpg | size=0.0MB | retries=0 [20:26:36] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [20:26:36] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [20:26:36] [UPLOAD_DEBUG] Task created with identifier: 8 [20:26:36] [UPLOAD_DEBUG] Added to activeUploads dictionary [20:26:36] [UPLOAD_DEBUG] Updated DB status to 'uploading' [20:26:36] [UPLOAD_LIFECYCLE] 🚀 STARTED | task=8 | file=edc609c733fd329e.jpg | size=0.8MB | retries=0 [20:26:36] [UPLOAD_DEBUG] ✓ Task resumed - upload should be in progress now [20:26:36] [UPLOAD_DEBUG] ========== UPLOAD STARTED ========== [20:26:36] [PUSH] Silent push received [20:26:36] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:36 +0000, appState=0, message_id=nil [20:26:36] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=0, IDs=[] [20:26:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:36 +0000 [20:26:36] [PUSH_EMBED] No embedded message_data in notification [20:26:36] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [20:26:36] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=0, IDs=[], handled=false [20:26:36] [PUSH] No embedded data, pre-loading messages from server [20:26:36] [PUSH_PRELOAD] Fetching messages for instant display cache [20:26:37] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [20:26:37] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [20:26:37] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:37] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache [20:26:37] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [20:26:37] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [20:26:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835] [20:26:37] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23844, AnyHashable("aps"): { "content-available" = 1; }] [20:26:37] [PUSH] Parsed message_id: 23844 [20:26:37] [PUSH] Parsed operation_type: 3 [20:26:37] [PUSH] Taking direct action: opType=3, messageId=23844 [20:26:37] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23844 [20:26:37] [PUSH_DEBUG] ⬇️ PUSH RECEIVED at 2026-03-06 19:26:37 +0000 - type: unknown, operation_type: 0, message_id: 23845, session_id: ILUIWU, state: 0 [20:26:37] [PUSH_DEBUG] Full userInfo: [AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23845, AnyHashable("message_data"): { datesent = "2026-03-06 19:26:36"; "file_name" = ""; message = "But noted\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23845; "message_type" = 0; "prev_session_message_id" = 23844; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] [20:26:37] [PUSH] App active - suppressing notification UI, posting internal event [20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:37 +0000 [20:26:37] [PUSH_TRACE] ⬇️ Processing embedded message_id=23845 [20:26:37] [PUSH_EMBED] 📩 Received embedded message: id=23845, type=0, sender=Esra [20:26:37] [PUSH_TRACE] ⬇️ Message details: text="But noted😋😋...", datesent=2026-03-06 19:26:36 [20:26:37] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [20:26:37] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23845 [20:26:37] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23845 [20:26:37] [PUSH_EMBED] ✅ Saved message 23845 to local DB (sync) [20:26:37] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23845 [20:26:37] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23845 [20:26:37] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23845 [20:26:37] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:37] [PUSH_TRACE] 📦 ⚠️ Message 23845 already in cache, skipping insert [20:26:37] [PUSH_TRACE] 📦 EXITING cache update queue for message 23845 [20:26:37] [PUSH_EMBED] Fetching evolution data for message 23845 in background [20:26:37] [PUSH_EMBED] ✅ Fully processed message 23845 [20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23845 [20:26:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836, 23835] [20:26:37] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23845, AnyHashable("message_data"): { datesent = "2026-03-06 19:26:36"; "file_name" = ""; message = "But noted\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23845; "message_type" = 0; "prev_session_message_id" = 23844; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] [20:26:37] [PUSH_EMBED_VC] Processing embedded message: id=23845, type=0, sender=Esra, prevId=23844 [20:26:37] [PUSH_EMBED_VC] Inserted message 23845 into allMessagesWithReadBy (now 51 messages) [20:26:37] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=51 [20:26:37] [PUSH_EMBED_VC] ✅ Previous message 23844 exists in memory [20:26:37] [PUSH] ⚡ Embedded message handled directly in ViewController [20:26:37] [PUSH] Parsed message_id: 23845 [20:26:37] [PUSH] Parsed operation_type: 0 [20:26:37] [PUSH_EMBED_VC] Saved message 23845 to local DB [20:26:37] [PUSH] Taking direct action: opType=0, messageId=23845 [20:26:37] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23845 [20:26:37] [PUSH] ⚡ Message 23845 already in memory - skipping duplicate notification entirely [20:26:37] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived START [20:26:37] [PUSH_TRACE] 👁️ Received message id=23845, text="But noted😋😋..." [20:26:37] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [20:26:37] [PUSH_UI] Message 23845 already in memory - skipping insert [20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists [20:26:37] [PUSH] Silent push received [20:26:37] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:37 +0000, appState=0, message_id=23845 [20:26:37] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:37 +0000 [20:26:37] [PUSH_TRACE] ⬇️ Processing embedded message_id=23845 [20:26:37] [PUSH_EMBED] 📩 Received embedded message: id=23845, type=0, sender=Esra [20:26:37] [PUSH_TRACE] ⬇️ Message details: text="But noted😋😋...", datesent=2026-03-06 19:26:36 [20:26:37] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [20:26:37] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23845 [20:26:37] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23845 [20:26:37] [PUSH_EMBED] ✅ Saved message 23845 to local DB (sync) [20:26:37] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23845 [20:26:37] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23845 [20:26:37] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23845 [20:26:37] [PUSH_TRACE] 📦 Cache state: valid=true, count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:37] [PUSH_TRACE] 📦 ⚠️ Message 23845 already in cache, skipping insert [20:26:37] [PUSH_TRACE] 📦 EXITING cache update queue for message 23845 [20:26:37] [PUSH_EMBED] Fetching evolution data for message 23845 in background [20:26:37] [PUSH_EMBED] ✅ Fully processed message 23845 [20:26:37] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23845 [20:26:37] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836], handled=true [20:26:37] [PUSH] Embedded message handled instantly from silent push [20:26:37] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification [20:26:37] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23845 [20:26:37] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived START [20:26:37] [PUSH_TRACE] 👁️ Received message id=23845, text="But noted😋😋..." [20:26:37] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [20:26:37] [PUSH_UI] Message 23845 already in memory - skipping insert [20:26:37] [PUSH_TRACE] 👁️ handlePushMessageReceived END - already exists [20:26:37] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:37] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 0, AnyHashable("session_id"): ILUIWU, AnyHashable("message_id"): 23845, AnyHashable("message_data"): { datesent = "2026-03-06 19:26:36"; "file_name" = ""; message = "But noted\Ud83d\Ude0b\Ud83d\Ude0b"; "message_id" = 23845; "message_type" = 0; "prev_session_message_id" = 23844; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }] [20:26:37] [PUSH_EMBED_VC] Message 23845 already in memory - skipping [20:26:37] [PUSH] ⚡ Embedded message handled directly in ViewController [20:26:37] [PUSH] Parsed message_id: 23845 [20:26:37] [PUSH] Parsed operation_type: 0 [20:26:37] [PUSH] Taking direct action: opType=0, messageId=23845 [20:26:37] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23845 [20:26:37] [PUSH] ⚡ Message 23845 already in memory - skipping duplicate notification entirely [20:26:37] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=57 [20:26:37] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[23845, 23844, 23843, 23842, 23841] [20:26:37] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [20:26:37] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:37] [RELOAD_TAB] 📊 Building chatRows from 51 messages [20:26:37] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [20:26:37] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [20:26:37] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [20:26:37] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:37] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [20:26:37] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23844 → 23845 [20:26:37] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [20:26:37] [SCROLL] 💓 alive, visible=45...51, rows=52, estHeight=0.0, heightCalls=112 [20:26:38] [CLIENT_SIG] Event received: type=0 messageId=23845 [20:26:38] [WS_EVENT] Received event: type=0, messageId=23845 [20:26:38] [WS_EVENT] 📨 New message notification (msgId=23845) - triggering incremental refresh, currentMsgCount=51 [20:26:38] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51 [20:26:38] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23845, maxMemoryId=23845 [20:26:38] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23845 [20:26:38] [PUSH_EMBED] Got evolution data for message 23845, saving to local DB [20:26:38] [PUSH_EMBED] Saved evolution data for message 23845 [20:26:38] [INCREMENTAL_SYNC] ✅ No new messages [20:26:38] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51 [20:26:38] [CLIENT_SIG] Event received: type=3 messageId=23844 [20:26:38] [WS_EVENT] Received event: type=3, messageId=23844 [20:26:38] [WS_EVENT] Read receipt for message 23844 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:26:38] [PUSH_EMBED] Got evolution data for message 23845, saving to local DB [20:26:38] [PUSH_EMBED] Saved evolution data for message 23845 [20:26:39] [PUSH] Silent push received [20:26:39] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:26:39 +0000, appState=0, message_id=nil [20:26:39] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:39] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:26:39 +0000 [20:26:39] [PUSH_EMBED] No embedded message_data in notification [20:26:39] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [20:26:39] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836], handled=false [20:26:39] [PUSH] No embedded data, pre-loading messages from server [20:26:39] [PUSH_PRELOAD] Fetching messages for instant display cache [20:26:40] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [20:26:40] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [20:26:40] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:40] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:40] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=0, IDs=[] [20:26:40] [PUSH_TRACE] 🔀 mergeMessages: merged.count=50, first 10 IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:40] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [20:26:40] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [20:26:40] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837, 23836] [20:26:40] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("operation_type"): 3, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23845] [20:26:40] [PUSH] Parsed message_id: 23845 [20:26:40] [PUSH] Parsed operation_type: 3 [20:26:40] [PUSH] Taking direct action: opType=3, messageId=23845 [20:26:40] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23845 [20:26:41] [CLIENT_SIG] Event received: type=3 messageId=23845 [20:26:41] [WS_EVENT] Received event: type=3, messageId=23845 [20:26:41] [WS_EVENT] Read receipt for message 23845 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:26:49] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [20:26:49] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=51, isReloading=false [20:26:49] [SEND_MESSAGE] ✅ Added optimistic message id=-1 to arrays, newMsgCount=52 [20:26:49] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [20:26:49] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[-1, 23845, 23844, 23843, 23842] [20:26:49] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages [20:26:49] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-1, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838, 23837] [20:26:49] [RELOAD_TAB] 📊 Building chatRows from 52 messages [20:26:49] [RELOAD_TAB] 📊 Built 53 chatRows, estHeight=0.0 [20:26:49] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [20:26:49] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [20:26:49] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:49] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [20:26:49] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [20:26:49] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [20:26:49] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [20:26:49] [SCROLL] 💓 alive, visible=47...52, rows=53, estHeight=0.0, heightCalls=113 [20:26:51] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23846,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 19:26:49"} [20:26:51] [CLIENT_SIG] Event received: type=0 messageId=23846 [20:26:51] [WS_EVENT] Received event: type=0, messageId=23846 [20:26:51] [CHAT] receive_message.php JSON: ["datesent_utc": 2026-03-06 19:26:49, "session_id": ILUIWU, "message_id": 23846, "message_type": 0, "ok": 1, "file_name": ] [20:26:51] [WS_EVENT] 📨 New message notification (msgId=23846) - triggering incremental refresh, currentMsgCount=52 [20:26:51] [DB_UPGRADE] Upgrading message ID: -1 → 23846, preserveOriginalDate=false [20:26:51] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=52 [20:26:51] [DB_UPGRADE] ✅ Upgraded -1 → 23846 with send_status=0, 1 row(s) affected [20:26:51] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23846, maxMemoryId=23845 [20:26:51] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23846 [20:26:51] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -1 → 23846 [20:26:51] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -1 → 23846 [20:26:51] ReloadData 9 [20:26:51] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [20:26:51] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [20:26:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:51] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [20:26:51] [INCREMENTAL_SYNC] ✅ No new messages [20:26:51] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=52 [20:26:51] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [20:26:51] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=52, isReloading=false [20:26:51] [SEND_MESSAGE] ✅ Added optimistic message id=-2 to arrays, newMsgCount=53 [20:26:51] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=60 [20:26:51] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=53, first5Ids=[-2, 23846, 23845, 23844, 23843] [20:26:51] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 53 messages [20:26:51] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-2, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839, 23838] [20:26:51] [RELOAD_TAB] 📊 Building chatRows from 53 messages [20:26:51] [RELOAD_TAB] 📊 Built 54 chatRows, estHeight=0.0 [20:26:51] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [20:26:51] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [20:26:51] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:26:51] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [20:26:51] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61 [20:26:51] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [20:26:51] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [20:26:51] [SCROLL] 💓 alive, visible=47...53, rows=54, estHeight=0.0, heightCalls=117 [20:26:53] [LOG-KB] textViewShouldEndEditing: isInputField=true, allowKeyboardDismiss=true, returning=true, textView=53=true, maxId=23848>23847=true, shouldScroll=true [20:27:15] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54 [20:27:15] [PUSH_PRELOAD] No messages or parse error [20:27:15] [PUSH] Server fetch on tap completed (success=false) [20:27:15] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:15] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_data"): { datesent = "2026-03-06 19:27:07"; "file_name" = ""; message = "Media unavailable \Ud83e\Udd72"; "message_id" = 23848; "message_type" = 0; "prev_session_message_id" = 23847; "replied_message" = ""; "replied_sender_id" = "3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF"; "replied_sender_name" = Laurent; "reply_to_id" = 23841; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23848, AnyHashable("operation_type"): 0] [20:27:15] [PUSH_EMBED_VC] Message 23848 already in memory - skipping [20:27:15] [PUSH] ⚡ Embedded message handled directly in ViewController [20:27:15] [PUSH] Parsed message_id: 23848 [20:27:15] [PUSH] Parsed operation_type: 0 [20:27:15] [PUSH] Taking direct action: opType=0, messageId=23848 [20:27:15] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23848 [20:27:15] [PUSH] ⚡ Message 23848 already in memory - skipping duplicate notification entirely [20:27:15] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [20:27:15] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [20:27:15] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 54 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:15] [PUSH] handlePollEventsNotification userInfo: [:] [20:27:15] [PUSH] No message_id in userInfo [20:27:15] [PUSH] No operation_type in userInfo [20:27:15] [FAST_REFRESH] Evolution disabled - performing incremental sync [20:27:15] [PUSH_TRACE] 📬 POLL: cache state: valid=true, count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:15] [PUSH_TRACE] 📬 POLL: memory state: count=54, first 10 IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:15] [FAST_REFRESH] Already have 54 messages in memory [20:27:15] [FAST_REFRESH] maxMemoryId=23848, maxLocalId=23848 [20:27:15] [FAST_REFRESH] About to call reloadMessagesForCurrentTab(), isMainThread=true, viewLoaded=true [20:27:15] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54 [20:27:15] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [20:27:15] [FAST_REFRESH] reloadMessagesForCurrentTab() called successfully [20:27:15] [READBY_OPT] No message IDs to fetch - skipping server call [20:27:15] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=54 [20:27:15] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23848, maxMemoryId=23848 [20:27:15] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23848 [20:27:15] [FAST_REFRESH] Enriched 0/0 unsettled messages with readBy data [20:27:15] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=54 [20:27:15] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [20:27:16] [INCREMENTAL_SYNC] ✅ No new messages [20:27:16] [FAST_REFRESH] Incremental sync complete - 54 messages [20:27:16] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=63 [20:27:16] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=54, first5Ids=[23848, 23847, 23846, 23845, 23844] [20:27:16] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 54 messages [20:27:16] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:16] [RELOAD_TAB] 📊 Building chatRows from 54 messages [20:27:16] [RELOAD_TAB] 📊 Built 55 chatRows, estHeight=0.0 [20:27:16] [SCROLL] 💓 alive, visible=47...54, rows=55, estHeight=0.0, heightCalls=0 [20:27:16] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=2 [20:27:16] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=2 → uploading [20:27:16] [CELL_UPLOAD] setUploadStatus(uploading, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:27:16] [CELL_UPLOAD] → uploading: circularProgress visible, overlay.isHidden=false [20:27:16] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=63 [20:27:17] [PIN_AUTH] Correct PIN [20:27:17] [SECURITY] Restored real session: ILUIWU [20:27:17] [SECURITY] Restored real session: ILUIWU [20:27:17] [PUSH] Silent push received [20:27:17] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:27:17 +0000, appState=0, message_id=nil [20:27:17] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:17] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:17 +0000 [20:27:17] [PUSH_EMBED] No embedded message_data in notification [20:27:17] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [20:27:17] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=53, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839], handled=false [20:27:17] [PUSH] No embedded data, pre-loading messages from server [20:27:17] [PUSH_PRELOAD] Fetching messages for instant display cache [20:27:17] [LOCK] ✅ PIN auth callback - setting isAuthenticated = true [20:27:17] [FAKE MODE] Exiting fake mode, restoring real session [20:27:17] [SECURITY] Restored real session: ILUIWU [20:27:17] [SECURITY] Saved real session: ILUIWU [20:27:17] [FAKE MODE] ✅ Restored real session: ILUIWU [20:27:17] [FAKE MODE] Loaded 50 messages (limited to page size) [20:27:17] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [20:27:17] [READBY_OPT] No message IDs to fetch - skipping server call [20:27:17] [AUTH] Authentication completed - updating UI only (data already fetched in foreground handler) [20:27:17] [AUTH] Cache had 53 messages, maxExistingId=23848, inserted 0 truly new [20:27:17] [LIFECYCLE] scrollToBottomIfNeeded time=false, count=50>53=false, maxId=23848>23847=true, shouldScroll=true [20:27:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:27:17] [AUTH] UI update complete [20:27:17] [FAKE MODE] Enriched 0/0 unsettled messages with readBy data [20:27:17] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:27:17] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [20:27:17] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [20:27:17] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [20:27:17] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:27:17] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [20:27:17] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:17] [PUSH_TRACE] 🔀 mergeMessages: Different session (nil vs ILUIWU), replacing cache [20:27:17] [PUSH_PRELOAD] ⚡ Pre-cached 50 messages for instant display (preserved 0 from push) [20:27:17] [SCROLL] 💓 alive, visible=43...50, rows=51, estHeight=0.0, heightCalls=122 [20:27:17] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0} [20:27:17] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [20:27:17] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [20:27:17] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 50 msgs, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:17] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("message_id"): 23848, AnyHashable("session_id"): ILUIWU, AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("operation_type"): 3] [20:27:17] [PUSH] Parsed message_id: 23848 [20:27:17] [PUSH] Parsed operation_type: 3 [20:27:17] [PUSH] Taking direct action: opType=3, messageId=23848 [20:27:17] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23848 [20:27:17] [USER] ✅ User registered successfully [20:27:17] [PUSH] User registration after token update: success [20:27:17] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [20:27:17] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23848, 23847, 23846, 23845, 23844] [20:27:17] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [20:27:17] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:17] [RELOAD_TAB] 📊 Building chatRows from 50 messages [20:27:17] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [20:27:17] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [20:27:17] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [20:27:17] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:27:17] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=59 [20:27:18] [CLIENT_SIG] Event received: type=3 messageId=23848 [20:27:18] [WS_EVENT] Received event: type=3, messageId=23848 [20:27:18] [WS_EVENT] Read receipt for message 23848 by Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:27:19] [MENU] dismissAnyExistingMenu called [20:27:19] [MENU] dismissAnyExistingMenu completed [20:27:19] [SCROLL] 💓 alive, visible=43...50, rows=51, estHeight=0.0, heightCalls=60 [20:27:19] [MENU] dismissAnyExistingMenu called [20:27:19] [MENU] dismissAnyExistingMenu completed [20:27:20] [NETWORK] Status changed: connected [20:27:20] [SCROLL] 💓 alive, visible=43...46, rows=51, estHeight=0.0, heightCalls=5 [20:27:20] [SCROLL_BTN] Showing button - 306pt from bottom > half 223pt [20:27:28] [REPLY_DEBUG] 📤 didTapSend - Sending message WITHOUT reply [20:27:28] [SEND_MESSAGE] 📤 Sending message, currentMsgCount=50, isReloading=false [20:27:28] [SEND_MESSAGE] ✅ Added optimistic message id=-3 to arrays, newMsgCount=51 [20:27:28] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=7 [20:27:28] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=51, first5Ids=[-3, 23848, 23847, 23846, 23845] [20:27:28] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 51 messages [20:27:28] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [-3, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840] [20:27:28] [RELOAD_TAB] 📊 Building chatRows from 51 messages [20:27:28] [RELOAD_TAB] 📊 Built 52 chatRows, estHeight=0.0 [20:27:28] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [20:27:28] [REPLY_DEBUG] ❌ cancelReply called - clearing messageToReplyTo [20:27:28] [REPLY_DEBUG] ⚠️ sendMessage HTTP BODY - No reply message captured [20:27:28] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [20:27:28] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [20:27:28] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:27:28] [SCROLL] 💓 alive, visible=44...51, rows=52, estHeight=0.0, heightCalls=114 [20:27:30] [CHAT] receive_message.php HTTP 200: {"ok":true,"message_id":23849,"session_id":"ILUIWU","message_type":0,"file_name":"","datesent_utc":"2026-03-06 19:27:29"} [20:27:30] [CLIENT_SIG] Event received: type=0 messageId=23849 [20:27:30] [WS_EVENT] Received event: type=0, messageId=23849 [20:27:30] [CHAT] receive_message.php JSON: ["file_name": , "message_id": 23849, "message_type": 0, "session_id": ILUIWU, "datesent_utc": 2026-03-06 19:27:29, "ok": 1] [20:27:30] [WS_EVENT] 📨 New message notification (msgId=23849) - triggering incremental refresh, currentMsgCount=51 [20:27:30] [DB_UPGRADE] Upgrading message ID: -3 → 23849, preserveOriginalDate=false [20:27:30] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=51 [20:27:30] [DB_UPGRADE] ✅ Upgraded -3 → 23849 with send_status=0, 1 row(s) affected [20:27:30] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23849, maxMemoryId=23848 [20:27:30] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23849 [20:27:30] [SEND_UPGRADE] ✅ Updated chatMessages[0].id: -3 → 23849 [20:27:30] [SEND_UPGRADE] ✅ Updated allMessagesWithReadBy[0].id: -3 → 23849 [20:27:30] ReloadData 9 [20:27:30] [INCREMENTAL_SYNC] ✅ No new messages [20:27:30] [WS_EVENT] ✅ Incremental refresh complete, newMsgCount=51 [20:27:31] [LIFECYCLE] App resigning active - cleared crash flag [20:27:31] [PUSH] Silent push received [20:27:31] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:27:31 +0000, appState=1, message_id=nil [20:27:31] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=50, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:31] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:31 +0000 [20:27:31] [PUSH_EMBED] No embedded message_data in notification [20:27:31] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - no message_data [20:27:31] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=50, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839], handled=false [20:27:31] [PUSH] No embedded data, pre-loading messages from server [20:27:31] [PUSH_PRELOAD] Fetching messages for instant display cache [20:27:32] [PUSH_PRELOAD] Fetched 50 messages - caching for instant display [20:27:32] [PUSH_TRACE] 🔀 mergeMessages called: newMessages.count=50, sessionId=ILUIWU [20:27:32] [PUSH_TRACE] 🔀 mergeMessages: newMessages IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840] [20:27:32] [PUSH_TRACE] 🔀 mergeMessages: existingMessages.count=50, IDs=[23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840, 23839] [20:27:32] [PRELOAD_CACHE] Preserving 1 push-inserted messages: [23799] [20:27:32] [PUSH_TRACE] 🔀 mergeMessages: preservedMessages.count=1, IDs=[23799] [20:27:32] [PUSH_TRACE] 🔀 mergeMessages: merged.count=51, first 10 IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840] [20:27:32] [PUSH_PRELOAD] ⚡ Pre-cached 51 messages for instant display (preserved 1 from push) [20:27:32] [PUSH_PRELOAD] ✅ Pre-load complete with thumbnails [20:27:32] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 51 msgs, IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840] [20:27:32] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): { "content-available" = 1; }, AnyHashable("message_id"): 23849, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 3] [20:27:32] [PUSH] Parsed message_id: 23849 [20:27:32] [PUSH] Parsed operation_type: 3 [20:27:32] [PUSH] Taking direct action: opType=3, messageId=23849 [20:27:32] [PUSH] TakeActionFromPush called: OperationType=3, MessageIds=23849 [20:27:32] [UPLOAD_QUEUE] ✅ Database flushed (WAL checkpoint) before background [20:27:32] [SECURITY] sceneDidEnterBackground - isAuthenticated=true [20:27:32] [SECURITY] Saved background timestamp [20:27:32] [LIFECYCLE] App entering background - cleared crash flag [20:27:32] [CLIENT_SIG] Disconnecting [20:27:32] [LIFECYCLE] App entering background - disconnecting connections and stopping audio [20:27:32] [DB] ✅ Chat database flushed (WAL checkpoint) before background [20:27:32] [PUSH_TRACE] 💤 BACKGROUND: memory has 51 messages, first 10 IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840] [20:27:32] [LIFECYCLE] Background snapshot: count=51, maxId=23849 [20:27:32] [WS] stopSignalingAndPeer called - isQueryOnly=true, connectionStr=iosILUIWU, wsState=3 [20:27:32] [WS] Canceling WebSocket for query connection to iosILUIWU [20:27:32] In cleanupPeer [20:27:32] In cleanupPeer [20:27:32] [LIFECYCLE] WebRTC audio disabled [20:27:32] [LIFECYCLE] AVAudioSession deactivated [20:27:32] [LIFECYCLE] All connections stopped [20:27:32] [CLIENT_SIG] WebSocket closed with code 1001 [20:27:32] [CLIENT_SIG] Reconnecting in 2.0s (attempt 1) [20:27:32] [CLIENT_SIG] Receive error: Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo={NSErrorFailingURLStringKey=http://crivello.dyndns.org:8081/, NSErrorFailingURLKey=http://crivello.dyndns.org:8081/} [20:27:32] [CLIENT_SIG] Reconnecting in 4.0s (attempt 2) [20:27:32] [SERVER] Stopped reconnect polling [20:27:32] [WS] URLSession invalidated successfully [20:27:32] Will request stop of video 0 [20:27:32] Will request stop of video 0 [20:27:32] [PIP] Removing 0 tracks from PiP for connection 0 [20:27:32] [PIP] ✅ All tracks removed for connection 0 [20:27:32] [PIP] Removing 0 tracks from PiP for connection 0 [20:27:32] [PIP] ✅ All tracks removed for connection 0 [20:27:32] [NETWORK] Status changed: connected [20:27:42] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:27:42] [PUSH] Silent push received [20:27:42] [PUSH_TRACE] 🔔 SILENT PUSH at 2026-03-06 19:27:42 +0000, appState=2, message_id=23850 [20:27:42] [PUSH_TRACE] 🔔 SILENT: cache BEFORE: count=51, IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840] [20:27:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData START at 2026-03-06 19:27:42 +0000 [20:27:42] [PUSH_TRACE] ⬇️ Processing embedded message_id=23850 [20:27:42] [PUSH_EMBED] 📩 Received embedded message: id=23850, type=0, sender=Esra [20:27:42] [PUSH_TRACE] ⬇️ Message details: text="Thanks darling 🥰...", datesent=2026-03-06 19:27:40 [20:27:42] [PUSH_TRACE] ⬇️ Session check: msgSession=ILUIWU, currentSession=ILUIWU [20:27:42] [PUSH_TRACE] ⬇️ About to enter pushMessageQueue.sync for message 23850 [20:27:42] [PUSH_TRACE] ⬇️ INSIDE pushMessageQueue.sync for message 23850 [20:27:42] [PUSH_EMBED] ✅ Saved message 23850 to local DB (sync) [20:27:42] [PUSH_TRACE] ⬇️ EXITING pushMessageQueue.sync for message 23850 [20:27:42] [PUSH_TRACE] 📦 About to update PreloadedDataCache for message 23850 [20:27:42] [PUSH_TRACE] 📦 INSIDE cache update queue for message 23850 [20:27:42] [PUSH_TRACE] 📦 Cache state: valid=true, count=51, IDs=[23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841, 23840] [20:27:42] [PUSH_EMBED] Inserted message 23850 into existing cache (now 52 messages) [20:27:42] [PUSH_TRACE] 📦 ✅ Inserted message 23850, cache now has IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841] [20:27:42] [PUSH_TRACE] 📦 EXITING cache update queue for message 23850 [20:27:42] [PUSH_EMBED] Fetching evolution data for message 23850 in background [20:27:42] [PUSH_EMBED] ✅ Fully processed message 23850 [20:27:42] [PUSH_TRACE] ⬇️ handleEmbeddedMessageData END - SUCCESS for message 23850 [20:27:42] [PUSH_TRACE] 🔔 SILENT: cache AFTER: count=52, IDs=[23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841], handled=true [20:27:42] [PUSH] Embedded message handled instantly from silent push [20:27:42] [PUSH_TRACE] 🔔 SILENT: About to post pollEventsNow notification [20:27:42] [PUSH_TRACE] 🔔 SILENT: Completed with .newData for message_id=23850 [20:27:42] [PUSH_UI] 🔔 handlePushMessageReceived CALLED [20:27:42] [PUSH_TRACE] 👁️ handlePushMessageReceived START [20:27:42] [PUSH_TRACE] 👁️ Received message id=23850, text="Thanks darling 🥰..." [20:27:42] [PUSH_UI_BLACKOUT] blackoutView=false, currentTab=0, senderId=EDAD55A1-003F-415D-AA60-672B34B504FE, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, type=0 [20:27:42] [PUSH_TRACE] 👁️ BEFORE insert: 51 messages, first 5 IDs: [23849, 23848, 23847, 23846, 23845] [20:27:42] [PUSH_TRACE] 👁️ Inserted message 23850 at index 0 [20:27:42] [PUSH_UI] Inserted message 23850 into UI (now 52 messages) [20:27:42] [PUSH_TRACE] 👁️ AFTER insert: 52 messages, first 5 IDs: [23850, 23849, 23848, 23847, 23846] [20:27:42] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=52 [20:27:42] [PUSH_TRACE] 👁️ handlePushMessageReceived END - success [20:27:42] [PUSH_TRACE] 📬 handlePollEventsNotification START: memory has 52 msgs, IDs=[23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841] [20:27:42] [PUSH] handlePollEventsNotification userInfo: [AnyHashable("aps"): { alert = { body = "New message received"; title = Eye; }; badge = 1; "content-available" = 1; sound = default; }, AnyHashable("message_id"): 23850, AnyHashable("session_id"): ILUIWU, AnyHashable("operation_type"): 0, AnyHashable("message_data"): { datesent = "2026-03-06 19:27:40"; "file_name" = ""; message = "Thanks darling \Ud83e\Udd70"; "message_id" = 23850; "message_type" = 0; "prev_session_message_id" = 23849; "sender_id" = "EDAD55A1-003F-415D-AA60-672B34B504FE"; "sender_name" = Esra; "session_id" = ILUIWU; timer = 0; }] [20:27:42] [PUSH_EMBED_VC] Message 23850 already in memory - skipping [20:27:42] [PUSH] ⚡ Embedded message handled directly in ViewController [20:27:42] [PUSH] Parsed message_id: 23850 [20:27:42] [PUSH] Parsed operation_type: 0 [20:27:42] [PUSH] Taking direct action: opType=0, messageId=23850 [20:27:42] [PUSH] TakeActionFromPush called: OperationType=0, MessageIds=23850 [20:27:42] [PUSH] ⚡ Message 23850 already in memory - skipping duplicate notification entirely [20:27:43] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=59 [20:27:43] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=52, first5Ids=[23850, 23849, 23848, 23847, 23846] [20:27:43] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 52 messages [20:27:43] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841] [20:27:43] [RELOAD_TAB] 📊 Building chatRows from 52 messages [20:27:43] [RELOAD_TAB] 📊 Built 53 chatRows, estHeight=0.0 [20:27:43] [EVOLUTION_FILTER] 📝 Updated lastSeenMessageId after marking as read: 23849 → 23850 [20:27:43] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61 [20:27:43] [CLIENT_SIG] WebSocket opened [20:27:43] [CLIENT_SIG] HELLO sent as client for session ILUIWU [20:27:43] [CLIENT_SIG] Connected! clientId=W01S9dxl4p2wI0h2 [20:28:53] [CRASH] No crash detected [20:28:53] [FONT] Roboto fonts loaded successfully: Roboto-Regular [20:28:53] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto [20:28:53] [GIPHY] SDK not available - using REST API fallback [20:28:53] [BACKGROUND] Background fetch enabled [20:28:53] [SECURITY] Initial launch - within timeout (80.99754476547241s < 300.0s) [20:28:53] [AUTH] Starting PIN authentication [20:28:53] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [20:28:53] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:28:53] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c [20:28:53] [CLEANUP] No old timer messages to delete [20:28:53] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [20:28:53] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [20:28:53] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23850)... [20:28:53] [CLIENT_SIG] WebSocket opened [20:28:53] [CLIENT_SIG] HELLO sent as client for session ILUIWU [20:28:53] [CLIENT_SIG] Connected! clientId=9D92aAi2vXmnxNYI [20:28:53] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [20:28:53] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:28:53] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0} [20:28:53] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [20:28:53] [USER] ✅ User registered successfully [20:28:53] [PUSH] User registration after token update: success [20:28:53] [PRELOAD] No messages or parse error [20:28:55] [PIN_AUTH] Correct PIN [20:28:55] [SECURITY] Restored real session: ILUIWU [20:28:55] [SECURITY] Restored real session: ILUIWU [20:28:55] [SECURITY] Saved real session: ILUIWU [20:28:55] [SCENE] Launched directly to chat view with sessionId: ILUIWU [20:28:55] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [20:28:55] [UPLOAD_QUEUE] ✅ Database integrity check passed [20:28:55] [UPLOAD_QUEUE] Active background tasks: 6 [20:28:55] [UPLOAD_QUEUE] ✅ Active upload: id=969, file=edc609c733fd329e.jpg, taskId=8, age=2min [20:28:55] [UPLOAD_QUEUE] ✅ Active upload: id=970, file=t_edc609c733fd329e.jpg, taskId=7, age=2min [20:28:55] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=969, file=edc609c733fd329e.jpg, status=uploading, age=68min [20:28:55] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=970, file=t_edc609c733fd329e.jpg, status=uploading, age=68min [20:28:55] [UPLOAD_QUEUE] ⚠️ Found 2 uploads pending for >1 hour [20:28:55] Documents Directory: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents [20:28:55] [UPLOAD_QUEUE] Found 0 pending uploads to resume [20:28:55] [THEME] Applying current theme [20:28:55] [CHAT] Applied day theme (mode: day) [20:28:55] [SECURITY] Saved real session: ILUIWU [20:28:55] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [20:28:55] [CLIENT_SIG] Already connected/connecting to session ILUIWU [20:28:55] [NETWORK] Network monitor started [20:28:55] [NETWORK] Status changed: connected [20:28:55] Did transition [20:28:55] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU [20:28:55] [VIEWER] Screen lock enabled - normal idle behavior [20:28:55] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU [20:28:55] [VCC] ========== VideoConnectionClass INIT ========== [20:28:55] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil [20:28:55] [DATA AUDIO] ========== setupWebRTC() START ========== [20:28:55] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device [20:28:55] [DATA AUDIO] Creating encoder/decoder factories... [20:28:55] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1 [20:28:55] [CODEC] Viewer selected encoder: AV1 (best quality) [20:28:55] [DATA AUDIO] Creating RTCPeerConnectionFactory... [20:28:55] [DATA AUDIO] ✅ Factory created [20:28:55] [DATA AUDIO] RTCAudioSession locked [20:28:55] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false [20:28:55] [DATA AUDIO] RTCAudioSession unlocked [20:28:55] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer [20:28:55] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"] [20:28:55] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU [20:28:55] [WS] Opening session at ws://crivello.dyndns.org:8081/ [20:28:55] [QUERY] ✅ tempQueryConnection created for iosILUIWU [20:28:55] [VIEWER_INIT] Already have 50 messages - just filtering for tab [20:28:55] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:28:55] [EVENT_POLL] Event polling disabled - using WebSocket events instead [20:28:55] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0 [20:28:55] Did transition [20:28:55] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0) [20:28:55] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [20:28:55] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:28:55] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [20:28:55] [GALLERY_DB] Loading ALL media messages for session: ILUIWU [20:28:55] [READBY_OPT] Fetching readBy for 1 unsettled messages (targeted) [20:28:55] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55' [20:28:55] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46' [20:28:55] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34' [20:28:55] [USER] ✅ User registered successfully [20:28:55] [USER] User registration successful [20:28:55] [GALLERY_DB] ✅ Loaded 778 media messages [20:28:55] [MIGRATION] No messages need sender_name backfill [20:28:55] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [20:28:55] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23850, maxMemoryId=23850 [20:28:55] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23850 [20:28:55] [INCREMENTAL_SYNC] ✅ No new messages [20:28:55] [GALLERY] Filtered 778 -> 735 (only with local thumbnails) [20:28:55] [GALLERY] First 5 after sort (newest first): [20:28:55] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg [20:28:55] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg [20:28:55] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg [20:28:55] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg [20:28:55] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov [20:28:55] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0 [20:28:55] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt [20:28:55] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [20:28:55] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846] [20:28:55] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [20:28:55] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841] [20:28:55] [RELOAD_TAB] 📊 Building chatRows from 50 messages [20:28:55] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [20:28:55] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings [20:28:55] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [20:28:55] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [20:28:55] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [20:28:55] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:28:55] [SERVER] Starting reconnect polling (5s interval) [20:28:55] [ICONS] Screen width: 440.0, Tab spacing: 75.5 [20:28:55] [ICONS] Offset applied: -14.6 [20:28:55] [ICONS] New left margin: 11.2, New right margin: 11.3 [20:28:55] [COMBINED_FETCH] Loaded 1 read receipts, 0 messages with reactions [20:28:55] [READBY_ENRICH] Enriched 1/1 unsettled messages with readBy data [20:28:55] [ICONS] Chat center: (31.2, 87.0) [20:28:55] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5 [20:28:55] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5 [20:28:55] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5 [20:28:55] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5 [20:28:55] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5 [20:28:55] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2 [20:28:55] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3 [20:28:55] [ICONS] Screen width: 440.0 [20:28:55] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [20:28:55] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [20:28:55] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [20:28:55] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU [20:28:55] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:28:55] [PURGE] ⚠️ Media cache purge DISABLED for debugging [20:28:55] [UNSENT_RETRY] Checking for unsent messages... [20:28:55] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ========== [20:28:55] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF [20:28:55] [UPLOAD_RECOVERY] Session: ILUIWU [20:28:55] [UPLOAD_RECOVERY] ✅ No stuck uploads found [20:28:55] [UPLOAD_RECOVERY] Checking recent media messages on server... [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete [20:28:55] [UPLOAD_RECOVERY] Verifying 9 media files exist on server... [20:28:55] [PENDING_UPLOAD] Total pending upload messages: 0 [20:28:55] [UNSENT_RETRY] No unsent messages found [20:28:55] new_session POST ok: token len=157 [20:28:55] HELLO → sent (fetched token, role=query) [20:28:55] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg [20:28:55] [SIG] hello_ok received for query connection - ready to query agents [20:28:55] [SIG] get_agents request sent for sessionId=ILUIWU [20:28:55] [SIG] get_agents request sent for sessionId=iosILUIWU [20:28:55] [SERVER] Stopped reconnect polling [20:28:55] [SIG] agents_list received: [] [20:28:55] [SIG] agents_list received: [] [20:28:55] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files... [20:28:55] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [20:28:55] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [20:28:55] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/edc609c733fd329e.jpg [20:28:55] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [20:28:55] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [20:28:55] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=uploading) [20:28:55] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg [20:28:55] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=70 [20:28:55] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846] [20:28:55] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [20:28:55] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841] [20:28:55] [RELOAD_TAB] 📊 Building chatRows from 50 messages [20:28:55] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [20:28:55] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [20:28:55] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [20:28:55] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:28:55] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [20:28:55] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg [20:28:55] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/t_edc609c733fd329e.jpg [20:28:55] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [20:28:55] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB [20:28:55] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=970, status=uploading) [20:28:55] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61 [20:28:55] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg [20:28:57] [MENU] dismissAnyExistingMenu called [20:28:57] [MENU] dismissAnyExistingMenu completed [20:28:57] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=62 [20:28:58] [SCROLL_BTN] Showing button - 385pt from bottom > half 379pt [20:28:58] [MENU] dismissAnyExistingMenu called [20:28:58] [MENU] dismissAnyExistingMenu completed [20:28:58] [SCROLL] 💓 alive, visible=36...43, rows=51, estHeight=0.0, heightCalls=12 [20:29:02] [MENU] dismissAnyExistingMenu called [20:29:02] [MENU] dismissAnyExistingMenu completed [20:29:02] [SCROLL] 💓 alive, visible=37...43, rows=51, estHeight=0.0, heightCalls=0 [20:29:03] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=15 [20:29:04] [MENU] dismissAnyExistingMenu called [20:29:04] [MENU] dismissAnyExistingMenu completed [20:29:04] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=0 [20:29:05] [SCROLL] 💓 alive, visible=41...48, rows=51, estHeight=0.0, heightCalls=0 [20:29:06] [SCROLL] 💓 alive, visible=40...47, rows=51, estHeight=0.0, heightCalls=2 [20:29:50] [CRASH] Previous session did not exit cleanly - crash detected [20:29:50] [FONT] Roboto fonts loaded successfully: Roboto-Regular [20:29:50] [FONT] ChatFont.regular(18) returns: Roboto-Regular, family: Roboto [20:29:50] [GIPHY] SDK not available - using REST API fallback [20:29:50] [BACKGROUND] Background fetch enabled [20:29:50] [AUTH] Starting PIN authentication [20:29:50] [CLIENT_SIG] Reconnecting on foreground for session: ILUIWU [20:29:50] [CLIENT_SIG] Connecting to session ILUIWU as Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:29:50] [CLEANUP] No old timer messages to delete [20:29:50] [PUSH] APNs token: 6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c [20:29:50] [SECURITY] sceneDidBecomeActive - isAuthenticated=false, didEnterBackground=false [20:29:50] [PUSH_DEBUG] 🟢 App became ACTIVE - resetting badges and triggering pollEventsNow [20:29:50] [PRELOAD] ⚡ Starting message pre-load during authentication (since_id=23850)... [20:29:50] [CLIENT_SIG] WebSocket opened [20:29:50] [CLIENT_SIG] HELLO sent as client for session ILUIWU [20:29:50] [CLIENT_SIG] Connected! clientId=g20RWg06SPPeVwTe [20:29:50] [CLIENT_SIG] Received 1 clients for session 'ILUIWU' (my session: 'ILUIWU') [20:29:50] [CLIENT_SIG] - Laurent (3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF) [20:29:50] [PUSH] register_device.php HTTP 200: {"status":"ok","session_id":"ILUIWU","token":"6c0571d5e4b29f63eac8424c26f3737968330e20febf8cd9a320b0952fc80c1c","role":"viewer","muted":0,"removed_from_other_channels":0} [20:29:50] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [20:29:50] [USER] ✅ User registered successfully [20:29:50] [PUSH] User registration after token update: success [20:29:50] [PRELOAD] No messages or parse error [20:29:51] [PIN_AUTH] Correct PIN [20:29:51] [SECURITY] Restored real session: ILUIWU [20:29:51] [SECURITY] Restored real session: ILUIWU [20:29:52] [SECURITY] Saved real session: ILUIWU [20:29:52] [SCENE] Launched directly to chat view with sessionId: ILUIWU [20:29:52] [AUDIO] ✅ Chat mode - audio will be managed by WebRTCViewer (no microphone) [20:29:52] [UPLOAD_QUEUE] ✅ Database integrity check passed [20:29:52] [UPLOAD_QUEUE] Active background tasks: 6 [20:29:52] [UPLOAD_QUEUE] ✅ Active upload: id=969, file=edc609c733fd329e.jpg, taskId=8, age=3min [20:29:52] [UPLOAD_QUEUE] ✅ Active upload: id=970, file=t_edc609c733fd329e.jpg, taskId=7, age=3min [20:29:52] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=969, file=edc609c733fd329e.jpg, status=uploading, age=69min [20:29:52] [UPLOAD_QUEUE] ⏰ Long-pending upload: id=970, file=t_edc609c733fd329e.jpg, status=uploading, age=69min [20:29:52] [UPLOAD_QUEUE] ⚠️ Found 2 uploads pending for >1 hour [20:29:52] Documents Directory: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents [20:29:52] [UPLOAD_QUEUE] Found 0 pending uploads to resume [20:29:52] [THEME] Applying current theme [20:29:52] [CHAT] Applied day theme (mode: day) [20:29:52] [SECURITY] Saved real session: ILUIWU [20:29:52] [CLIENT_SIG] Setting up client signaling for session: ILUIWU [20:29:52] [CLIENT_SIG] Already connected/connecting to session ILUIWU [20:29:52] [NETWORK] Network monitor started [20:29:52] [NETWORK] Status changed: connected [20:29:52] Did transition [20:29:52] [MODE] 🔍 updateModeUI called - currentTabIndex=0, sessionId=ILUIWU [20:29:52] [VIEWER] Screen lock enabled - normal idle behavior [20:29:52] [QUERY] 🔍 Creating query connection for iOS broadcast: iosILUIWU [20:29:52] [VCC] ========== VideoConnectionClass INIT ========== [20:29:52] [VCC] Session: iosILUIWU, ViewIdx: 0, AgentId: nil [20:29:52] [DATA AUDIO] ========== setupWebRTC() START ========== [20:29:52] [DATA AUDIO] Using data channel for audio - bypassing WebRTC audio device [20:29:52] [DATA AUDIO] Creating encoder/decoder factories... [20:29:52] [CODEC] Viewer - Available video codecs: H264, H264, VP8, VP9, AV1 [20:29:52] [CODEC] Viewer selected encoder: AV1 (best quality) [20:29:52] [DATA AUDIO] Creating RTCPeerConnectionFactory... [20:29:52] [DATA AUDIO] ✅ Factory created [20:29:52] [DATA AUDIO] RTCAudioSession locked [20:29:52] [DATA AUDIO] Set useManualAudio=true, isAudioEnabled=false [20:29:52] [DATA AUDIO] RTCAudioSession unlocked [20:29:52] [DATA AUDIO] Skipping AVAudioSession config - handled by DataChannelAudioPlayer [20:29:52] [VCC] Initial ICE servers: ["stun:stun.l.google.com:19302", "turn:crivello.dyndns.org:3478?transport=udp", "turn:crivello.dyndns.org:3478?transport=tcp", "turns:crivello.dyndns.org:5349?transport=tcp"] [20:29:52] [WS] Creating new WebSocket - isQueryOnly=false, connectionStr=iosILUIWU [20:29:52] [WS] Opening session at ws://crivello.dyndns.org:8081/ [20:29:52] [QUERY] ✅ tempQueryConnection created for iosILUIWU [20:29:52] [VIEWER_INIT] Already have 50 messages - just filtering for tab [20:29:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:29:52] [EVENT_POLL] Event polling disabled - using WebSocket events instead [20:29:52] [ORIENTATION] Updated pagingScrollView height to 247.5 for width 440.0 [20:29:52] Did transition [20:29:52] [TABLEVIEW] cellForRowAt index 0 out of bounds (count=0) [20:29:52] [USER] Registering user: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, name: Laurent [20:29:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:29:52] [RELOAD_TAB] ⏳ Already pending, waiting for debounce [20:29:52] [GALLERY_DB] Loading ALL media messages for session: ILUIWU [20:29:52] [READBY_OPT] No message IDs to fetch - skipping server call [20:29:52] [GALLERY_DB] Raw datesent for msg 23841: '2026-03-06 17:44:55' [20:29:52] [GALLERY_DB] Raw datesent for msg 23785: '2026-03-06 13:35:46' [20:29:52] [GALLERY_DB] Raw datesent for msg 23779: '2026-03-06 11:27:34' [20:29:52] [USER] ✅ User registered successfully [20:29:52] [USER] User registration successful [20:29:52] [GALLERY_DB] ✅ Loaded 778 media messages [20:29:52] [MIGRATION] No messages need sender_name backfill [20:29:52] [INCREMENTAL_SYNC] 🔄 Starting incremental refresh, currentMsgCount=50 [20:29:52] [PUSH_TRACE] 📡 INCREMENTAL: maxLocalId (from DB)=23850, maxMemoryId=23850 [20:29:52] [INCREMENTAL_SYNC] 📡 Fetching messages since ID 23850 [20:29:52] [INCREMENTAL_SYNC] ✅ No new messages [20:29:52] [GALLERY] Filtered 778 -> 735 (only with local thumbnails) [20:29:52] [GALLERY] First 5 after sort (newest first): [20:29:52] [GALLERY] 0: id=23841, date=2026-03-06 17:44:55, file=edc609c733fd329e.jpg [20:29:52] [GALLERY] 1: id=23779, date=2026-03-06 11:27:34, file=c4ff0b7976fae65e.jpg [20:29:52] [GALLERY] 2: id=23774, date=2026-03-06 09:50:21, file=f88b3be25ddb8d49.jpg [20:29:52] [GALLERY] 3: id=23771, date=2026-03-06 09:41:12, file=c47644bab3201927.jpg [20:29:52] [GALLERY] 4: id=23770, date=2026-03-06 09:40:34, file=7130d4ad80502d34.mov [20:29:52] [SCROLL] 💓 alive, visible=0...0, rows=0, estHeight=0.0, heightCalls=0 [20:29:52] [SCROLL_BTN] Showing button - 32pt from bottom > half 22pt [20:29:52] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=0 [20:29:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846] [20:29:52] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [20:29:52] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841] [20:29:52] [RELOAD_TAB] 📊 Building chatRows from 50 messages [20:29:52] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [20:29:52] [EMOJI] ✅ Loaded 451 emoji-to-GIF mappings [20:29:52] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=60 [20:29:52] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [20:29:52] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [20:29:52] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:29:52] [SERVER] Starting reconnect polling (5s interval) [20:29:52] [ICONS] Screen width: 440.0, Tab spacing: 75.5 [20:29:52] [ICONS] Offset applied: -14.6 [20:29:52] [ICONS] New left margin: 11.2, New right margin: 11.3 [20:29:52] [READBY_ENRICH] Enriched 0/0 unsettled messages with readBy data [20:29:52] [ICONS] Chat center: (31.2, 87.0) [20:29:52] [ICONS] Gallery center: (106.7, 87.0), deltaX: 75.5 [20:29:52] [ICONS] Camera center: (182.2, 87.0), deltaX: 75.5 [20:29:52] [ICONS] Settings center: (257.7, 87.0), deltaX: 75.5 [20:29:52] [ICONS] Lock centerX: 333.2, deltaX from Settings: 75.5 [20:29:52] [ICONS] Bell centerX: 408.7, deltaX from Lock: 75.5 [20:29:52] [ICONS] LEFT MARGIN (screen left to Chat left): 11.2 [20:29:52] [ICONS] RIGHT MARGIN (Bell right to screen right): 11.3 [20:29:52] [ICONS] Screen width: 440.0 [20:29:52] [WS] WebSocket ACTUALLY OPENED - isQueryOnly=true, connectionStr=iosILUIWU [20:29:52] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [20:29:52] Trying API base: https://crivello.dyndns.org:443/WebRTC/public/ [20:29:52] Token POST → https://crivello.dyndns.org:443/WebRTC/public/new_session.php?sid=iosILUIWU [20:29:52] [RELOAD_TAB] 📢 reloadMessagesForCurrentTab (debounced) called, msgs=50 [20:29:52] [PURGE] ⚠️ Media cache purge DISABLED for debugging [20:29:52] [UNSENT_RETRY] Checking for unsent messages... [20:29:52] [UPLOAD_RECOVERY] ========== CHECKING FOR MISSING UPLOADS ========== [20:29:52] [UPLOAD_RECOVERY] User ID: 3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF [20:29:52] [UPLOAD_RECOVERY] Session: ILUIWU [20:29:52] [UPLOAD_RECOVERY] ✅ No stuck uploads found [20:29:52] [UPLOAD_RECOVERY] Checking recent media messages on server... [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23841, file=edc609c733fd329e.jpg, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23779, file=c4ff0b7976fae65e.jpg, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23774, file=f88b3be25ddb8d49.jpg, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23771, file=c47644bab3201927.jpg, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23744, file=97bbf40ef921d843.heic, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23736, file=fbad63a366619f78.jpg, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23730, file=2a6bf94086b8a418.jpg, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23723, file=855f3f702ef23eef.jpg, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] 📋 Recent media: msgId=23714, file=98e452dabbed8463.heic, upload_status=complete [20:29:52] [UPLOAD_RECOVERY] Verifying 9 media files exist on server... [20:29:52] [PENDING_UPLOAD] Total pending upload messages: 0 [20:29:52] [UNSENT_RETRY] No unsent messages found [20:29:52] new_session POST ok: token len=157 [20:29:52] HELLO → sent (fetched token, role=query) [20:29:52] [UPLOAD_RECOVERY] ❌ Missing on server, local exists: edc609c733fd329e.jpg [20:29:52] [SIG] hello_ok received for query connection - ready to query agents [20:29:52] [SIG] get_agents request sent for sessionId=ILUIWU [20:29:52] [SIG] get_agents request sent for sessionId=iosILUIWU [20:29:52] [SERVER] Stopped reconnect polling [20:29:52] [SIG] agents_list received: [] [20:29:52] [SIG] agents_list received: [] [20:29:52] [UPLOAD_RECOVERY] 🔄 Re-uploading 1 missing files... [20:29:52] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [20:29:52] [UPLOAD_ENQUEUE] 📥 File: edc609c733fd329e.jpg [20:29:52] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/edc609c733fd329e.jpg [20:29:52] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [20:29:52] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.8 MB [20:29:52] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: edc609c733fd329e.jpg already in queue (id=969, status=uploading) [20:29:52] [UPLOAD_RECOVERY] ✅ Re-uploaded: edc609c733fd329e.jpg [20:29:52] [UPLOAD_ENQUEUE] 📥 ========== ENQUEUE UPLOAD ========== [20:29:52] [UPLOAD_ENQUEUE] 📥 File: t_edc609c733fd329e.jpg [20:29:52] [UPLOAD_ENQUEUE] 📥 Local path: /var/mobile/Containers/Data/Application/9AE77306-0C2C-423E-B714-54DCA6AD0B58/Documents/MediaCache/t_edc609c733fd329e.jpg [20:29:52] [UPLOAD_ENQUEUE] 📥 Session: ILUIWU [20:29:52] [UPLOAD_ENQUEUE] 📥 File exists: true, size: 0.0 MB [20:29:52] [UPLOAD_QUEUE] ⚠️ Duplicate prevented: t_edc609c733fd329e.jpg already in queue (id=970, status=uploading) [20:29:52] [UPLOAD_RECOVERY] ✅ Thumbnail re-uploaded: t_edc609c733fd329e.jpg [20:29:52] [RELOAD_TAB] ⚡ performReload ENTER, skip=false, estHeight=0.0, heightCalls=70 [20:29:52] [RELOAD_TAB] 🔄 reloadMessagesForCurrentTab called, allMsgsCount=50, first5Ids=[23850, 23849, 23848, 23847, 23846] [20:29:52] [PUSH_TRACE] 📺 RELOAD: allMessagesWithReadBy has 50 messages [20:29:52] [PUSH_TRACE] 📺 RELOAD: First 10 IDs: [23850, 23849, 23848, 23847, 23846, 23845, 23844, 23843, 23842, 23841] [20:29:52] [RELOAD_TAB] 📊 Building chatRows from 50 messages [20:29:52] [RELOAD_TAB] 📊 Built 51 chatRows, estHeight=0.0 [20:29:52] [CELL_UPLOAD] configure: msgId=23841, file=edc609c733fd329e.jpg, senderId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, myUserId=3B8A4F00-5ABD-47E5-8C88-F15DA9EF83AF, isMyMessage=true, hasFilename=true, isGiphy=false, uploadStatus=0 [20:29:52] [CELL_UPLOAD] → no active progress, using msg.uploadStatus=0 → complete [20:29:52] [CELL_UPLOAD] setUploadStatus(complete, progress=0.0) for file=edc609c733fd329e.jpg, overlayExists=true [20:29:52] [RELOAD_TAB] ⚡ performReload LAYOUT DONE, heightCalls=61 [20:29:54] [LOG] Long press on chat icon detected! Triggering log upload... [20:29:54] [LOG-PROMPT] ====== promptForLogDescription START ====== [20:29:54] [LOG-PROMPT] presentedVC=nil [20:29:54] [LOG-PROMPT] isViewLoaded=true, view.window=YES [20:29:54] [LOG-PROMPT] inputField.isFirstResponder=false [20:29:54] [LOG-PROMPT] allowKeyboardDismiss BEFORE=false [20:29:54] [LOG-PROMPT] allowKeyboardDismiss set to TRUE [20:29:54] [LOG-PROMPT] view.endEditing(true) returned true [20:29:54] [LOG-PROMPT] inputField.isFirstResponder AFTER endEditing=false [20:29:54] [LOG-PROMPT] allowKeyboardDismiss AFTER endEditing=true [20:29:54] [LOG-PROMPT] No keyboard active — presenting alert immediately [20:29:54] [LOG-ALERT] ---- presentLogDescriptionAlert about to present ---- [20:29:54] [LOG-ALERT] inputField.isFirstResponder=false, allowKeyboardDismiss=true [20:29:54] [LOG-ALERT] final endEditing returned=true, inputField.isFirstResponder AFTER=false [20:29:54] [LOG-ALERT] allowKeyboardDismiss AFTER final endEditing=true [20:29:54] [LOG-ALERT] presentedVC=nil [20:29:54] [LOG-ALERT] ---- present completion handler fired ---- [20:29:54] [LOG-ALERT] inputField.isFirstResponder=false [20:29:54] [LOG-ALERT] textView.window=YES [20:29:54] [LOG-ALERT] textView.canBecomeFirstResponder=true [20:29:54] [LOG-ALERT] textView.isEditable=true, isUserInteractionEnabled=true [20:29:54] [LOG-ALERT] textView.frame=(16.0, 64.0, 288.0, 100.0), isHidden=false, alpha=1.0 [20:29:54] [LOG-ALERT] textView.superview=Optional("<_UIAlertControllerPhoneTVMacView: 0x11b99c500; frame = (60 373; 320 238); layer") [20:29:55] [LOG-ALERT] textView.becomeFirstResponder()=true [20:29:55] [LOG-ALERT] ---- present completion handler done ---- [20:29:55] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=61 [20:29:59] [SCROLL] 💓 alive, visible=41...50, rows=51, estHeight=0.0, heightCalls=0 [20:30:00] [LOG] Upload tapped with description: 'Unavailable2' [20:30:00] [LOG] Uploading log as '2026-03-06-20-30-unavailable2-Laurent.log' (1.2 MB) to server... [20:30:01] [LOG] Upload HTTP status: 200 [20:30:01] [LOG] Upload successful: 2026-03-06-20-30-unavailable2-Laurent.log